Informatyka2079Zaktualizowano 16 wrz 20265 strony

Algorytmika i Programowanie w Python dla Początkujących

Zgłoś
user profile picture
oliwka;)@oliwkapra
Poznaj kluczowe koncepcje informatyki, od systemów liczbowych po rekurencję i fraktale! W tych notatkach znajdziesz praktyczne informacje o konwersji między systemami liczbowymi, algorytmach, programowaniu żółwia w Pythonie i tworzeniu fascynujących struktur matematycznych.
algorytmika i programowanie w python – strona 1

Zarejestruj się, aby zobaczyć notatkę.
To nic nie kosztuje!

  • Dostęp do wszystkich materiałów
  • Popraw swoje oceny
  • Dołącz do milionów studentów

Rejestrując się akceptujesz Warunki korzystania z usługi i Politykę prywatności.

Systemy liczbowe i metoda połowienia

System dwójkowy używa tylko cyfr 0 i 1 do zapisu liczb. Żeby zamienić liczbę z systemu dziesiętnego na dwójkowy, dzielimy ją przez 2 aż do uzyskania 0, zapisując reszty z dzielenia od dołu do góry. Na przykład 29₁₀ = 11101₂.

Odwrotna konwersja (z dwójkowego na dziesiętny) jest równie prosta. Każda pozycja w liczbie dwójkowej odpowiada kolejnym potęgom liczby 2. Na przykład 10001001₂ = 128 + 8 + 1 = 137₁₀.

Metoda połowienia to algorytm służący do znajdowania miejsca zerowego funkcji w określonym przedziale (a,b). Polega na dzieleniu przedziału na połowy i sprawdzaniu, w której części znajduje się miejsce zerowe. Algorytm powtarzamy, aż osiągniemy żądaną dokładność E.

💡 Wskazówka: Metodę połowienia możesz wykorzystać nie tylko do znajdowania miejsc zerowych, ale również do obliczania pierwiastków liczb!

algorytmika i programowanie w python – strona 2

Zarejestruj się, aby zobaczyć notatkę.
To nic nie kosztuje!

  • Dostęp do wszystkich materiałów
  • Popraw swoje oceny
  • Dołącz do milionów studentów

Rejestrując się akceptujesz Warunki korzystania z usługi i Politykę prywatności.

Fraktale i programowanie żółwia

Fraktale to fascynujące obiekty matematyczne, które powstają przez nieskończone powtarzanie tej samej operacji. Ich charakterystyczną cechą jest samopodobieństwo – mały fragment ma taki sam kształt jak całość. Popularne przykłady to trójkąt Sierpińskiego, krzywa Kocha czy smok Heighwaya.

Do rysowania fraktali świetnie nadaje się moduł turtle w Pythonie. Podstawowe komendy to: fd(n) (do przodu), bk(n) (do tyłu), rt(alfa) (skręt w prawo), lt(alfa) (skręt w lewo), pu() (podniesienie pisaka) i pd() (opuszczenie pisaka).

Rekurencja to potężna technika programowania, polegająca na wywoływaniu funkcji przez samą siebie. Rozwiązujemy problem dzieląc go na mniejsze, podobne problemy, aż dojdziemy do przypadku podstawowego. Rekurencja daje zwięzły kod, ale może być nieefektywna czasowo i pamięciowo.

⚠️ Uważaj: Przy pisaniu funkcji rekurencyjnych zawsze pamiętaj o warunku końcowym, który zatrzyma wywoływanie - w przeciwnym razie twój program nigdy się nie zakończy!

algorytmika i programowanie w python – strona 3

Zarejestruj się, aby zobaczyć notatkę.
To nic nie kosztuje!

  • Dostęp do wszystkich materiałów
  • Popraw swoje oceny
  • Dołącz do milionów studentów

Rejestrując się akceptujesz Warunki korzystania z usługi i Politykę prywatności.

Rekurencja w praktyce

Rekurencja świetnie sprawdza się przy obliczaniu silni. Na przykład 4! możemy rozłożyć na 4·3!, a 3! na 3·2! itd., aż dojdziemy do przypadku podstawowego 0! = 1. Następnie obliczamy wszystkie wartości wstecz.

Podobnie działa rekurencyjne obliczanie potęg. Na przykład 2⁴ = 2³·2, a 2³ = 2²·2 itd., aż do 2⁰ = 1. Ten schemat pozwala na łatwe zaimplementowanie funkcji potęgującej.

Ciąg Fibonacciego to klasyczny przykład wykorzystania rekurencji. Definiujemy go jako:

  • F(1) = 1, F(2) = 1 (przypadki podstawowe)
  • Fnn = Fn−1n-1 + Fn−2n-2 dla n > 2

