Liceum Klasa III 45 minut PP: I-V | s. 342-347

Lekcja 29: Powtorzenie calosciowe - podsumowanie 3 lat nauki

Kompleksowe powtorzenie materialu z 3 lat nauki informatyki w liceum

📋 Podstawa programowa: I-V
maturapodsumowaniepowtorzenie
00:00
Wprowadzenie
5 min
00:05
Powtorzenie
25 min
00:30
Cwiczenia
10 min
00:40
Podsumowanie
5 min
📚

Teoria

Podsumowanie 3 lat nauki informatyki

Przez trzy lata nauki informatyki w liceum zdobyles/as szerokie kompetencje. Przypomnijmy sobie najwazniejsze zagadnienia z kazdego dzialu.

Wskazowka: Uzywaj tego powtorzenia jako checklisty. Zaznacz tematy, ktore dobrze znasz, i te, ktore wymagaja dodatkowego powtorzenia przed sprawdzianem koncowym.

DZIAL I: Myslenie komputacyjne i algorytmy

Klasa I - Podstawy

  • Myslenie komputacyjne - etapy rozwiazywania problemow: dekompozycja, abstrakcja, rozpoznawanie wzorcow, projektowanie algorytmu
  • Systemy liczbowe - dziesietny, dwojkowy, osemkowy, szesnastkowy, konwersje
  • Algorytmy na liczbach - NWD (Euklides), NWW, badanie pierwszosci, rozkad na czynniki
  • Algorytmy na tekstach - szyfr Cezara, wyszukiwanie wzorca
  • Algorytmy sortowania - babelkowe, przez wstawianie, przez wybieranie
  • Ciag Fibonacciego - iteracja vs rekurencja vs memoizacja

Klasa II - Rozszerzenie

  • Wyszukiwanie - liniowe vs binarne, zlozonosc O(n) vs O(log n)
  • Rekurencja - definicja, warunek stopu, przyklad: silnia, Fibonacci, potegowanie
  • Zlozonosc obliczeniowa - O(1), O(n), O(n log n), O(n2), O(2n)
  • Struktury danych - lista, stos, kolejka, slownik

Klasa III - Powtorzenie i zastosowanie

  • Powtorzenie algorytmow w kontekscie projektow
  • Porownywanie efektywnosci algorytmow

DZIAL II: Programowanie

  • Podstawy Pythona - zmienne, typy danych, operatory, print(), input()
  • Instrukcje warunkowe - if, elif, else, operatory logiczne
  • Petle - for, while, break, continue, range()
  • Funkcje - def, parametry, return, docstringi, zasieg zmiennych
  • Listy i napisy - indeksowanie, slicing, metody, list comprehension
  • Slowniki i zbiory - klucz-wartosc, metody, iteracja
  • Praca z plikami - open(), read(), write(), with, CSV, JSON
  • Obsluga bledow - try, except, finally, raise
  • Moduly i biblioteki - import, random, math, os, datetime

DZIAL III: Technologie informacyjne

  • Dokumenty tekstowe - formatowanie, style, spis tresci, bibliografia
  • Arkusze kalkulacyjne - formuly, funkcje, wykresy, tabele przestawne
  • Prezentacje multimedialne - Canva, Prezi, Google Slides, interaktywnosc
  • Bazy danych - SQL, SELECT, INSERT, WHERE, JOIN, relacje
  • Grafika komputerowa - rastrowa vs wektorowa, formaty, kompresja
  • HTML/CSS - struktura strony, selektory, flexbox, responsive design

DZIAL IV: Spoleczenstwo informacyjne

  • Bezpieczenstwo cyfrowe - hasla, phishing, malware, szyfrowanie
  • Prawo autorskie - licencje, Creative Commons, dozwolony uzytek, RODO
  • Netykieta i etyka - zasady zachowania w sieci, cyberprzemoc
  • Wyszukiwanie informacji - operatory Google, ocena zrodel, fake news
  • Informatyka a rynek pracy - sciezki kariery, kierunki studiow
  • Dostepnosc cyfrowa - WCAG, technologie asystujace, a11y

Podsumowanie kluczowych umiejetnosci

# Kluczowe konstrukcje Pythona - szybkie przypomnienie

# 1. Funkcja z petla i warunkiem
def filtruj(lista, prog):
    """Zwraca elementy wieksze od progu."""
    return [x for x in lista if x > prog]

# 2. Praca z plikiem
with open("dane.txt", "r", encoding="utf-8") as f:
    linie = f.readlines()

# 3. Slownik
uczniowie = {"Jan": 5, "Anna": 4, "Piotr": 3}
for imie, ocena in uczniowie.items():
    print(f"{imie}: {ocena}")

# 4. Try/except
try:
    wynik = int(input("Podaj liczbe: "))
except ValueError:
    print("To nie jest liczba!")

# 5. Sortowanie
dane = [3, 1, 4, 1, 5, 9]
posortowane = sorted(dane)              # nowa lista
dane.sort(reverse=True)                  # w miejscu, malejaco

# 6. NWD (Euklides)
def nwd(a, b):
    while b != 0:
        a, b = b, a % b
    return a

