Informatyka2085Zaktualizowano 7 paź 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!

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!

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!

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!

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!

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.

12368
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 SP256
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.

1269477
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 SP106526
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.

33109
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.

1148556

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 176849
Informatyka

Sieci komputerowe - notatka

Notatka na temat sieci komputerowe

11893
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.

1217359
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.

16018
Informatyka

Komputer, urządzenia cyfrowe i sieci komputerowe

Notatka z informatyki dla 1 klasy liceum/technikum - poziom podstawowy. Przygotowałam ją na podstawie podręcznika z wydawnictwa MiGra

13714
Informatyka

Zadania i Typy Systemów Operacyjnych

Odkryj kluczowe aspekty systemów operacyjnych, w tym ich budowę, główne zadania oraz różne typy, takie jak systemy czasu rzeczywistego i sieciowe. Dowiedz się o trybach pracy, warstwach systemu, oraz roli powłoki i jądra. Idealne dla studentów informatyki i technologii komputerowej.

1112235
Informatyka

Kluczowe Komponenty Komputera

Zrozumienie kluczowych komponentów komputera, takich jak procesor, płyta główna, pamięć RAM, zasilacz, karta graficzna oraz dyski twarde. Dowiedz się, jak te elementy współpracują, aby zapewnić wydajność i funkcjonalność systemu. Idealne dla studentów informatyki i entuzjastów technologii. Typ: Podsumowanie.

196217
Informatyka

Podstawy Sieci Komputerowych

Zrozumienie kluczowych definicji i protokołów w sieciach komputerowych, w tym DHCP, DNS, TCP, UDP oraz różnic między LAN, WAN i MAN. Idealne dla studentów informatyki i techników informatycznych. Materiał zawiera istotne informacje o komunikacji w sieciach oraz strukturze Internetu.

8 SP4162179
Informatyka

Zadania systemów operacyjnych

Przegląd kluczowych zadań systemów operacyjnych w kontekście systemów komputerowych. Dowiedz się o budowie systemu operacyjnego, zarządzaniu procesami, pamięcią oraz komunikacji z urządzeniami. Idealne dla studentów informatyki. Typ: prezentacja.

1234083

Najpopularniejsze notatki

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.

314 348329
Język polski

Mity Greckie: Kluczowe Opowieści

Zanurz się w fascynujący świat mitologii greckiej. Odkryj kluczowe mity, takie jak historia Prometeusza, Demeter i Persefony, oraz Syzyfa. Poznaj bogów, herosów i ich niezwykłe przygody, które kształtowały wierzenia starożytnych Greków. Idealne dla studentów literatury i mitologii.

137 7181230
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

111 828209
Język polski

Mity Greckie i Bogowie

Zanurz się w fascynujący świat mitologii greckiej, odkrywając kluczowe mity, takie jak opowieści o Perseuszu, Edypie, Prometeuszu oraz bogach olimpijskich. Ta notatka zawiera szczegółowe opisy postaci, ich atrybutów oraz znaczenie mitów w kontekście kultury greckiej. Idealna dla studentów literatury i mitologii. Typ: streszczenie.

125 4371238
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!

425 0891256
Język angielski

Czasy w języku angielskim na egzamin ósmoklasisty.

Wszystkie czasy na egzamin ósmoklasisty z języka angielskiego (2025)!<3

8 SP14 074375
Język polski

Dżuma: Tematy i Motywy

Analiza powieści 'Dżuma' Alberta Camusa, obejmująca kluczowe tematy, takie jak dżuma jako symbol zła, absurd oraz wojny. Zawiera omówienie postaci, ich postaw wobec epidemii, znaczenie tytułu oraz kazania ojca Paneloux. Idealne dla studentów literatury i filozofii, poszukujących głębszego zrozumienia utworu.

345 9961177
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 SP6682197
Język polski

Edelman i Powstanie w Getcie

Analiza lektury 'Zdążyć przed Panem Bogiem' Hanny Krall, koncentrująca się na tematach takich jak etyka, cierpienie, oraz heroizm w kontekście powstania w warszawskim getcie. Opracowanie omawia genezę, problematykę oraz kluczowe postacie, w tym Marka Edelmana, ukazując złożoność wyborów moralnych w obliczu Holokaustu.

314 327339

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.