🔍 Ciekawostka: Ciąg Fibonacciego występuje w naturze w wielu miejscach - od układu liści na łodydze po spirale w muszlach czy układ nasion słonecznika!

algorytmika i programowanie w python – strona 4

Zarejestruj się, aby zobaczyć notatkę.
To nic nie kosztuje!

  • Dostęp do wszystkich materiałów
  • Popraw swoje oceny
  • Dołącz do milionów studentów

Rejestrując się akceptujesz Warunki korzystania z usługi i Politykę prywatności.

Implementacje algorytmów w Pythonie

Funkcja konwertująca liczbę z systemu dwójkowego na dziesiętny mnoży każdą cyfrę przez odpowiednią potęgę dwójki i sumuje wyniki:

def na10(dana):
    pom = 0
    for i in range(len(dana)):
        x = int(dana[-i-1])
        pom = pom + x * 2**i
    return pom

Konwersja z systemu dziesiętnego na dwójkowy wykorzystuje dzielenie z resztą:

def na2(liczba):
    if liczba == 0:
        return 0
    pom = ""
    while liczba > 0:
        pom = str(liczba % 2) + pom
        liczba = liczba // 2
    return pom

Do rysowania drzewa binarnego używamy rekurencji i modułu turtle. Funkcja rysuje drzewo o określonej wysokości i liczbie poziomów:

💻 Praktyka czyni mistrza: Spróbuj zmodyfikować kod drzewa binarnego, zmieniając kąty rozgałęzień lub dodając kolory - otrzymasz zupełnie nowe wzory!

algorytmika i programowanie w python – strona 5

Zarejestruj się, aby zobaczyć notatkę.
To nic nie kosztuje!

  • Dostęp do wszystkich materiałów
  • Popraw swoje oceny
  • Dołącz do milionów studentów

Rejestrując się akceptujesz Warunki korzystania z usługi i Politykę prywatności.

Krzywa Kocha i zastosowania praktyczne

Krzywa Kocha to popularny fraktal, który możemy narysować rekurencyjnie:

def koch(bok, n):
    if n == 0:
        fd(bok)
        return
    koch(bok/3, n-1)
    lt(60)
    koch(bok/3, n-1)
    rt(120)
    koch(bok/3, n-1)
    lt(60)
    koch(bok/3, n-1)

Z krzywej Kocha możemy stworzyć płatek Kocha, rysując trzy krzywe Kocha połączone pod kątem 120 stopni:

def platek(n):
    bok = 300
    lt(60)
    for i in range(3):
        koch(bok, n)
        rt(120)
    rt(60)

Praktycznym zastosowaniem metody połowienia jest funkcja znajdująca miejsce zerowe funkcji z zadaną dokładnością:

def miejsce_zerowe(eps):
    a = 0
    b = 100
    while abs(b-a) > eps:
        c = (a+b)/2
        if f(c) > 0:
            b = c
        else:
            a = c
    return c

🎯 Zastosowanie: Metoda połowienia, chociaż nie jest najszybsza, jest bardzo stabilna i niezawodna - dlatego używa się jej w wielu praktycznych sytuacjach, od znajdowania pierwiastków po optymalizację parametrów.

Myśleliśmy, że nigdy nie zapytasz...

Nasz asystent AI jest specjalnie dostosowany do potrzeb uczniów. W oparciu o miliony treści, które mamy na platformie, możemy udzielać uczniom naprawdę znaczących i trafnych odpowiedzi. Ale nie chodzi tylko o odpowiedzi, towarzysz prowadzi również uczniów przez codzienne wyzwania związane z nauką, ze spersonalizowanymi planami nauki, quizami lub treściami na czacie i 100% personalizacją opartą na umiejętnościach i rozwoju uczniów.

Aplikację możesz pobrać z Google Play i Apple Store.

Tak, masz całkowicie darmowy dostęp do wszystkich notatek w aplikacji, możesz w każdej chwili rozmawiać z Ekspertami lub ich obserwować. Możesz użyć punktów, aby odblokować pewne funkcje w aplikacji, które również możesz otrzymać za darmo. Dodatkowo oferujemy usługę Knowunity Premium, która pozwala na odblokowanie większej liczby funkcji.

Podobne notatki

Informatyka

Generowanie Liczb Losowych

Zgłębiaj moduł random w Pythonie, który umożliwia generowanie liczb losowych, wybieranie próbek oraz losowe permutacje. Dowiedz się, jak używać funkcji takich jak uniform, randint, sample i shuffle, aby efektywnie manipulować danymi. Idealne dla studentów programowania i analizy danych.

12338
Informatyka

Zarządzanie Zmiennymi w Pythonie