# 7. Szyfr Cezara
def cezar(tekst, klucz):
    wynik = ""
    for z in tekst:
        if z.isalpha():
            baza = ord('A') if z.isupper() else ord('a')
            wynik += chr((ord(z) - baza + klucz) % 26 + baza)
        else:
            wynik += z
    return wynik

# 8. Fibonacci (iteracyjnie)
def fib(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a
Przed sprawdzianem koncowym powtorz:
1. Systemy liczbowe - konwersje
2. Algorytmy: NWD, sortowanie, Fibonacci, szyfr Cezara
3. Programowanie: funkcje, listy, pliki, try/except
4. HTML/CSS: podstawowa struktura strony
5. SQL: SELECT, WHERE, ORDER BY
6. Bezpieczenstwo: szyfrowanie, hasla, RODO
✏️

Zadania

Latwe

Zadanie 1: Mapa myslowa 3 lat

Stworz mape myslowa podsumowujaca 3 lata nauki informatyki. W centrum: "Informatyka LO", galazei: algorytmy, programowanie, technologie, spoleczenstwo. Do kazdej galazi dopisz 5-8 najwazniejszych tematow.

Srednie

Zadanie 2: Mini-quiz powtorkowy

Odpowiedz na pytania: a) Zamien 156 z systemu dziesietnego na dwojkowy, b) Napisz algorytm NWD dla 48 i 36, c) Ile krokow potrzeba sortowanie babelkowe dla [5,3,1,4,2]? d) Co wypisze: print([x**2 for x in range(5)])?

Pokaz odpowiedzi
a) 156 = 10011100 (bin)
   156/2=78 r0, 78/2=39 r0, 39/2=19 r1,
   19/2=9 r1, 9/2=4 r1, 4/2=2 r0,
   2/2=1 r0, 1/2=0 r1 -> 10011100

b) NWD(48, 36):
   48 = 1*36 + 12
   36 = 3*12 + 0
   NWD = 12

c) [5,3,1,4,2] -> [3,1,4,2,5] -> [1,3,2,4,5]
   -> [1,2,3,4,5] -> [1,2,3,4,5]
   Potrzeba 4 przebiegow (n-1)

d) [0, 1, 4, 9, 16]
Srednie

Zadanie 3: Programowanie - powtorka

Napisz program, ktory: a) wczytuje liste liczb od uzytkownika (zakonczenie: "koniec"), b) sortuje je babelkowo, c) znajduje srednia, mediane, minimum, maksimum, d) zapisuje wyniki do pliku. Uzyj funkcji i obslugi bledow.

Pokaz przykladowe rozwiazanie
def wczytaj_liczby():
    """Wczytuje liczby od uzytkownika."""
    liczby = []
    while True:
        wejscie = input("Podaj liczbe (lub 'koniec'): ")
        if wejscie.lower() == "koniec":
            break
        try:
            liczby.append(float(wejscie))
        except ValueError:
            print("To nie jest liczba!")
    return liczby

def sortuj_babelkowo(lista):
    """Sortowanie babelkowe."""
    lst = lista[:]
    n = len(lst)
    for i in range(n - 1):
        for j in range(n - 1 - i):
            if lst[j] > lst[j + 1]:
                lst[j], lst[j + 1] = lst[j + 1], lst[j]
    return lst

def statystyki(lista):
    """Oblicza statystyki."""
    n = len(lista)
    srednia = sum(lista) / n
    posortowana = sorted(lista)
    if n % 2 == 0:
        mediana = (posortowana[n//2-1] + posortowana[n//2]) / 2
    else:
        mediana = posortowana[n//2]
    return {
        "srednia": srednia,
        "mediana": mediana,
        "minimum": min(lista),
        "maksimum": max(lista)
    }

def zapisz_wyniki(lista, stats, plik="wyniki.txt"):
    """Zapisuje wyniki do pliku."""
    with open(plik, "w", encoding="utf-8") as f:
        f.write(f"Posortowane: {lista}\n")
        for klucz, wartosc in stats.items():
            f.write(f"{klucz}: {wartosc}\n")
    print(f"Wyniki zapisane do {plik}")

def main():
    liczby = wczytaj_liczby()
    if not liczby:
        print("Brak danych!")
        return
    posortowane = sortuj_babelkowo(liczby)
    stats = statystyki(liczby)
    print(f"Posortowane: {posortowane}")
    for k, v in stats.items():
        print(f"{k}: {v}")
    zapisz_wyniki(posortowane, stats)

if __name__ == "__main__":
    main()
Trudne

Zadanie 4: Samoocena kompetencji

Ocen swoje kompetencje z informatyki w skali 1-5 w kazdym dziale: algorytmy, programowanie Python, HTML/CSS, bazy danych SQL, bezpieczenstwo, praca z dokumentami. Dla kazdego dzialu napisz: co umiem dobrze i co chcialbym jeszcze poprawic. Okresl swoj plan dalszego rozwoju po liceum.

🎥

Materialy wideo

EXCEL - Funkcja JEŻELI
PMSOCHO Piotr Majcher
Dzielenie pisemne – Matematyka, Klasa IV - Eduelo.pl
Eduelo - Ucz się wszędzie!
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 28: Projekt - prezentacja Lekcja 30: Sprawdzian koncowy →