Odkryj, jak przechowywać dane w Pythonie, w tym zmienne, typy danych (stringi, liczby, boolean) oraz operator przypisania. Dowiedz się, jak używać funkcji input() do zbierania danych od użytkownika. Idealne dla początkujących programistów.

8 SP251
Informatyka

Podstawy Pythona

Odkryj podstawowe funkcje Pythona, w tym potęgowanie, deklarowanie zmiennych, wczytywanie danych oraz konwersję typów. Idealne dla początkujących programistów. Zawiera przykłady kodu i wyjaśnienia kluczowych koncepcji.

1268077
Informatyka

Modele Baz Danych

Zrozumienie różnych modeli baz danych, w tym modelu relacyjnego, hierarchicznego i obiektowego. Dowiedz się, jak struktura, ograniczenia i operacje wpływają na projektowanie baz danych. Idealne dla studentów informatyki i programowania. Typ: Podsumowanie.

33079
Informatyka

Relacyjne Bazy Danych

Zrozumienie relacyjnych baz danych: definicje, typy relacji (jeden do jednego, jeden do wielu, wiele do wielu), klucze podstawowe i obce, oraz modele baz danych. Idealne dla studentów informatyki i osób pragnących zgłębić temat baz danych.

8 SP106325
Informatyka

Branżowe Bramki Logiczne

Zrozumienie bramek logicznych, operatorów logicznych oraz tabel prawdy. Materiał przydatny dla studentów kierunku technik informatyk. Obejmuje AND, OR, NOT, NAND, NOR oraz EXOR. Idealne do nauki podstaw logiki boole'a.

1148256

Najpopularniejsze notatki: Matematyka

Matematyka

Właściwości funkcji liniowej

Zrozumienie funkcji liniowej: definicja, współczynniki a i b, monotoniczność oraz sposób wyznaczania równania prostej. Dowiedz się, jak określić dziedzinę, zbiór wartości oraz punkty przecięcia z osiami. Idealne dla uczniów przygotowujących się do egzaminów z matematyki.

130 059849
Informatyka

Systemy Liczbowe: Działania

Zrozumienie systemów liczbowych: dwójkowy, dziesiętny i szesnastkowy. Praktyczne przykłady działań arytmetycznych, konwersji między systemami oraz kluczowe zasady dodawania, odejmowania, mnożenia i dzielenia. Idealne dla uczniów przygotowujących się do egzaminów.

15347
Informatyka

Podstawy Pythona

Odkryj podstawowe funkcje Pythona, w tym potęgowanie, deklarowanie zmiennych, wczytywanie danych oraz konwersję typów. Idealne dla początkujących programistów. Zawiera przykłady kodu i wyjaśnienia kluczowych koncepcji.

1268077
Informatyka

Fundamenty Sieci Komputerowych

Zrozum podstawowe koncepcje sieci komputerowych w tej prezentacji. Obejmuje rodzaje sieci (LAN, MAN, WAN), topologie (fizyczne i logiczne), media transmisyjne (kable miedziane i światłowodowe), modele warstwowe (ISO/OSI i TCP/IP) oraz protokoły aplikacji (HTTP, FTP). Idealne dla studentów i osób pragnących zgłębić temat komunikacji sieciowej.

1211959
Informatyka

Systemy Liczbowe w Informatyce

Zrozumienie systemów liczbowych, w tym systemów binarnego, ósemkowego, dziesiętnego i szesnastkowego. Dowiedz się, jak konwertować liczby między tymi systemami oraz zastosowania w informatyce. Idealne dla studentów informatyki i osób przygotowujących się do egzaminów.

13503
Informatyka

Terminologia Poligraficzna

Zbiór kluczowych pojęć poligraficznych uporządkowanych alfabetycznie, idealny dla studentów grafiki i poligrafii cyfrowej. Poznaj terminologię z zakresu typografii, technik artystycznych oraz systemów znaków, aby wzbogacić swoją wiedzę i umiejętności w dziedzinie poligrafii.

262538
Informatyka

Algorytmy i Rozwiązywanie Problemów

Zgłębiaj zasady projektowania algorytmów oraz ich zastosowanie w rozwiązywaniu problemów. Ta notatka zawiera szczegółowy opis algorytmu uporządkowanego, schematów blokowych oraz języków programowania. Idealna dla studentów informatyki i programowania, którzy chcą zrozumieć podstawy algorytmiki.

14949

Najpopularniejsze notatki

Biologia

Budowa i funkcje skóry

Szczegółowa notatka z biologii dla klas 7, podręcznik wydawnictwa nowej ery - Puls życia. Temat: Budowa i funkcje skóry.

7 SP5849181
Język polski

Antyk / Starożytność

ramy czasowe, cywilizację, sztuka antyczna, cechy literatury, szkoły filozoficzne, filozofowie, wzorce osobowe, budowa teatru, budowa tragedii antycznej i jej cechy

19216164
Język polski

Inny Świat: Wspomnienia z Jercewa

Odkryj 'Inny Świat' Gustawa Herlinga-Grudzińskiego, autobiograficzną powieść dokumentalną, która ukazuje brutalne realia życia w radzieckim obozie pracy. Autor, oskarżony o szpiegostwo, dzieli się swoimi przeżyciami, refleksjami na temat ludzkiej psychiki oraz relacjami z innymi więźniami. Poznaj głębokie analizy moralności, cierpienia i nadziei w nieludzkich warunkach. Idealne dla studentów literatury i historii, którzy pragną zrozumieć kontekst wojenny i totalitarny.

312 394287
Język polski

Części Mowy: Odmienne i Nieodmienne

Zrozumienie części mowy w języku polskim: szczegółowe omówienie odmiennej (rzeczownik, przymiotnik, czasownik, liczebnik, zaimek) oraz nieodmiennej (przysłówek, spójnik, przyimek, partykuła, wykrzyknik) części mowy. Idealne dla uczniów przygotowujących się do egzaminów lub chcących pogłębić wiedzę o gramatyce.

6 SP31 6371234
Język angielski

Czasy w Języku Angielskim

Kompleksowe notatki dotyczące podstawowych czasów w języku angielskim, idealne dla maturzystów 2025. Zawierają szczegółowe omówienie Present Simple, Present Continuous, Past Simple, Past Perfect i innych, z przykładami i zasadami użycia. Przygotuj się skutecznie do egzaminu z tym 46-stronicowym materiałem!

422 9551194
Język polski

Analiza Lalki Prusa

Szczegółowa analiza powieści 'Lalka' Bolesława Prusa, obejmująca kompozycję, problematykę, głównych bohaterów oraz kontekst społeczny Warszawy lat 70. i 80. XIX wieku. Zawiera omówienie miłości Wokulskiego do Izabeli Łęckiej, różnorodności narracji oraz otwartości zakończenia. Idealna dla studentów literatury i miłośników polskiej prozy.

2135 9004368
Język polski

Młoda Polska: Kluczowe Tematy

Odkryj istotne cechy i motywy epoki Młodej Polski, w tym dekadentyzm, sztukę dla sztuki oraz wpływ filozofii Nietzschego i Schopenhauera. Analiza najważniejszych twórców, ich dzieł oraz typów bohaterów. Idealne dla studentów literatury i kultury polskiej.

1118 2965033
Język polski

Walka o Godność w Getcie

Analiza 'Zdążyć przed Panem Bogiem' Hanny Krall, koncentrująca się na powstaniu w warszawskim getcie oraz dążeniu do godnej śmierci. Obejmuje kluczowe wydarzenia, postacie oraz filozoficzne refleksje dotyczące ludzkiej motywacji i cierpienia. Typ: reportaż.

1112 9085257
Język polski

Makbet: Analiza Tragedii Szekspira

Odkryj kluczowe cechy dramatu 'Makbet' Williama Szekspira, w tym złamanie zasady decorum, psychologię postaci oraz tematykę zbrodni i ambicji. Zrozum, jak Szekspir przekształca klasyczną tragedię, wprowadzając elementy fantastyki i psychologii. Idealne dla uczniów i studentów literatury. Typ: analiza literacka.

1106 2584787

Zobacz, co mówią o nas nasi użytkownicy. Pokochali nas, pokochasz też i Ty.

4.6/5App Store
4.7/5Google Play
Stefan Sużytkownik iOS

Aplikacja jest bardzo prosta i dobrze przemyślana. Do tej pory znalazłem wszystko, czego szukałem i mogłem się wiele nauczyć z innych notatek! Na pewno wykorzystam aplikację do pomocy przy robieniu prac domowych! No i oczywiście bardzo pomaga też jako inspiracja do robienia swoich notatek.

Samantha Klichużytkownik Androida

Ta aplikacja jest naprawdę świetna. Jest tak wiele notatek i pomocnych informacji [...]. Moim problematycznym przedmiotem jest język niemiecki, a w aplikacji jest w czym wybierać. Dzięki tej aplikacji poprawiłam swój niemiecki. Polecam ją każdemu.

Annaużytkownik iOS

Wow, jestem w szoku. Właśnie wypróbowałam aplikację, ponieważ widziałam ją kilka razy reklamowaną na TikToku jestem absolutnie w szoku. Ta aplikacja jest POMOCĄ, której potrzebujesz w szkole i przede wszystkim oferuje tak wiele rzeczy jak notatki czy streszczenia, które są BARDZO pomocne w moim przypadku.