KOMPENDIUM MATURALNE 2027

Matura 2027 PRO

Matematyka — poziom podstawowy • Informatyka — poziom rozszerzony

Formuła 2023 • zakres zgodny z aktualnymi materiałami CKE
Wersja podręcznikowa

Materiał do samodzielnej nauki, nie skrót.

Każdy gotowy rozdział zawiera pełną teorię, definicje, wzory z objaśnieniem, procedury, pełne zadania z treścią, rozwiązania krok po kroku, kontrolę wyniku, typowe błędy, ćwiczenia i test.

Zasada jakości

Rozdział jest oznaczony jako GOTOWY dopiero wtedy, gdy może służyć jako samodzielny materiał do nauki.

Postęp testów: 0/240 zapisanych odpowiedzi.

GOTOWE

1. Liczby rzeczywiste

Pełne kompendium — od podstaw do typowych zadań maturalnych.

TeoriaWzory11 pełnych przykładówTest

1. Zbiory liczb — co właściwie oznacza „liczba rzeczywista”?

Liczby rzeczywiste to wszystkie liczby, które można zaznaczyć na osi liczbowej. Obejmują zarówno liczby wymierne, jak i niewymierne. Na maturze trzeba nie tylko znać nazwy zbiorów, ale rozumieć zależności między nimi.

Najważniejsze zbiory

ℕ — liczby naturalne: 0, 1, 2, 3, ...

ℤ — liczby całkowite: ..., −2, −1, 0, 1, 2, ...

ℚ — liczby wymierne: liczby, które można zapisać jako a/b, gdzie a i b są całkowite oraz b≠0.

Liczby niewymierne: np. √2, π — nie można ich zapisać jako ilorazu dwóch liczb całkowitych.

ℝ — liczby rzeczywiste: wszystkie liczby wymierne i niewymierne.

Ważna zależność: ℕ ⊂ ℤ ⊂ ℚ ⊂ ℝ. Każda liczba naturalna jest całkowita, każda całkowita jest wymierna, a każda wymierna jest rzeczywista.

Przykład 1. Klasyfikowanie liczby

Treść zadania: Do jakich zbiorów należy liczba −6?

  1. −6 nie jest liczbą naturalną, bo jest ujemna.
  2. Jest liczbą całkowitą.
  3. Jest wymierna, bo można ją zapisać jako −6/1.
  4. Każda liczba wymierna jest rzeczywista.

Odpowiedź: −6 ∈ ℤ, ℚ, ℝ.

2. Ułamki i kolejność wykonywania działań

Ułamki są jednym z najczęstszych źródeł błędów rachunkowych. Podstawowa zasada: przy dodawaniu i odejmowaniu trzeba doprowadzić ułamki do wspólnego mianownika. Przy mnożeniu mnożymy liczniki przez liczniki i mianowniki przez mianowniki. Przy dzieleniu mnożymy przez odwrotność.

Reguły

a/b + c/d = (ad+bc)/(bd)

a/b − c/d = (ad−bc)/(bd)

a/b · c/d = ac/bd

a/b : c/d = a/b · d/c

Przykład 2. Działania na trzech ułamkach

Treść zadania: Oblicz wartość wyrażenia 3/4 − 5/6 + 1/2.

Co trzeba zauważyć? Mianowniki 4, 6 i 2 są różne, więc nie możemy od razu działać na licznikach.

  1. Najmniejszy wspólny mianownik to 12.
  2. 3/4 = 9/12, 5/6 = 10/12, 1/2 = 6/12.
  3. 9/12 − 10/12 + 6/12 = (9−10+6)/12 = 5/12.

Kontrola: 0,75 − 0,8333... + 0,5 ≈ 0,4167, a 5/12 ≈ 0,4167.

Odpowiedź: 5/12.

Typowy błąd: 1/3 + 1/4 ≠ 2/7. Mianowników nie dodajemy.

Kolejność działań

  1. nawiasy,
  2. potęgi i pierwiastki,
  3. mnożenie i dzielenie,
  4. dodawanie i odejmowanie.

Jeśli działania mają ten sam priorytet, wykonujemy je od lewej do prawej.

3. Potęgi

W zadaniach maturalnych rzadko chodzi tylko o „policzenie potęgi”. Najczęściej trzeba uprościć wyrażenie, porównać liczby albo zastosować własności potęg.

Wzory, które trzeba znać

aᵐ·aⁿ = aᵐ⁺ⁿ

aᵐ/aⁿ = aᵐ⁻ⁿ, a≠0

(aᵐ)ⁿ = aᵐⁿ

(ab)ⁿ = aⁿbⁿ

a⁰ = 1, a≠0

a⁻ⁿ = 1/aⁿ

a¹⁄ⁿ = ⁿ√a

aᵐ⁄ⁿ = ⁿ√(aᵐ)

Przykład 3. Potęga o ujemnym wykładniku

Treść zadania: Oblicz 2⁵·2⁻³.

Dlaczego możemy połączyć wykładniki? Obie potęgi mają tę samą podstawę 2 i są mnożone.

  1. Dodajemy wykładniki: 5+(−3)=2.
  2. Otrzymujemy 2²=4.

Odpowiedź: 4.

Przykład 4. Potęga o wykładniku wymiernym

Treść zadania: Oblicz 27²⁄³.

  1. Wykładnik 2/3 oznacza: najpierw pierwiastek trzeciego stopnia, potem kwadrat.
  2. ³√27=3.
  3. 3²=9.

Odpowiedź: 9.

Pułapka: aᵐ+aⁿ nie upraszcza się do aᵐ⁺ⁿ. Reguła sumowania wykładników dotyczy mnożenia.

4. Pierwiastki

√(ab)=√a·√b dla a,b≥0

√(a/b)=√a/√b dla a≥0,b>0

√(a²)=|a|

Przykład 5. Upraszczanie pierwiastka

Treść zadania: Uprość wyrażenie √75 − 2√3.

Co trzeba zauważyć? 75 zawiera kwadrat 25.

  1. √75=√(25·3)=5√3.
  2. 5√3−2√3=3√3.

Odpowiedź: 3√3.

Dlaczego √(a²)=|a|? Pierwiastek arytmetyczny jest nieujemny. Dla a=−5 mamy √((-5)²)=√25=5, więc potrzebna jest wartość bezwzględna.

5. Procenty, zmiany procentowe i punkty procentowe

p% z x = (p/100)·x

po wzroście o p%: x·(1+p/100)

po spadku o p%: x·(1−p/100)

Przykład 6. Odtwarzanie ceny sprzed obniżki

Treść zadania: Po obniżce o 20% telewizor kosztuje 2400 zł. Ile kosztował przed obniżką?

Co trzeba zauważyć? Po obniżce zostało 80% ceny początkowej.

  1. Niech x oznacza cenę początkową.
  2. 0,8x=2400.
  3. x=2400/0,8=3000.

Kontrola: 20% z 3000 to 600; 3000−600=2400.

Odpowiedź: 3000 zł.

Przykład 7. Dwie kolejne podwyżki

Treść zadania: Cena 1000 zł wzrosła dwa razy po 10%. Jaka jest nowa cena?

  1. Po pierwszym wzroście: 1000·1,10=1100.
  2. Po drugim wzroście: 1100·1,10=1210.

Wniosek: łączny wzrost wynosi 21%, nie 20%.

Odpowiedź: 1210 zł.

Punkty procentowe: wzrost oprocentowania z 5% do 7% to wzrost o 2 punkty procentowe, ale względnie o 40%.

6. Wartość bezwzględna

|x| oznacza odległość liczby x od zera, dlatego wynik wartości bezwzględnej nigdy nie jest ujemny.

|5|=5, |−5|=5

|x|=a, a>0 → x=a lub x=−a

|x|<a → −a<x<a

|x|>a → x<−a lub x>a

Przykład 8. Równanie z wartością bezwzględną

Treść zadania: Rozwiąż równanie |x−2|=5.

Interpretacja: liczba x jest oddalona od 2 o dokładnie 5 jednostek.

  1. x−2=5 lub x−2=−5.
  2. x=7 lub x=−3.

Odpowiedź: x∈{−3,7}.

7. Przedziały liczbowe

(a,b) → a<x<b

[a,b] → a≤x≤b

[a,b) → a≤x<b

(a,b] → a<x≤b

Przy ±∞ zawsze używamy nawiasu okrągłego.

Przykład 9. Zapis nierówności jako przedziału

Treść zadania: Zapisz jako przedział zbiór liczb spełniających 2≤x<7.

2 należy do zbioru → nawias domknięty. 7 nie należy → nawias otwarty.

Odpowiedź: [2,7).

8. Logarytmy

Logarytm odpowiada na pytanie: do jakiej potęgi trzeba podnieść podstawę, aby otrzymać daną liczbę?

logₐb=c ⇔ aᶜ=b

Warunki: a>0, a≠1, b>0.

logₐ(xy)=logₐx+logₐy

logₐ(x/y)=logₐx−logₐy

logₐ(xⁿ)=n·logₐx

Przykład 10. Logarytm z definicji

Treść zadania: Oblicz log₂32.

Szukamy liczby c takiej, że 2ᶜ=32.

2⁵=32.

Odpowiedź: log₂32=5.

Typowy błąd: zapominanie o warunku, że liczba logarytmowana musi być dodatnia.

9. Przybliżenia i zaokrąglenia

Zaokrąglając do danej pozycji, patrzymy na cyfrę znajdującą się bezpośrednio za nią. Jeśli jest 5 lub więcej — zwiększamy ostatnią zachowaną cyfrę o 1.

Przykład 11. Zaokrąglenie

Treść zadania: Zaokrąglij 2,6784 do dwóch miejsc po przecinku.

Zachowujemy 2,67 i patrzymy na trzecią cyfrę po przecinku: 8. Ponieważ 8≥5, zwiększamy setne z 7 do 8.

Odpowiedź: 2,68.

10. Strategie egzaminacyjne i najczęstsze błędy

✓ Przy ułamkach — wspólny mianownik przed dodawaniem.

✓ Przy potęgach — najpierw sprawdź rodzaj działania.

✓ Przy pierwiastkach — szukaj największego kwadratu pod pierwiastkiem.

✓ Przy procentach — ustal, czy znasz wartość początkową czy końcową.

✓ Przy logarytmie — przejdź na zapis potęgowy.

✓ Przy przedziale — sprawdź, czy końce należą do zbioru.

✓ Jeśli to możliwe — wykonaj kontrolę wyniku inną metodą.

Przykład rozszerzony. Wartość bezwzględna przy pierwiastku

Treść zadania: Uprość √((x−3)²).

Nie wolno napisać od razu x−3, bo x−3 może być ujemne. Pierwiastek kwadratowy daje wartość nieujemną.

Odpowiedź: |x−3|.

Kontrola: dla x=1 mamy √4=2, a x−3=−2, więc bez wartości bezwzględnej wynik byłby błędny.

Przykład rozszerzony. Procent a punkt procentowy

Treść zadania: Oprocentowanie wzrosło z 5% do 7%. O ile punktów procentowych i o ile procent wzrosło?

Zmiana w punktach procentowych: 7%−5%=2 p.p.

Zmiana procentowa względem wartości początkowej: 2/5=40%.

Odpowiedź: o 2 p.p. i o 40%.

Jak rozpoznać metodę — Liczby rzeczywiste

✓ ułamki → wspólny mianownik lub skracanie,

✓ potęga z wykładnikiem ujemnym → odwróć podstawę,

✓ pierwiastek z kwadratu → pamiętaj o wartości bezwzględnej,

✓ procent „o ile procent” → zmiana / wartość początkowa,

✓ punkt procentowy ≠ procent,

✓ logarytm → zawsze najpierw sprawdź warunki istnienia.

11. Test działowy — Liczby rzeczywiste

Test sprawdza różne umiejętności z całego rozdziału. Nie rozwiązuj go bezpośrednio po przeczytaniu przykładu — najlepiej wrócić do niego po krótkiej przerwie.

Źródła i zgodność

Zakres serwisu jest budowany na podstawie aktualnych materiałów Centralnej Komisji Egzaminacyjnej dla egzaminu maturalnego w Formule 2023, w tym informatorów i komunikatów dotyczących roku szkolnego 2026/2027.

GOTOWE

2. Algebra

Pełne kompendium — przekształcenia, wzory skróconego mnożenia, wielomiany, ułamki algebraiczne i przekształcanie wzorów.

TeoriaWzory14 pełnych przykładówTest

1. Wyrażenia algebraiczne — co to jest i po co?

Wyrażenie algebraiczne to zapis złożony z liczb, liter, nawiasów i działań. Litery oznaczają zmienne. Algebra pozwala zapisywać ogólne zależności, a potem przekształcać je w wygodną formę.

Jednomian: np. 5x²y.

Wielomian: suma jednomianów, np. 2x³−5x+7.

Współczynnik: liczba stojąca przy części literowej, np. w 7x² współczynnikiem jest 7.

Wyraz wolny: składnik bez zmiennej, np. w 3x²−2x+5 wyrazem wolnym jest 5.

Przykład 1. Rozpoznawanie elementów wyrażenia

Treść zadania: W wielomianie W(x)=4x³−2x²+7x−9 wskaż stopień wielomianu, współczynnik przy x² i wyraz wolny.

  1. Najwyższa potęga x to 3, więc stopień wielomianu wynosi 3.
  2. Przy x² stoi −2.
  3. Wyraz bez x to −9.

Odpowiedź: stopień 3, współczynnik przy x²: −2, wyraz wolny: −9.

2. Wyrazy podobne i redukcja

Wyrazy podobne mają identyczną część literową. Można dodawać lub odejmować ich współczynniki.

5x−2x=3x

4x²+7x²=11x²

3xy−5xy=−2xy

Nie wolno: 3x+2x² → 5x³. To różne wyrazy, więc nie można ich zredukować.

Przykład 2. Redukcja wyrazów podobnych

Treść zadania: Uprość wyrażenie 7x−3x+4−9+2x.

  1. Zbieramy wyrazy z x: 7x−3x+2x=6x.
  2. Zbieramy liczby: 4−9=−5.

Odpowiedź: 6x−5.

3. Usuwanie nawiasów

a(b+c)=ab+ac

a(b−c)=ab−ac

−(a+b)=−a−b

−(a−b)=−a+b

Przykład 3. Dwa nawiasy i minus

Treść zadania: Uprość 3(2x−5)−2(x+4).

Co trzeba zauważyć? Liczba przed nawiasem mnoży każdy składnik wewnątrz nawiasu.

  1. 3(2x−5)=6x−15.
  2. −2(x+4)=−2x−8.
  3. Łączymy: 6x−15−2x−8=4x−23.

Kontrola: dla x=1 wyrażenie początkowe i wynikowe dają −19.

Odpowiedź: 4x−23.

Typowy błąd: −2(x+4)=−2x+8. To niepoprawne, bo −2 mnoży także liczbę 4.

4. Wzory skróconego mnożenia

(a+b)²=a²+2ab+b²

(a−b)²=a²−2ab+b²

a²−b²=(a−b)(a+b)

Przykład 4. Kwadrat sumy

Treść zadania: Rozwiń (x+4)².

  1. Rozpoznajemy wzór (a+b)².
  2. a=x, b=4.
  3. x²+2·x·4+4²=x²+8x+16.

Odpowiedź: x²+8x+16.

Przykład 5. Kwadrat różnicy

Treść zadania: Rozwiń (2x−3)².

  1. a=2x, b=3.
  2. (2x)²−2·(2x)·3+3².
  3. 4x²−12x+9.

Odpowiedź: 4x²−12x+9.

Typowy błąd: (a+b)²=a²+b². Brakuje środkowego składnika 2ab.

5. Rozkładanie wyrażeń na czynniki

Rozkład na czynniki zamienia sumę na iloczyn. To ważne przy równaniach, nierównościach i ułamkach algebraicznych.

Najczęstsze metody

1. Wyłączenie wspólnego czynnika.

2. Różnica kwadratów.

3. Rozpoznanie trójmianu jako iloczynu dwóch nawiasów.

Przykład 6. Wspólny czynnik

Treść zadania: Rozłóż 6x²+9x na czynniki.

  1. Wspólnym czynnikiem 6x² i 9x jest 3x.
  2. 6x²+9x=3x(2x+3).

Odpowiedź: 3x(2x+3).

Przykład 7. Różnica kwadratów

Treść zadania: Rozłóż x²−25 na czynniki.

  1. 25=5².
  2. x²−5²=(x−5)(x+5).

Odpowiedź: (x−5)(x+5).

Przykład 8. Trójmian

Treść zadania: Rozłóż x²−7x+12 na czynniki.

Szukamy dwóch liczb, których iloczyn wynosi 12, a suma −7. To −3 i −4.

Odpowiedź: (x−3)(x−4).

6. Wielomiany

Wielomiany pojawiają się w zadaniach o funkcjach, równaniach i dzieleniu wyrażeń.

Przykład 9. Obliczanie wartości wielomianu

Treść zadania: Dany jest W(x)=2x³−x²+3x−4. Oblicz W(2).

  1. Podstawiamy x=2.
  2. W(2)=2·8−4+6−4.
  3. 16−4+6−4=14.

Odpowiedź: W(2)=14.

Pierwiastek wielomianu: liczba a jest pierwiastkiem, gdy W(a)=0.

7. Ułamki algebraiczne i założenia

Jeżeli w mianowniku występuje zmienna, trzeba zawsze ustalić, dla jakich wartości mianownik nie jest zerem.

Przykład 10. Skracanie ułamka algebraicznego

Treść zadania: Uprość (x²−9)/(x−3).

  1. Założenie: x−3≠0, więc x≠3.
  2. x²−9=(x−3)(x+3).
  3. Skracamy wspólny czynnik x−3.

Odpowiedź: x+3 dla x≠3.

Nie wolno skracać składników sumy. (x+3)/x nie upraszcza się do 3.

8. Działania na ułamkach algebraicznych

a/b + c/d = (ad+bc)/(bd)

a/b · c/d = ac/bd

a/b : c/d = a/b · d/c

Przykład 11. Dodawanie prostych ułamków algebraicznych

Treść zadania: Uprość 1/x + 1/y.

Wspólny mianownik to xy.

1/x = y/(xy), 1/y = x/(xy).

Odpowiedź: (x+y)/(xy), przy x≠0 i y≠0.

Przykład 12. Mnożenie i skracanie

Treść zadania: Uprość [(x²−4)/(x−2)]·[1/(x+2)].

  1. Założenia: x≠2, x≠−2.
  2. x²−4=(x−2)(x+2).
  3. Po skróceniu obu czynników pozostaje 1.

Odpowiedź: 1 dla x≠±2.

9. Przekształcanie wzorów

W zadaniach praktycznych często trzeba wyznaczyć jedną zmienną z podanego wzoru.

Przykład 13. Wzór na pole trójkąta

Treść zadania: Z wzoru P=ah/2 wyznacz h.

  1. Mnożymy obie strony przez 2: 2P=ah.
  2. Dzielimy obie strony przez a: h=2P/a.

Odpowiedź: h=2P/a, a≠0.

Przykład 14. Wzór na prędkość

Treść zadania: Z v=s/t wyznacz t.

  1. Mnożymy przez t: vt=s.
  2. Dzielimy przez v: t=s/v.

Odpowiedź: t=s/v, v≠0.

10. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw usuń nawiasy, potem redukuj.

✓ Przy kwadracie sumy lub różnicy zawsze sprawdź składnik 2ab.

✓ Przed skracaniem rozłóż wyrażenie na czynniki.

✓ W ułamkach algebraicznych najpierw zapisz założenia.

✓ Przy przekształcaniu wzoru wykonuj tę samą operację po obu stronach równania.

✓ Wynik można kontrolować przez podstawienie konkretnej liczby za zmienną.

Najczęstsze błędy:
  • gubienie minusa przed nawiasem,
  • brak środkowego wyrazu we wzorze skróconego mnożenia,
  • skracanie sum,
  • pomijanie założeń mianownika,
  • łączenie niepodobnych wyrazów.

Przykład rozszerzony. Rozkład na czynniki

Treść zadania: Rozłóż x²−7x+12 na czynniki.

Szukamy dwóch liczb, których iloczyn to 12, a suma to −7. Są to −3 i −4.

x²−7x+12=(x−3)(x−4).

Odpowiedź: (x−3)(x−4).

Kontrola: po wymnożeniu otrzymujemy x²−7x+12.

Przykład rozszerzony. Ułamek algebraiczny i dziedzina

Treść zadania: Uprość (x²−9)/(x−3).

Najpierw dziedzina: x≠3.

x²−9=(x−3)(x+3), więc po skróceniu otrzymujemy x+3.

Odpowiedź: x+3 dla x≠3.

Jak rozpoznać metodę — Algebra

✓ podobne wyrazy → redukcja,

✓ nawias przed minusem → zmień znaki w nawiasie,

✓ a²−b² → (a−b)(a+b),

✓ trójmian kwadratowy → rozkład na czynniki lub delta,

✓ ułamek algebraiczny → najpierw dziedzina, potem skracanie,

✓ „wyznacz x ze wzoru” → wykonuj te same operacje po obu stronach.

11. Test działowy — Algebra

GOTOWE

3. Równania i nierówności

Pełne kompendium — od równań liniowych po nierówności kwadratowe, wartość bezwzględną, układy i zadania tekstowe.

TeoriaProcedury16 pełnych przykładówTest

1. Równania liniowe

Równanie to zdanie matematyczne zawierające niewiadomą. Rozwiązaniem jest taka wartość niewiadomej, która sprawia, że obie strony równania są równe.

ax+b=0, a≠0

x=−b/a

Przykład 1. Proste równanie liniowe

Treść zadania: Rozwiąż równanie 3x−7=2x+8.

Co trzeba zrobić? Zebrać wszystkie składniki z x po jednej stronie, a liczby po drugiej.

  1. Odejmujemy 2x od obu stron: x−7=8.
  2. Dodajemy 7 do obu stron: x=15.

Kontrola: lewa strona 3·15−7=38, prawa 2·15+8=38.

Odpowiedź: x=15.

2. Równania z nawiasami i ułamkami

Najlepsza kolejność to: usunąć nawiasy, pozbyć się mianowników, zredukować wyrazy podobne i dopiero wyznaczyć x.

Przykład 2. Równanie z nawiasem

Treść zadania: Rozwiąż 2(x−3)+5=3x−1.

  1. Usuwamy nawias: 2x−6+5=3x−1.
  2. Redukujemy: 2x−1=3x−1.
  3. Odejmujemy 2x: −1=x−1.
  4. Dodajemy 1: x=0.

Odpowiedź: x=0.

Przykład 3. Równanie z ułamkami

Treść zadania: Rozwiąż x/3 + 1/2 = 5/6.

Co zauważyć? Najwygodniej pomnożyć całe równanie przez 6 — najmniejszy wspólny mianownik.

  1. 6·x/3 + 6·1/2 = 6·5/6.
  2. 2x+3=5.
  3. 2x=2.
  4. x=1.

Odpowiedź: x=1.

3. Równania kwadratowe

Równanie kwadratowe ma postać ax²+bx+c=0, gdzie a≠0. Można je rozwiązać przez rozkład na czynniki lub za pomocą delty.

Przykład 4. Rozkład na czynniki

Treść zadania: Rozwiąż x²−7x+12=0.

Szukamy dwóch liczb, których iloczyn wynosi 12, a suma −7. To −3 i −4.

  1. x²−7x+12=(x−3)(x−4).
  2. (x−3)(x−4)=0.
  3. x−3=0 lub x−4=0.

Odpowiedź: x=3 lub x=4.

4. Delta i liczba rozwiązań

Δ=b²−4ac

Δ>0 → dwa rozwiązania

Δ=0 → jedno rozwiązanie

Δ<0 → brak rozwiązań rzeczywistych

x₁,₂=(-b±√Δ)/(2a)

Przykład 5. Równanie rozwiązywane deltą

Treść zadania: Rozwiąż 2x²−3x−2=0.

  1. a=2, b=−3, c=−2.
  2. Δ=(−3)²−4·2·(−2)=9+16=25.
  3. √Δ=5.
  4. x₁=(3−5)/4=−1/2.
  5. x₂=(3+5)/4=2.

Odpowiedź: x=−1/2 lub x=2.

Przykład 6. Delta równa zero

Treść zadania: Rozwiąż x²−6x+9=0.

Δ=36−36=0, więc istnieje jedno rozwiązanie: x=6/2=3.

Odpowiedź: x=3.

5. Równania kwadratowe niezupełne

Nie zawsze trzeba liczyć deltę. Jeśli brakuje składnika bx lub wyrazu wolnego, często istnieje prostsza droga.

Przykład 7. Brak wyrazu wolnego

Treść zadania: Rozwiąż x²−5x=0.

  1. Wyłączamy x przed nawias: x(x−5)=0.
  2. x=0 lub x−5=0.

Odpowiedź: x=0 lub x=5.

Przykład 8. Brak składnika liniowego

Treść zadania: Rozwiąż x²−16=0.

  1. x²=16.
  2. x=4 lub x=−4.

Odpowiedź: x=±4.

6. Równania wymierne

Jeśli niewiadoma występuje w mianowniku, najpierw trzeba zapisać założenia. Rozwiązanie równania nie może naruszać tych założeń.

Przykład 9. Równanie wymierne

Treść zadania: Rozwiąż 2/(x−1)=1.

  1. Założenie: x≠1.
  2. Mnożymy obie strony przez x−1: 2=x−1.
  3. x=3.
  4. 3 nie narusza założenia.

Odpowiedź: x=3.

7. Równania z wartością bezwzględną

|A|=k, k≥0 → A=k lub A=−k.

Przykład 10. Wartość bezwzględna

Treść zadania: Rozwiąż |2x−1|=5.

  1. 2x−1=5 lub 2x−1=−5.
  2. Z pierwszego: 2x=6, x=3.
  3. Z drugiego: 2x=−4, x=−2.

Odpowiedź: x∈{−2,3}.

8. Nierówności liniowe

Nierówności rozwiązujemy podobnie jak równania, ale przy mnożeniu lub dzieleniu obu stron przez liczbę ujemną trzeba odwrócić znak nierówności.

Przykład 11. Dzielenie przez liczbę ujemną

Treść zadania: Rozwiąż −2x>6.

  1. Dzielimy obie strony przez −2.
  2. Odwracamy znak: x<−3.

Odpowiedź: x∈(−∞,−3).

Kluczowa pułapka: przy dzieleniu przez liczbę ujemną znak > zmienia się na < i odwrotnie.

9. Nierówności kwadratowe

Najpierw znajdujemy miejsca zerowe, następnie analizujemy znak trójmianu na przedziałach.

Przykład 12. Nierówność kwadratowa

Treść zadania: Rozwiąż x²−5x+6<0.

  1. x²−5x+6=(x−2)(x−3).
  2. Miejsca zerowe: 2 i 3.
  3. Współczynnik przy x² jest dodatni, więc parabola jest skierowana ramionami w górę.
  4. Trójmian jest ujemny między miejscami zerowymi.

Odpowiedź: x∈(2,3).

Przykład 13. Nierówność z ≥

Treść zadania: Rozwiąż x²−9≥0.

  1. (x−3)(x+3)≥0.
  2. Miejsca zerowe: −3 i 3.
  3. Wartość jest nieujemna poza przedziałem między miejscami zerowymi.
  4. Ponieważ jest ≥, miejsca zerowe należą do rozwiązania.

Odpowiedź: x∈(−∞,−3]∪[3,∞).

10. Układy równań

Układ równań oznacza, że szukane liczby muszą jednocześnie spełniać kilka równań.

Metoda podstawiania: wyznacz jedną niewiadomą z jednego równania i podstaw do drugiego.

Metoda przeciwnych współczynników: dodaj lub odejmij równania tak, aby jedna niewiadoma zniknęła.

Przykład 14. Układ dwóch równań

Treść zadania: Rozwiąż układ x+y=10 oraz x−y=2.

  1. Dodajemy równania: 2x=12.
  2. x=6.
  3. Podstawiamy do x+y=10: 6+y=10.
  4. y=4.

Odpowiedź: x=6, y=4.

11. Zadania tekstowe prowadzące do równań

Najważniejsze jest poprawne zdefiniowanie niewiadomej i przełożenie treści na równanie.

Przykład 15. Zadanie o wieku

Treść zadania: Ojciec ma dziś trzy razy tyle lat co syn. Za 10 lat będzie miał dwa razy tyle lat co syn. Ile lat mają teraz?

Krok 1. Oznaczenie: niech syn ma x lat. Ojciec ma 3x lat.

Krok 2. Za 10 lat: syn będzie miał x+10, ojciec 3x+10.

Krok 3. Warunek: 3x+10=2(x+10).

  1. 3x+10=2x+20.
  2. x=10.
  3. Ojciec: 3x=30.

Kontrola: za 10 lat będą mieli 20 i 40 lat — ojciec dwa razy więcej.

Odpowiedź: syn 10 lat, ojciec 30 lat.

Przykład 16. Prostokąt i równanie

Treść zadania: Obwód prostokąta wynosi 34 cm. Dłuższy bok jest o 5 cm dłuższy od krótszego. Oblicz długości boków.

Niech krótszy bok ma x cm, a dłuższy x+5.

2x+2(x+5)=34.

  1. 2x+2x+10=34.
  2. 4x=24.
  3. x=6.
  4. Dłuższy bok: 11.

Odpowiedź: 6 cm i 11 cm.

12. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw uprość obie strony równania.

✓ Przy ułamkach sprawdź, czy warto pomnożyć przez wspólny mianownik.

✓ Przy równaniach kwadratowych najpierw sprawdź, czy da się rozłożyć na czynniki.

✓ Przy równaniach wymiernych zawsze zapisz założenia.

✓ Przy nierówności pamiętaj o zmianie znaku przy dzieleniu przez liczbę ujemną.

✓ Przy zadaniu tekstowym nazwij niewiadomą przed zapisaniem równania.

✓ Po rozwiązaniu wykonaj kontrolę w treści zadania.

Najczęstsze błędy:
  • zgubienie drugiego rozwiązania równania kwadratowego,
  • brak zmiany znaku nierówności przy dzieleniu przez liczbę ujemną,
  • nieuwzględnienie miejsc zerowych przy ≥ lub ≤,
  • pominięcie założeń w równaniu wymiernym,
  • źle zdefiniowana niewiadoma w zadaniu tekstowym.

Przykład rozszerzony. Równanie kwadratowe z kontrolą

Treść zadania: Rozwiąż x²−7x+12=0.

Rozkładamy: x²−7x+12=(x−3)(x−4).

Z zasady iloczynu zerowego: x−3=0 lub x−4=0.

Stąd x=3 lub x=4.

Odpowiedź: x∈{3,4}.

Kontrola: 9−21+12=0 oraz 16−28+12=0.

Przykład rozszerzony. Nierówność kwadratowa

Treść zadania: Rozwiąż x²−5x+6<0.

x²−5x+6=(x−2)(x−3). Miejsca zerowe to 2 i 3.

Parabola jest skierowana w górę, więc funkcja jest ujemna między miejscami zerowymi.

Odpowiedź: x∈(2,3).

Jak rozpoznać metodę — Równania i nierówności

✓ liniowe → uporządkuj i przenieś wyrazy z x na jedną stronę,

✓ kwadratowe → delta / rozkład / postać niezupełna,

✓ ułamkowe → zapisz dziedzinę przed mnożeniem przez mianowniki,

✓ |x−a|=b → dwa przypadki, gdy b≥0,

✓ nierówność kwadratowa → miejsca zerowe + znak paraboli,

✓ układ równań → podstawianie lub metoda przeciwnych współczynników.

13. Test działowy — Równania i nierówności

GOTOWE

4. Funkcje

Pełne kompendium — pojęcie funkcji, wykres, dziedzina, monotoniczność, funkcja liniowa i kwadratowa.

TeoriaWykresy18 pełnych przykładówTest

1. Co to jest funkcja?

Funkcja przyporządkowuje każdemu argumentowi z dziedziny dokładnie jedną wartość. Argument najczęściej oznaczamy przez x, a wartość funkcji przez f(x).

Argument: liczba, którą podstawiamy do funkcji.

Wartość funkcji: wynik otrzymany po podstawieniu argumentu.

Wykres funkcji: zbiór punktów (x,f(x)).

Przykład 1. Obliczanie wartości funkcji

Treść zadania: Dana jest funkcja f(x)=2x²−3x+1. Oblicz f(2).

  1. Podstawiamy x=2.
  2. f(2)=2·2²−3·2+1.
  3. f(2)=8−6+1=3.

Odpowiedź: f(2)=3.

2. Dziedzina i zbiór wartości

Dziedzina to zbiór wszystkich argumentów, dla których funkcja jest określona. Zbiór wartości to zbiór wszystkich wartości przyjmowanych przez funkcję.

Przykład 2. Dziedzina funkcji wymiernej

Treść zadania: Wyznacz dziedzinę funkcji f(x)=1/(x−4).

Mianownik nie może być równy zero.

  1. x−4≠0.
  2. x≠4.

Odpowiedź: D=ℝ\{4}.

Przykład 3. Dziedzina z pierwiastkiem

Treść zadania: Wyznacz dziedzinę f(x)=√(x−2).

Wyrażenie pod pierwiastkiem parzystego stopnia musi być nieujemne.

x−2≥0, więc x≥2.

Odpowiedź: D=[2,∞).

3. Odczytywanie informacji z wykresu

Z wykresu można odczytać m.in. wartości funkcji, miejsca zerowe, przedziały dodatniości i ujemności, monotoniczność, maksimum i minimum.

f(a)=b oznacza, że punkt (a,b) leży na wykresie.

f(x)>0 tam, gdzie wykres leży nad osią OX.

f(x)<0 tam, gdzie wykres leży pod osią OX.

4. Miejsca zerowe

Miejscem zerowym jest taki argument x, dla którego f(x)=0. Na wykresie są to punkty przecięcia z osią OX.

Przykład 4. Miejsce zerowe funkcji liniowej

Treść zadania: Wyznacz miejsce zerowe f(x)=3x−12.

  1. Przyjmujemy f(x)=0.
  2. 3x−12=0.
  3. 3x=12.
  4. x=4.

Odpowiedź: x₀=4.

5. Monotoniczność

Funkcja jest rosnąca, jeśli wraz ze wzrostem argumentu rośnie jej wartość. Jest malejąca, jeśli wraz ze wzrostem argumentu wartość maleje.

Na wykresie: patrzymy od lewej do prawej. Jeśli wykres idzie w górę — funkcja rośnie. Jeśli w dół — maleje.

6. Funkcja liniowa

f(x)=ax+b

a — współczynnik kierunkowy

b=f(0) — punkt przecięcia z osią OY

a>0 → funkcja rosnąca

a<0 → funkcja malejąca

a=0 → funkcja stała

Przykład 5. Interpretacja parametrów

Treść zadania: Dana jest f(x)=−2x+8. Określ monotoniczność i punkt przecięcia z osią OY.

  1. a=−2<0, więc funkcja jest malejąca.
  2. b=8, więc f(0)=8.

Odpowiedź: funkcja malejąca, punkt przecięcia z OY: (0,8).

Przykład 6. Miejsce zerowe funkcji liniowej

Treść zadania: Wyznacz miejsce zerowe f(x)=−2x+8.

−2x+8=0 → −2x=−8 → x=4.

Odpowiedź: x₀=4.

7. Równanie prostej przez dwa punkty

Jeśli znamy dwa punkty prostej, możemy wyznaczyć współczynnik kierunkowy.

a=(y₂−y₁)/(x₂−x₁), x₂≠x₁.

Przykład 7. Prosta przez dwa punkty

Treść zadania: Wyznacz wzór funkcji liniowej przechodzącej przez A=(1,3) i B=(3,7).

  1. a=(7−3)/(3−1)=4/2=2.
  2. Funkcja ma postać y=2x+b.
  3. Podstawiamy punkt A: 3=2·1+b.
  4. b=1.

Odpowiedź: f(x)=2x+1.

8. Funkcja kwadratowa — postać ogólna

f(x)=ax²+bx+c, a≠0

Δ=b²−4ac

Wykresem funkcji kwadratowej jest parabola. Znak a decyduje o kierunku ramion.

a>0 → ramiona w górę

a<0 → ramiona w dół

Przykład 8. Miejsca zerowe funkcji kwadratowej

Treść zadania: Wyznacz miejsca zerowe f(x)=x²−5x+6.

x²−5x+6=(x−2)(x−3).

Odpowiedź: x₁=2, x₂=3.

Przykład 9. Delta

Treść zadania: Ile miejsc zerowych ma f(x)=x²+2x+5?

  1. Δ=2²−4·1·5=4−20=−16.
  2. Δ<0, więc brak rzeczywistych miejsc zerowych.

Odpowiedź: funkcja nie ma miejsc zerowych.

9. Postać kanoniczna

f(x)=a(x−p)²+q

Wierzchołek W=(p,q)

Przykład 10. Odczyt wierzchołka

Treść zadania: Dana jest f(x)=2(x−3)²−5. Podaj wierzchołek paraboli.

Odpowiedź: W=(3,−5).

10. Postać iloczynowa

f(x)=a(x−x₁)(x−x₂)

Postać iloczynowa jest szczególnie wygodna, gdy znamy miejsca zerowe.

Przykład 11. Odczyt miejsc zerowych z postaci iloczynowej

Treść zadania: Dana jest f(x)=−2(x+1)(x−4). Wyznacz miejsca zerowe.

−2 nie wpływa na miejsca zerowe.

x+1=0 lub x−4=0.

Odpowiedź: x₁=−1, x₂=4.

11. Wierzchołek i oś symetrii

xw=−b/(2a)

yw=f(xw)

oś symetrii: x=xw

Przykład 12. Wyznaczanie wierzchołka

Treść zadania: Wyznacz wierzchołek f(x)=x²−4x+1.

  1. a=1, b=−4.
  2. xw=−(−4)/(2·1)=2.
  3. yw=f(2)=4−8+1=−3.

Odpowiedź: W=(2,−3).

Przykład 13. Oś symetrii

Treść zadania: Podaj równanie osi symetrii paraboli y=2x²−8x+3.

xw=8/4=2.

Odpowiedź: x=2.

12. Najmniejsza i największa wartość funkcji kwadratowej

Jeśli a>0, wierzchołek daje minimum. Jeśli a<0, wierzchołek daje maksimum.

Przykład 14. Minimum funkcji

Treść zadania: Wyznacz najmniejszą wartość f(x)=x²−6x+11.

  1. xw=6/2=3.
  2. f(3)=9−18+11=2.
  3. a=1>0, więc jest to minimum.

Odpowiedź: najmniejsza wartość wynosi 2.

13. Zadania modelujące

Przykład 15. Koszt przejazdu — funkcja liniowa

Treść zadania: Taksówka pobiera 8 zł opłaty początkowej i 3 zł za każdy kilometr. Zapisz funkcję kosztu K(x) i oblicz koszt 12 km.

  1. Stała opłata to 8, więc b=8.
  2. Koszt kilometra to 3, więc a=3.
  3. K(x)=3x+8.
  4. K(12)=36+8=44.

Odpowiedź: K(x)=3x+8, koszt 12 km: 44 zł.

Przykład 16. Maksymalizacja pola

Treść zadania: Prostokąt ma obwód 20 cm. Jeden bok ma długość x. Wyznacz x, dla którego pole jest największe.

Drugi bok ma długość 10−x.

P(x)=x(10−x)=−x²+10x.

  1. a=−1, b=10.
  2. xw=−10/(−2)=5.
  3. Ponieważ a<0, wierzchołek daje maksimum.

Odpowiedź: największe pole jest dla x=5 cm, czyli dla kwadratu 5×5.

Przykład 17. Parametr a z punktu

Treść zadania: Funkcja f(x)=ax+2 przechodzi przez punkt (3,11). Wyznacz a.

11=3a+2 → 3a=9 → a=3.

Odpowiedź: a=3.

Przykład 18. Parametr w funkcji kwadratowej

Treść zadania: Funkcja f(x)=x²+bx+6 ma miejsce zerowe x=2. Wyznacz b.

Skoro x=2 jest miejscem zerowym, to f(2)=0.

4+2b+6=0 → 2b=−10 → b=−5.

Odpowiedź: b=−5.

14. Strategie egzaminacyjne i typowe błędy

✓ Najpierw ustal, o jaką informację pyta zadanie: wartość, miejsce zerowe, dziedzinę, wierzchołek czy monotoniczność.

✓ Przy funkcji liniowej spójrz na znak a.

✓ Przy funkcji kwadratowej wybierz najwygodniejszą postać: ogólną, kanoniczną lub iloczynową.

✓ Miejsce zerowe zawsze oznacza f(x)=0.

✓ Wierzchołek to para współrzędnych, nie tylko x.

✓ Przy modelowaniu sprawdź sens dziedziny w kontekście zadania.

Najczęstsze błędy:
  • mylenie miejsca zerowego z przecięciem osi OY,
  • zły znak współczynnika b we wzorze na xw,
  • zapominanie o dziedzinie funkcji wymiernej i pierwiastkowej,
  • odczytanie tylko jednej współrzędnej wierzchołka,
  • nieuwzględnianie znaczenia a przy minimum i maksimum.

Przykład rozszerzony. Prosta przez dwa punkty

Treść zadania: Wyznacz równanie prostej przechodzącej przez A(1,3) i B(5,11).

Współczynnik kierunkowy: a=(11−3)/(5−1)=8/4=2.

Podstawiamy punkt A do y=2x+b: 3=2·1+b, więc b=1.

Odpowiedź: y=2x+1.

Kontrola: dla x=5 otrzymujemy y=11.

Przykład rozszerzony. Wierzchołek paraboli

Treść zadania: Dla f(x)=x²−6x+5 wyznacz minimum funkcji.

x_w=−b/(2a)=6/2=3.

f(3)=9−18+5=−4.

Odpowiedź: minimum wynosi −4 i jest osiągane dla x=3.

Jak rozpoznać metodę — Funkcje

✓ „wartość funkcji” → podstaw argument,

✓ „miejsce zerowe” → rozwiąż f(x)=0,

✓ prosta przez dwa punkty → najpierw współczynnik kierunkowy,

✓ parabola → sprawdź, czy wygodniejsza jest postać ogólna, kanoniczna czy iloczynowa,

✓ maksimum/minimum funkcji kwadratowej → wierzchołek,

✓ parametr → rozpisz warunek wynikający z treści, nie zgaduj z wykresu.

15. Test działowy — Funkcje

GOTOWE

5. Ciągi

Pełne kompendium — ciąg arytmetyczny i geometryczny, wyraz n-ty, sumy, monotoniczność, procent składany i zadania tekstowe.

TeoriaWzory15 pełnych przykładówTest

1. Co to jest ciąg?

Ciąg to uporządkowana lista liczb. Każdy wyraz ma swój numer: a₁, a₂, a₃, ...

a₁ — pierwszy wyraz,

aₙ — n-ty wyraz,

n — numer wyrazu.

Przykład 1. Odczyt wyrazu ciągu

Treść zadania: Dany jest ciąg 4, 7, 10, 13, ... Podaj a₄.

Czwarty wyraz to 13.

Odpowiedź: a₄=13.

2. Ciąg arytmetyczny

W ciągu arytmetycznym różnica między każdym kolejnym wyrazem a poprzednim jest stała.

r=aₙ₊₁−aₙ

aₙ=a₁+(n−1)r

Przykład 2. Rozpoznawanie ciągu arytmetycznego

Treść zadania: Czy ciąg 5, 8, 11, 14, ... jest arytmetyczny?

  1. 8−5=3.
  2. 11−8=3.
  3. 14−11=3.

Różnica jest stała.

Odpowiedź: tak, r=3.

3. Wyraz n-ty ciągu arytmetycznego

Przykład 3. Obliczanie odległego wyrazu

Treść zadania: W ciągu arytmetycznym a₁=5 i r=3. Oblicz a₁₀.

  1. Korzystamy ze wzoru aₙ=a₁+(n−1)r.
  2. a₁₀=5+(10−1)·3.
  3. a₁₀=5+27=32.

Odpowiedź: a₁₀=32.

Przykład 4. Wyznaczanie różnicy

Treść zadania: W ciągu arytmetycznym a₁=7 i a₆=22. Wyznacz r.

22=7+5r.

15=5r.

Odpowiedź: r=3.

4. Suma początkowych wyrazów ciągu arytmetycznego

Sₙ=n(a₁+aₙ)/2

równoważnie: Sₙ=n[2a₁+(n−1)r]/2

Przykład 5. Suma pierwszych 10 wyrazów

Treść zadania: Oblicz sumę pierwszych 10 wyrazów ciągu 2,5,8,...

  1. a₁=2, r=3.
  2. a₁₀=2+9·3=29.
  3. S₁₀=10(2+29)/2=155.

Odpowiedź: 155.

5. Ciąg geometryczny

W ciągu geometrycznym iloraz kolejnego wyrazu przez poprzedni jest stały.

q=aₙ₊₁/aₙ

aₙ=a₁·qⁿ⁻¹

Przykład 6. Rozpoznawanie ciągu geometrycznego

Treść zadania: Czy ciąg 3,9,27,81,... jest geometryczny?

9/3=3, 27/9=3, 81/27=3.

Odpowiedź: tak, q=3.

Przykład 7. Wyraz n-ty ciągu geometrycznego

Treść zadania: a₁=4, q=2. Oblicz a₆.

a₆=4·2⁵=4·32=128.

Odpowiedź: a₆=128.

6. Suma ciągu geometrycznego

Dla q≠1:

Sₙ=a₁(1−qⁿ)/(1−q)

Przykład 8. Suma czterech wyrazów

Treść zadania: Oblicz sumę pierwszych 4 wyrazów ciągu 2,6,18,54,...

a₁=2, q=3.

S₄=2(1−3⁴)/(1−3)=2(1−81)/(−2)=80.

Odpowiedź: 80.

7. Monotoniczność ciągów

Dla ciągu arytmetycznego znak r od razu informuje o monotoniczności.

r>0 → ciąg rosnący

r<0 → ciąg malejący

r=0 → ciąg stały

Przykład 9. Monotoniczność

Treść zadania: Określ monotoniczność ciągu aₙ=12−4n.

aₙ₊₁−aₙ=−4, więc r=−4.

Odpowiedź: ciąg jest malejący.

8. Zależności między wyrazami

W ciągu arytmetycznym wyraz środkowy jest średnią arytmetyczną sąsiednich.

2aₙ=aₙ₋₁+aₙ₊₁

W ciągu geometrycznym kwadrat wyrazu środkowego jest iloczynem sąsiednich.

aₙ²=aₙ₋₁·aₙ₊₁

Przykład 10. Wyraz środkowy w ciągu arytmetycznym

Treść zadania: Trzy kolejne wyrazy ciągu arytmetycznego mają postać 7, x, 15. Oblicz x.

2x=7+15=22.

Odpowiedź: x=11.

Przykład 11. Wyraz środkowy w ciągu geometrycznym

Treść zadania: Dodatnie liczby 4, x, 16 są kolejnymi wyrazami ciągu geometrycznego. Wyznacz x.

x²=4·16=64.

Ponieważ x>0, x=8.

Odpowiedź: x=8.

9. Procent składany jako ciąg geometryczny

Jeżeli wartość rośnie lub maleje co okres o ten sam procent, kolejne wartości tworzą ciąg geometryczny.

Przykład 12. Lokata

Treść zadania: Na lokacie znajduje się 5000 zł. Co roku kapitał rośnie o 4%. Ile będzie po 3 latach, pomijając podatki?

Każdego roku mnożymy przez 1,04.

5000·1,04³≈5624,32.

Odpowiedź: około 5624,32 zł.

Przykład 13. Spadek wartości

Treść zadania: Maszyna o wartości 80 000 zł traci co roku 10% wartości. Ile będzie warta po 2 latach?

Co roku zostaje 90%, czyli mnożymy przez 0,9.

80000·0,9²=64800.

Odpowiedź: 64 800 zł.

10. Zadania tekstowe

Przykład 14. Oszczędzanie w ciągu arytmetycznym

Treść zadania: W pierwszym miesiącu uczeń odkłada 100 zł, a w każdym kolejnym o 20 zł więcej niż w poprzednim. Ile odłoży w 12. miesiącu?

a₁=100, r=20.

a₁₂=100+11·20=320.

Odpowiedź: 320 zł.

Przykład 15. Łączna suma oszczędności

Treść zadania: W sytuacji z poprzedniego przykładu oblicz łączną kwotę odłożoną przez 12 miesięcy.

S₁₂=12(100+320)/2=2520.

Odpowiedź: 2520 zł.

11. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw rozpoznaj: stała różnica czy stały iloraz?

✓ We wzorze na aₙ występuje n−1.

✓ Przy sumie arytmetycznej często najpierw trzeba obliczyć aₙ.

✓ Przy procentach używaj mnożnika, np. 1,04 lub 0,9.

✓ W zadaniach tekstowych zapisuj, co oznacza a₁, r/q i n.

✓ Sprawdzaj, czy odpowiedź ma sens w kontekście.

Najczęstsze błędy:
  • mylenie r z q,
  • używanie n zamiast n−1,
  • dodawanie procentów zamiast stosowania kolejnych mnożników,
  • użycie wzoru na sumę arytmetyczną do ciągu geometrycznego,
  • brak uwzględnienia znaku q przy ciągu geometrycznym.

Przykład rozszerzony. Ciąg arytmetyczny

Treść zadania: W ciągu arytmetycznym a₁=5 i r=3. Oblicz a₁₀ i sumę pierwszych 10 wyrazów.

a₁₀=a₁+9r=5+27=32.

S₁₀=10/2·(5+32)=5·37=185.

Odpowiedź: a₁₀=32, S₁₀=185.

Przykład rozszerzony. Procent składany jako ciąg geometryczny

Treść zadania: Kapitał 10 000 zł rośnie co rok o 5%. Ile wyniesie po 3 latach?

Każdego roku mnożymy przez 1,05.

10 000·1,05³=11 576,25.

Odpowiedź: 11 576,25 zł.

Dlaczego geometryczny? Kolejne wartości powstają przez mnożenie przez stały iloraz 1,05.

Jak rozpoznać metodę — Ciągi

✓ stała różnica → ciąg arytmetyczny,

✓ stały iloraz → ciąg geometryczny,

✓ „n-ty wyraz” → wzór ogólny,

✓ „suma pierwszych n wyrazów” → odpowiedni wzór sumy,

✓ trzy kolejne wyrazy arytmetyczne → środkowy jest średnią arytmetyczną skrajnych,

✓ procent składany → model geometryczny.

12. Test działowy — Ciągi

GOTOWE

6. Trygonometria

Pełne kompendium — sinus, cosinus, tangens kąta ostrego, wartości szczególne, tożsamości, trójkąty prostokątne, pole trójkąta oraz twierdzenia sinusów i cosinusów.

TeoriaWzory16 pełnych przykładówTest

1. Kąt i nazwy boków

W trójkącie prostokątnym nazwy „przyprostokątna przyległa” i „przyprostokątna przeciwległa” zależą od tego, względem którego kąta ostrego patrzymy.

Przeciwprostokątna leży naprzeciw kąta prostego i jest najdłuższym bokiem.

Przeciwległa do α leży naprzeciw kąta α.

Przyległa do α dotyka kąta α i nie jest przeciwprostokątną.

Przykład 1. Rozpoznanie boków

Treść: W trójkącie prostokątnym boki mają długości 3,4,5. Kąt α leży między bokami 4 i 5. Wskaż bok przeciwległy, przyległy i przeciwprostokątną.

Przeciwprostokątna ma długość 5. Bok przyległy do α ma długość 4, a przeciwległy 3.

Odpowiedź: przeciwległy 3, przyległy 4, przeciwprostokątna 5.

2. Sinus, cosinus i tangens kąta ostrego

sin α = przeciwległa / przeciwprostokątna

cos α = przyległa / przeciwprostokątna

tg α = przeciwległa / przyległa

Przykład 2. Trójkąt 3-4-5

Dla kąta α naprzeciw boku 3:

sin α=3/5, cos α=4/5, tg α=3/4.

Odpowiedź: 3/5, 4/5, 3/4.

Pułapka: tangens nie zawiera przeciwprostokątnej.

3. Wartości szczególne

30°: sin=1/2, cos=√3/2, tg=√3/3

45°: sin=√2/2, cos=√2/2, tg=1

60°: sin=√3/2, cos=1/2, tg=√3

Przykład 3. Obliczenie bez kalkulatora

Treść: Oblicz 2sin30°+cos60°.

2·1/2+1/2=1+1/2=3/2.

Odpowiedź: 3/2.

Przykład 4. Tangens 45°

Treść: Oblicz 7·tg45°.

tg45°=1, więc wynik to 7.

Odpowiedź: 7.

4. Podstawowe tożsamości

sin²α + cos²α = 1

tg α = sin α / cos α

Przykład 5. Wyznaczenie cosinusa

Treść: Kąt α jest ostry i sin α=3/5. Oblicz cos α.

cos²α=1−9/25=16/25. Ponieważ α jest ostry, cos α>0.

Odpowiedź: cos α=4/5.

Przykład 6. Wyznaczenie tangensa

Jeżeli sin α=3/5 i cos α=4/5, to tg α=(3/5)/(4/5)=3/4.

Odpowiedź: 3/4.

5. Wyznaczanie długości boków

Przykład 7. Bok naprzeciw kąta

Treść: Przeciwprostokątna ma długość 10, a α=30°. Oblicz przyprostokątną naprzeciw α.

sin30°=x/10, więc x=10·1/2=5.

Odpowiedź: 5.

Przykład 8. Bok przyległy

Treść: Przeciwprostokątna ma długość 12, α=60°. Oblicz bok przyległy do α.

cos60°=x/12, więc x=12·1/2=6.

Odpowiedź: 6.

Przykład 9. Tangens i wysokość

Treść: Odległość pozioma wynosi 20 m, a kąt wzniesienia 45°. Oblicz wysokość.

tg45°=h/20=1, więc h=20 m.

Odpowiedź: 20 m.

6. Wyznaczanie kąta

Jeżeli znamy wartość funkcji trygonometrycznej, kąt wyznaczamy funkcją odwrotną w kalkulatorze: sin⁻¹, cos⁻¹ lub tan⁻¹. Kalkulator musi być ustawiony na stopnie.

Przykład 10. Kąt z tangensa

Treść: tg α=3/4. Oblicz α z dokładnością do 1°.

α=arctg(3/4)≈36,87°.

Odpowiedź: około 37°.

7. Pole trójkąta z sinusem

P = 1/2 · a · b · sin γ

γ jest kątem zawartym między bokami a i b.

Przykład 11. Pole

Treść: Boki 6 i 8 tworzą kąt 30°. Oblicz pole.

P=1/2·6·8·1/2=12.

Odpowiedź: 12.

8. Twierdzenie cosinusów

c²=a²+b²−2ab·cos γ

Stosujemy je szczególnie wtedy, gdy znamy dwa boki i kąt między nimi albo trzy boki i chcemy znaleźć kąt.

Przykład 12. Trzeci bok

Treść: Boki 5 i 7 tworzą kąt 60°. Oblicz trzeci bok.

c²=25+49−2·5·7·1/2=39.

Odpowiedź: c=√39.

Przykład 13. Czy trójkąt jest rozwartokątny?

Treść: Najdłuższy bok ma długość 8, pozostałe 5 i 6. Oceń największy kąt.

8²=64, a 5²+6²=61. Ponieważ 64>61, kąt naprzeciw boku 8 jest rozwarty.

Odpowiedź: trójkąt rozwartokątny.

9. Twierdzenie sinusów

a/sin α = b/sin β = c/sin γ = 2R

Bok zawsze łączymy z kątem leżącym naprzeciw niego.

Przykład 14. Wyznaczenie boku

Treść: a=6, α=30°, β=45°. Oblicz b.

b/sin45°=6/sin30°.

b=6·(√2/2)/(1/2)=6√2.

Odpowiedź: 6√2.

Przykład 15. Promień okręgu opisanego

Treść: a=10 i α=30°. Oblicz promień R okręgu opisanego.

a/sinα=2R, więc 10/(1/2)=2R. Otrzymujemy 20=2R.

Odpowiedź: R=10.

10. Zadania praktyczne

Przykład 16. Drabina

Treść: Drabina długości 5 m tworzy z podłożem kąt 60°. Na jaką wysokość sięga?

Wysokość jest bokiem przeciwległym do kąta 60°.

h=5sin60°=5√3/2≈4,33 m.

Odpowiedź: około 4,33 m.

11. Jak rozpoznać metodę i typowe błędy

✓ Trójkąt prostokątny + boki względem kąta → sin/cos/tg.

✓ Dwa boki i kąt między nimi → często twierdzenie cosinusów.

✓ Bok i kąt naprzeciw niego + druga para bok/kąt → twierdzenie sinusów.

✓ Dwa boki i kąt między nimi, pytanie o pole → P=1/2 ab sinγ.

✓ Przy wyznaczaniu kąta sprawdź tryb DEG.

Najczęstsze błędy:
  • zamiana boku przeciwległego z przyległym,
  • sparowanie niewłaściwego boku z kątem w twierdzeniu sinusów,
  • użycie kąta, który nie leży między a i b w twierdzeniu cosinusów,
  • kalkulator w radianach,
  • zaokrąglanie zbyt wcześnie.

12. Test działowy — Trygonometria

GOTOWE

7. Planimetria

Pełne kompendium figur płaskich — kąty, trójkąty, czworokąty, podobieństwo, Tales, Pitagoras, okręgi, koła, pola i zadania złożone.

TeoriaWzory17 pełnych przykładówTest

1. Kąty i proste

Planimetria zaczyna się od poprawnego rozpoznawania relacji między prostymi i kątami. To często pierwszy krok w zadaniu dowodowym lub obliczeniowym.

Kąty wierzchołkowe są równe.

Kąty przyległe sumują się do 180°.

Przy prostych równoległych kąty naprzemianległe są równe, a odpowiadające są równe.

Przykład 1. Kąty przy prostych równoległych

Treść zadania: Dwie proste równoległe przecięto sieczną. Jeden z kątów ostrych ma 38°. Wyznacz miary pozostałych kątów.

  1. Kąty wierzchołkowe mają po 38°.
  2. Kąty odpowiadające i naprzemianległe ostre również mają 38°.
  3. Kąty przyległe mają 180°−38°=142°.

Odpowiedź: cztery kąty po 38° i cztery po 142°.

2. Trójkąty

Suma kątów w trójkącie = 180°.

Warunek istnienia: suma długości dwóch boków musi być większa od długości trzeciego.

Trójkąt równoboczny: wszystkie boki równe, wszystkie kąty po 60°.

Trójkąt równoramienny: kąty przy podstawie są równe.

Trójkąt prostokątny: jeden kąt ma 90°.

Przykład 2. Trójkąt równoramienny

Treść: Kąt przy wierzchołku ma 44°. Oblicz kąty przy podstawie.

180°−44°=136°, a kąty przy podstawie są równe, więc 136°/2=68°.

Odpowiedź: 68° i 68°.

3. Twierdzenie Pitagorasa i twierdzenie odwrotne

a²+b²=c²

Twierdzenie działa wyłącznie w trójkącie prostokątnym, gdzie c jest przeciwprostokątną.

Przykład 3. Przeciwprostokątna

Treść: Przyprostokątne mają 6 cm i 8 cm. Oblicz przeciwprostokątną.

c²=36+64=100, więc c=10.

Wniosek / wynik: c²=36+64=100, więc c=10.

Przykład 4. Czy trójkąt jest prostokątny?

Treść: Boki mają 5,12,13. Sprawdź rodzaj trójkąta.

5²+12²=25+144=169=13². Z twierdzenia odwrotnego trójkąt jest prostokątny.

Wniosek / wynik: 5²+12²=25+144=169=13². Z twierdzenia odwrotnego trójkąt jest prostokątny.

4. Podobieństwo trójkątów

Figury podobne mają ten sam kształt, lecz mogą mieć różne rozmiary. Odpowiadające kąty są równe, a odpowiadające boki proporcjonalne.

k = długość w figurze II / odpowiadająca długość w figurze I

P₂/P₁=k²

Przykład 5. Skala podobieństwa

Treść: Odpowiadające boki dwóch podobnych trójkątów mają 6 cm i 15 cm. Bok odpowiadający 8 cm w pierwszym trójkącie ma jaką długość w drugim?

k=15/6=2,5. Zatem 8·2,5=20 cm.

Wniosek / wynik: k=15/6=2,5. Zatem 8·2,5=20 cm.

Przykład 6. Pola figur podobnych

Treść: Skala podobieństwa wynosi 3. Pole mniejszej figury to 12 cm². Oblicz pole większej.

Stosunek pól wynosi 3²=9, więc 12·9=108 cm².

Wniosek / wynik: Stosunek pól wynosi 3²=9, więc 12·9=108 cm².

5. Twierdzenie Talesa

Jeśli proste równoległe przecinają ramiona kąta, wyznaczają na nich odcinki proporcjonalne.

Przykład 7. Proporcja Talesa

Treść: W ramionach kąta odcinki odpowiadające mają długości 3 i 5 na jednym ramieniu oraz 6 i x na drugim. Oblicz x.

3/5=6/x. Stąd 3x=30, więc x=10.

Wniosek / wynik: 3/5=6/x. Stąd 3x=30, więc x=10.

Pułapka: trzeba zestawiać odcinki odpowiadające sobie w tej samej kolejności.

6. Czworokąty — własności

Kwadrat: 4 równe boki, 4 kąty proste, przekątne równe, prostopadłe i dzielą się na połowy.

Prostokąt: kąty proste, przeciwległe boki równe, przekątne równe.

Romb: wszystkie boki równe, przekątne prostopadłe i dzielą kąty.

Równoległobok: przeciwległe boki równoległe i równe, przekątne dzielą się na połowy.

Trapez: ma co najmniej jedną parę boków równoległych.

Przykład 8. Przekątna prostokąta

Treść: Prostokąt ma boki 9 i 12. Oblicz przekątną.

d=√(9²+12²)=√225=15.

Wniosek / wynik: d=√(9²+12²)=√225=15.

7. Pola figur

Trójkąt: P=ah/2

Prostokąt: P=ab

Kwadrat: P=a²

Równoległobok: P=ah

Trapez: P=(a+b)h/2

Romb: P=ef/2

Przykład 9. Trapez

Treść: Podstawy trapezu mają 8 i 14, wysokość 5. Oblicz pole.

P=(8+14)·5/2=55.

Wniosek / wynik: P=(8+14)·5/2=55.

Przykład 10. Romb z przekątnych

Treść: Przekątne rombu mają 10 i 24. Oblicz pole.

P=10·24/2=120.

Wniosek / wynik: P=10·24/2=120.

8. Okrąg i koło

Obwód okręgu: L=2πr

Pole koła: P=πr²

Długość łuku kąta α: l=(α/360°)·2πr

Pole wycinka: Pw=(α/360°)·πr²

Przykład 11. Koło

Treść: Promień koła wynosi 6. Oblicz pole i obwód.

P=36π, L=12π.

Wniosek / wynik: P=36π, L=12π.

Przykład 12. Wycinek 60°

Treść: Koło ma promień 9. Oblicz pole wycinka o kącie 60°.

Pw=60/360·81π=27π/2.

Wniosek / wynik: Pw=60/360·81π=27π/2.

9. Kąty wpisane i środkowe

Kąt wpisany oparty na tym samym łuku ma miarę równą połowie kąta środkowego.

Przykład 13. Kąt wpisany

Treść: Kąt środkowy oparty na łuku AB ma 120°. Jaki jest kąt wpisany oparty na tym samym łuku?

120°/2=60°.

Wniosek / wynik: 120°/2=60°.

Szczególny przypadek: kąt wpisany oparty na średnicy ma 90°.

10. Wielokąty

Suma kątów wewnętrznych n-kąta: (n−2)·180°

Kąt wewnętrzny wielokąta foremnego: ((n−2)·180°)/n

Przykład 14. Sześciokąt

Treść: Oblicz sumę kątów wewnętrznych sześciokąta.

(6−2)·180°=720°.

Wniosek / wynik: (6−2)·180°=720°.

11. Zadania złożone — jak łączyć twierdzenia

Przykład 15. Kwadrat i okrąg opisany

Treść: Kwadrat ma bok 8. Oblicz promień okręgu opisanego na kwadracie.

Przekątna kwadratu d=8√2. Jest ona średnicą okręgu opisanego. r=d/2=4√2.

Wniosek / wynik: Przekątna kwadratu d=8√2. Jest ona średnicą okręgu opisanego. r=d/2=4√2.

Przykład 16. Trójkąt równoboczny

Treść: Bok trójkąta równobocznego ma 10. Oblicz wysokość.

Wysokość dzieli podstawę na dwie części po 5. Z Pitagorasa: h²=100−25=75, więc h=5√3.

Wniosek / wynik: Wysokość dzieli podstawę na dwie części po 5. Z Pitagorasa: h²=100−25=75, więc h=5√3.

Przykład 17. Prostokąt podobny

Treść: Prostokąt 4×6 powiększono w skali 1,5. Oblicz pole nowego.

Pole stare: 24. Pola rosną jak k²=2,25. Nowe pole 24·2,25=54.

Wniosek / wynik: Pole stare: 24. Pola rosną jak k²=2,25. Nowe pole 24·2,25=54.

12. Strategie egzaminacyjne i błędy

✓ Zrób rysunek i zaznacz dane.

✓ Sprawdź, czy występują proste równoległe — może działać Tales lub podobieństwo.

✓ Przy trójkącie prostokątnym rozważ Pitagorasa i trygonometrię.

✓ W figurach podobnych długości skalują się przez k, pola przez k².

✓ Przy okręgu rozróżniaj promień, średnicę, cięciwę i łuk.

✓ Kontroluj jednostki: długość, cm², stopnie.

Najczęstsze błędy:
  • stosowanie Pitagorasa do trójkąta nieprostokątnego,
  • mylenie skali długości ze skalą pól,
  • zły dobór odpowiadających boków w podobieństwie,
  • branie średnicy za promień,
  • pomijanie kwadratu jednostki w polu.

13. Test działowy — Planimetria

GOTOWE

8. Geometria analityczna

Pełne kompendium — punkty, odcinki, wektory, proste, równoległość i prostopadłość, pola figur oraz okrąg w układzie współrzędnych.

TeoriaWzory16 pełnych przykładówTest

1. Punkt i ćwiartki układu współrzędnych

Punkt zapisujemy jako A=(x,y). Pierwsza współrzędna mówi, jak daleko punkt leży w poziomie, druga — jak daleko w pionie.

I ćwiartka: x>0, y>0

II ćwiartka: x<0, y>0

III ćwiartka: x<0, y<0

IV ćwiartka: x>0, y<0

Przykład 1. Położenie punktu

Treść zadania: W której ćwiartce leży punkt A=(−3,4)?

x jest ujemne, y dodatnie, więc punkt leży w II ćwiartce.

Odpowiedź: II ćwiartka.

2. Odległość dwóch punktów

AB=√[(x₂−x₁)²+(y₂−y₁)²]

Wzór wynika z twierdzenia Pitagorasa: różnica współrzędnych x i y tworzy przyprostokątne.

Przykład 2. Długość odcinka

Treść zadania: Oblicz odległość między A=(1,2) i B=(4,6).

  1. Δx=3.
  2. Δy=4.
  3. AB=√(3²+4²)=5.

Odpowiedź: 5.

3. Środek odcinka

S=((x₁+x₂)/2,(y₁+y₂)/2)

Przykład 3. Środek odcinka

Treść zadania: Wyznacz środek odcinka A=(−2,3), B=(6,7).

S=(2,5).

Odpowiedź: S=(2,5).

4. Wektory

AB=(xB−xA,yB−yA)

Przykład 4. Współrzędne wektora

Treść zadania: A=(2,−1), B=(7,3). Wyznacz wektor AB.

AB=(5,4).

Odpowiedź: (5,4).

5. Równanie prostej

y=ax+b

a jest współczynnikiem kierunkowym, b to wartość y dla x=0.

Przykład 5. Sprawdzenie punktu

Treść zadania: Czy P=(2,5) leży na prostej y=2x+1?

Dla x=2 otrzymujemy y=5, więc tak.

Odpowiedź: tak.

6. Prosta przechodząca przez dwa punkty

a=(y₂−y₁)/(x₂−x₁), gdy x₂≠x₁

Przykład 6. Wyznaczanie równania

Treść zadania: Wyznacz równanie prostej przez A=(1,3), B=(3,7).

  1. a=2.
  2. y=2x+b.
  3. 3=2+b, więc b=1.

Odpowiedź: y=2x+1.

7. Równoległość i prostopadłość prostych

Proste równoległe mają równe współczynniki kierunkowe.

Dla prostych prostopadłych: a₁·a₂=−1.

Przykład 7. Prosta równoległa

Treść zadania: Wyznacz prostą równoległą do y=3x−4 przez P=(2,1).

y=3x−5.

Odpowiedź: y=3x−5.

Przykład 8. Prosta prostopadła

Treść zadania: Jaki współczynnik ma prosta prostopadła do prostej o a=2?

a₂=−1/2.

Odpowiedź: −1/2.

8. Punkt przecięcia prostych

Przykład 9. Układ równań

Treść zadania: Znajdź punkt przecięcia y=2x+1 i y=−x+7.

2x+1=−x+7 → x=2, y=5.

Odpowiedź: (2,5).

9. Pole figur w układzie współrzędnych

Przykład 10. Trójkąt prostokątny

Treść zadania: A=(0,0), B=(6,0), C=(0,4). Oblicz pole.

P=1/2·6·4=12.

Odpowiedź: 12.

Przykład 11. Prostokąt

Treść zadania: Wierzchołki: (1,2), (5,2), (5,7), (1,7). Oblicz pole.

Boki mają 4 i 5, więc pole 20.

Odpowiedź: 20.

10. Okrąg w układzie współrzędnych

(x−a)²+(y−b)²=r²

środek S=(a,b), promień r

Przykład 12. Środek i promień

Treść zadania: Dany jest okrąg (x−3)²+(y+2)²=25.

Odpowiedź: S=(3,−2), r=5.

Przykład 13. Równanie okręgu

Treść zadania: Środek S=(−1,4), promień 3.

Odpowiedź: (x+1)²+(y−4)²=9.

Przykład 14. Punkt na okręgu

Treść zadania: Czy P=(6,−2) leży na (x−3)²+(y+2)²=9?

Po podstawieniu otrzymujemy 9, więc tak.

Odpowiedź: tak.

11. Zadania łączące kilka umiejętności

Przykład 15. Trójkąt równoramienny

Treść zadania: A=(−2,0), B=(2,0), C=(0,3). Wykaż, że ABC jest równoramienny.

AC=√13 i BC=√13.

Wniosek: AC=BC.

Przykład 16. Końce średnicy

Treść zadania: Końce średnicy to A=(−1,2), B=(5,6). Wyznacz środek i promień.

  1. S=(2,4).
  2. AB=2√13.
  3. r=√13.

Odpowiedź: S=(2,4), r=√13.

12. Strategie egzaminacyjne i najczęstsze błędy

✓ Przy odległości odejmuj x od x i y od y.

✓ Przy środku odcinka uśredniaj współrzędne osobno.

✓ Przy prostej przez dwa punkty najpierw oblicz a.

✓ Równoległość: te same współczynniki kierunkowe.

✓ Prostopadłość: iloczyn współczynników równy −1.

✓ W równaniu okręgu znak w nawiasie jest przeciwny do współrzędnej środka.

Przykład rozszerzony. Prosta przez dwa punkty i prostopadła

Treść zadania: Wyznacz równanie prostej przechodzącej przez A(1,2) i B(3,6), a następnie równanie prostej prostopadłej do niej przechodzącej przez punkt C(0,1).

Nachylenie AB: a=(6−2)/(3−1)=2. Z punktu A: 2=2·1+b, więc b=0. Pierwsza prosta: y=2x.

Prosta prostopadła ma współczynnik −1/2. Przez C(0,1): y=−1/2 x+1.

Odpowiedź: y=2x oraz y=−1/2 x+1.

Kontrola: 2·(−1/2)=−1.

Jak rozpoznać metodę — Geometria analityczna

✓ odległość punktów → wzór z różnic współrzędnych,

✓ środek odcinka → średnie arytmetyczne współrzędnych,

✓ prosta przez dwa punkty → współczynnik kierunkowy i wyraz wolny,

✓ proste równoległe → ten sam współczynnik kierunkowy,

✓ proste prostopadłe → a₁·a₂=−1, jeśli obie nie są pionowe,

✓ okrąg → (x−a)²+(y−b)²=r².

13. Test działowy — Geometria analityczna

GOTOWE

9. Stereometria

Pełne kompendium brył — graniastosłupy, ostrosłupy, walec, stożek, kula, przekątne, pola powierzchni, objętości i kąty w przestrzeni.

TeoriaWzory17 pełnych przykładówTest

1. Podstawowe pojęcia

W stereometrii najważniejsze jest poprawne rozpoznanie bryły i jej elementów: podstaw, ścian bocznych, krawędzi, wysokości, przekątnych i promieni.

Wysokość bryły to odcinek prostopadły do płaszczyzny podstawy.

Pole całkowite obejmuje wszystkie ściany bryły.

Objętość mierzymy w jednostkach sześciennych.

Przykład 1. Jednostki

Treść zadania: Prostopadłościan ma wymiary 2 cm, 3 cm i 5 cm. Oblicz objętość.

V=2·3·5=30.

Odpowiedź: 30 cm³.

2. Graniastosłupy

V=Pp·H

Pc=2Pp+Pb

Pp — pole podstawy, H — wysokość graniastosłupa, Pb — pole powierzchni bocznej.

Przykład 2. Graniastosłup prosty

Treść zadania: Pole podstawy wynosi 12 cm², wysokość 7 cm. Oblicz objętość.

V=12·7=84.

Odpowiedź: 84 cm³.

Przykład 3. Graniastosłup o podstawie trójkąta

Treść zadania: Podstawą jest trójkąt prostokątny o przyprostokątnych 6 i 8, wysokość graniastosłupa 10. Oblicz objętość.

Pp=1/2·6·8=24, więc V=24·10=240.

Odpowiedź: 240.

3. Prostopadłościan i sześcian

V=abc

d=√(a²+b²+c²)

dla sześcianu: V=a³, Pc=6a², d=a√3

Przykład 4. Przekątna prostopadłościanu

Treść zadania: Krawędzie mają długości 3,4,12. Oblicz przekątną bryły.

d=√(9+16+144)=√169=13.

Odpowiedź: 13.

Przykład 5. Sześcian

Treść zadania: Przekątna sześcianu ma długość 6√3. Oblicz krawędź.

a√3=6√3, więc a=6.

Odpowiedź: 6.

4. Ostrosłupy

V=1/3·Pp·H

W ostrosłupie trzeba odróżniać wysokość bryły od wysokości ściany bocznej.

Przykład 6. Objętość ostrosłupa

Treść zadania: Pole podstawy 36 cm², wysokość 10 cm. Oblicz objętość.

V=1/3·36·10=120.

Odpowiedź: 120 cm³.

Przykład 7. Ostrosłup prawidłowy czworokątny

Treść zadania: Podstawa jest kwadratem o boku 6, wysokość bryły 4. Oblicz krawędź boczną.

Od środka kwadratu do wierzchołka podstawy jest połowa przekątnej: 3√2. Z Pitagorasa: k²=4²+(3√2)²=16+18=34.

Odpowiedź: √34.

5. Walec

V=πr²H

Pc=2πr²+2πrH

Przykład 8. Objętość walca

Treść zadania: Promień 3, wysokość 5. Oblicz objętość.

V=π·9·5=45π.

Odpowiedź: 45π.

Przykład 9. Pole całkowite walca

Treść zadania: r=2, H=6. Oblicz pole całkowite.

Pc=2π·4+2π·2·6=8π+24π=32π.

Odpowiedź: 32π.

6. Stożek

V=1/3·πr²H

Pb=πrl

Pc=πr²+πrl

l²=r²+H²

Przykład 10. Tworząca stożka

Treść zadania: Stożek ma r=3 i H=4. Oblicz tworzącą l.

l=√(9+16)=5.

Odpowiedź: 5.

Przykład 11. Objętość stożka

Treść zadania: r=3, H=4. Oblicz objętość.

V=1/3·π·9·4=12π.

Odpowiedź: 12π.

7. Kula

V=4/3·πr³

P=4πr²

Przykład 12. Pole kuli

Treść zadania: Promień kuli wynosi 5. Oblicz pole powierzchni.

P=4π·25=100π.

Odpowiedź: 100π.

Przykład 13. Objętość kuli

Treść zadania: r=3. Oblicz objętość.

V=4/3·π·27=36π.

Odpowiedź: 36π.

8. Przekroje i przekątne

W zadaniach przestrzennych często należy najpierw znaleźć odpowiedni trójkąt w bryle. Dopiero w nim stosujemy Pitagorasa lub trygonometrię.

Przykład 14. Przekątna ściany

Treść zadania: Ściana prostopadłościanu ma boki 5 i 12. Oblicz jej przekątną.

d=√(25+144)=13.

Odpowiedź: 13.

9. Kąty w przestrzeni

Kąt między prostą a płaszczyzną rozpatrujemy jako kąt między prostą a jej rzutem prostokątnym na tę płaszczyznę.

Przykład 15. Kąt przekątnej z podstawą

Treść zadania: W prostopadłościanie rzut przekątnej bryły na podstawę ma długość 12, wysokość bryły 5. Oblicz tangens kąta α między przekątną a podstawą.

tgα=5/12.

Odpowiedź: 5/12.

10. Zadania złożone

Przykład 16. Zmiana skali

Treść zadania: Wszystkie wymiary bryły zwiększono dwukrotnie. Ile razy wzrosła objętość?

Objętość skaluje się z trzecią potęgą skali: 2³=8.

Odpowiedź: 8 razy.

Przykład 17. Porównanie walca i stożka

Treść zadania: Walec i stożek mają takie same r i H. Ile razy objętość walca jest większa?

Vwalca=πr²H, Vstożka=1/3πr²H.

Odpowiedź: 3 razy.

11. Strategie egzaminacyjne i najczęstsze błędy

✓ Zrób szkic i zaznacz wysokość bryły.

✓ Rozróżniaj wysokość ostrosłupa od wysokości ściany bocznej.

✓ W stożku odróżniaj wysokość H od tworzącej l.

✓ Przy przekątnych szukaj trójkąta prostokątnego.

✓ Pole ma jednostki kwadratowe, objętość sześcienne.

✓ Przy skali k pola zmieniają się k² razy, objętości k³ razy.

Najczęstsze błędy:
  • brak współczynnika 1/3 w ostrosłupie i stożku,
  • mylenie promienia ze średnicą,
  • używanie przekątnej ściany zamiast bryły,
  • mylenie tworzącej z wysokością,
  • złe jednostki w odpowiedzi.

Przykład rozszerzony. Przekątna prostopadłościanu

Treść zadania: Prostopadłościan ma krawędzie 3,4,12. Oblicz długość przekątnej bryły.

Najpierw przekątna podstawy: d₁=√(3²+4²)=5.

Następnie przekątna bryły: d=√(5²+12²)=√169=13.

Odpowiedź: 13.

Kontrola: bezpośrednio √(3²+4²+12²)=13.

Przykład rozszerzony. Objętość stożka

Treść zadania: Stożek ma promień podstawy 3 i wysokość 4. Oblicz objętość.

V=1/3·π·3²·4=12π.

Odpowiedź: 12π.

Jak rozpoznać metodę — Stereometria

✓ graniastosłup → pole podstawy × wysokość,

✓ ostrosłup → 1/3 pola podstawy × wysokość,

✓ walec → πr²h,

✓ stożek → 1/3πr²h,

✓ kula → 4/3πr³,

✓ przekątna bryły → zwykle twierdzenie Pitagorasa w 2D lub 3D,

✓ kąt w przestrzeni → najpierw znajdź odpowiedni trójkąt prostokątny.

12. Test działowy — Stereometria

GOTOWE

10. Kombinatoryka

Pełne kompendium — reguła mnożenia i dodawania, permutacje, wariacje, kombinacje oraz zadania z ograniczeniami.

TeoriaWzory17 pełnych przykładówTest

1. O co chodzi w kombinatoryce?

Kombinatoryka odpowiada na pytanie: ile jest możliwych ustawień, wyborów albo kodów spełniających określone warunki.

Najważniejsze pytanie brzmi: czy kolejność ma znaczenie?

Drugie pytanie: czy elementy mogą się powtarzać?

2. Reguła mnożenia

Jeżeli wybór składa się z kolejnych niezależnych etapów, liczbę możliwości mnożymy.

Przykład 1. Strój

Treść zadania: Uczeń ma 4 koszulki i 3 pary spodni. Ile różnych zestawów może utworzyć?

Do każdej z 4 koszulek można dobrać 3 pary spodni.

4·3=12.

Odpowiedź: 12 zestawów.

3. Reguła dodawania

Jeżeli wybieramy jedną możliwość z rozłącznych kategorii, liczbę możliwości dodajemy.

Przykład 2. Środek transportu

Treść zadania: Można wybrać 5 połączeń autobusowych albo 3 kolejowe. Ile łącznie jest możliwości wyboru jednego połączenia?

5+3=8.

Odpowiedź: 8.

4. Silnia

n!=1·2·3·...·n

0!=1

Przykład 3. Obliczanie silni

Treść zadania: Oblicz 5!.

5!=5·4·3·2·1=120.

Odpowiedź: 120.

5. Permutacje

Permutacja to uporządkowanie wszystkich n różnych elementów.

Pₙ=n!

Przykład 4. Ustawienie osób

Treść zadania: Na ile sposobów można ustawić w szeregu 5 różnych osób?

5!=120.

Odpowiedź: 120.

Przykład 5. Dwie osoby obok siebie

Treść zadania: Na ile sposobów można ustawić 5 osób, jeśli Anna i Bartek mają stać obok siebie?

Traktujemy parę AB jako jeden blok. Mamy więc 4 obiekty do ustawienia: blok + 3 osoby.

4!=24 ustawienia bloków.

W bloku mogą być AB lub BA, czyli 2 możliwości.

24·2=48.

Odpowiedź: 48.

6. Wariacje bez powtórzeń

Wybieramy k elementów z n, kolejność ma znaczenie i nie wolno powtarzać elementów.

V(n,k)=n!/(n−k)!

Przykład 6. Medale

Treść zadania: W finale jest 8 zawodników. Na ile sposobów można przyznać złoto, srebro i brąz?

Kolejność ma znaczenie, bo złoty medal to inna pozycja niż srebrny.

8·7·6=336.

Odpowiedź: 336.

7. Wariacje z powtórzeniami

Wybieramy k pozycji, na każdej można użyć jednego z n symboli, a symbole mogą się powtarzać.

nᵏ

Przykład 7. Kod PIN

Treść zadania: Ile istnieje czterocyfrowych kodów PIN, jeśli na każdej pozycji może wystąpić dowolna cyfra 0–9?

Na każdej z 4 pozycji mamy 10 możliwości.

10⁴=10000.

Odpowiedź: 10 000.

8. Kombinacje

Kombinacja oznacza wybór k elementów z n, gdy kolejność nie ma znaczenia.

C(n,k)=n!/[k!(n−k)!]

Przykład 8. Wybór komisji

Treść zadania: Z 10 osób wybieramy 3-osobową komisję. Na ile sposobów?

Kolejność nie ma znaczenia.

C(10,3)=10·9·8/(3·2·1)=120.

Odpowiedź: 120.

9. Zadania z cyframi

Przykład 9. Liczby trzycyfrowe bez powtórzeń

Treść zadania: Ile można utworzyć liczb trzycyfrowych z cyfr 1,2,3,4,5 bez powtórzeń?

Pierwsza cyfra: 5 możliwości, druga: 4, trzecia: 3.

5·4·3=60.

Odpowiedź: 60.

Przykład 10. Liczby trzycyfrowe z zerem

Treść zadania: Ile można utworzyć liczb trzycyfrowych z cyfr 0,1,2,3,4 bez powtórzeń?

Pierwsza cyfra nie może być 0: 4 możliwości.

Druga: 4 możliwości, trzecia: 3.

4·4·3=48.

Odpowiedź: 48.

Przykład 11. Liczby parzyste

Treść zadania: Ile trzycyfrowych liczb parzystych można utworzyć z cyfr 1,2,3,4,5 bez powtórzeń?

Ostatnia cyfra musi być 2 lub 4: 2 możliwości.

Pierwsza po wyborze ostatniej: 4 możliwości.

Środkowa: 3 możliwości.

2·4·3=24.

Odpowiedź: 24.

10. Zadania z osobami

Przykład 12. Wybór przewodniczącego i zastępcy

Treść zadania: Z 12 uczniów wybieramy przewodniczącego i zastępcę. Na ile sposobów?

Funkcje są różne, więc kolejność ma znaczenie.

12·11=132.

Odpowiedź: 132.

Przykład 13. Wybór drużyny

Treść zadania: Z 12 uczniów wybieramy 4-osobową drużynę. Na ile sposobów?

Kolejność nie ma znaczenia.

C(12,4)=495.

Odpowiedź: 495.

11. Ograniczenia i dzielenie na przypadki

W trudniejszych zadaniach najważniejszy jest dobry podział na przypadki.

Przykład 14. Co najmniej jedna kobieta

Treść zadania: W grupie jest 6 kobiet i 4 mężczyzn. Wybieramy 3-osobowy zespół. Ile zespołów zawiera co najmniej jedną kobietę?

Najłatwiej użyć dopełnienia.

  1. Wszystkie zespoły: C(10,3)=120.
  2. Zespoły bez kobiet, czyli 3 mężczyzn z 4: C(4,3)=4.
  3. 120−4=116.

Odpowiedź: 116.

Przykład 15. Dokładnie dwie kobiety

Treść zadania: Z tej samej grupy wybieramy 3 osoby. Ile zespołów zawiera dokładnie 2 kobiety?

Wybieramy 2 z 6 kobiet i 1 z 4 mężczyzn.

C(6,2)·C(4,1)=15·4=60.

Odpowiedź: 60.

Przykład 16. Hasło z warunkiem

Treść zadania: Hasło składa się z 3 liter A–Z i 2 cyfr 0–9. Ile jest takich haseł, jeśli symbole mogą się powtarzać?

26³·10².

17576·100=1 757 600.

Odpowiedź: 1 757 600.

Przykład 17. Dobór metody

Treść zadania: Z 9 książek wybieramy 4 do zabrania na wyjazd. Czy stosujemy wariację czy kombinację?

Nie interesuje nas kolejność wybranych książek, tylko sam zestaw.

Odpowiedź: kombinację C(9,4).

12. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw zapytaj: czy kolejność ma znaczenie?

✓ Potem sprawdź: czy elementy mogą się powtarzać?

✓ Przy liczbach pamiętaj, że pierwsza cyfra nie może być zerem.

✓ Przy warunku „co najmniej” często łatwiej użyć dopełnienia.

✓ Przy kilku etapach zwykle stosujemy regułę mnożenia.

✓ Przy rozłącznych przypadkach stosujemy regułę dodawania.

Najczęstsze błędy:
  • stosowanie kombinacji, gdy kolejność ma znaczenie,
  • nieuwzględnianie zakazu zera na początku liczby,
  • liczenie tych samych przypadków kilka razy,
  • zapominanie o możliwości powtórzeń,
  • brak rozbicia zadania na przypadki.

Przykład rozszerzony. Kod PIN bez powtórzeń

Treść zadania: Ile jest 4-cyfrowych kodów PIN z różnych cyfr?

Pierwsza pozycja: 10 możliwości, druga: 9, trzecia: 8, czwarta: 7.

10·9·8·7=5040.

Odpowiedź: 5040.

Dlaczego nie 9·9·8·7? PIN może zaczynać się od 0, bo nie jest zwykłą liczbą czterocyfrową.

Przykład rozszerzony. Co najmniej jedna kobieta

Treść zadania: Z 6 kobiet i 4 mężczyzn wybieramy 3 osoby. Ile składów zawiera co najmniej jedną kobietę?

Wszystkich składów: C(10,3)=120. Bez kobiet: C(4,3)=4.

120−4=116.

Odpowiedź: 116.

Jak rozpoznać metodę — Kombinatoryka

✓ kolejne niezależne wybory → reguła mnożenia,

✓ alternatywne rozłączne przypadki → reguła dodawania,

✓ ustawienie wszystkich elementów → permutacje,

✓ wybór uporządkowany bez powtórzeń → wariacje bez powtórzeń,

✓ wybór nieuporządkowany → kombinacje,

✓ „co najmniej jeden” → często wygodniej policzyć dopełnienie.

13. Test działowy — Kombinatoryka

GOTOWE

11. Prawdopodobieństwo

Pełne kompendium — przestrzeń zdarzeń, prawdopodobieństwo klasyczne, dopełnienie, suma i iloczyn zdarzeń, niezależność, drzewka oraz losowania.

TeoriaWzory16 pełnych przykładówTest

1. Doświadczenie losowe i zdarzenie

Doświadczenie losowe to takie, którego wyniku nie znamy przed wykonaniem, choć znamy możliwe rezultaty.

Ω — przestrzeń wszystkich wyników elementarnych.

A⊂Ω — zdarzenie losowe.

Ω — zdarzenie pewne.

— zdarzenie niemożliwe.

Przykład 1. Rzut kostką

Treść zadania: Rzucamy zwykłą sześcienną kostką. Zapisz Ω oraz zdarzenie A: „wypadła liczba parzysta”.

Ω={1,2,3,4,5,6}, A={2,4,6}.

Odpowiedź: jak wyżej.

2. Prawdopodobieństwo klasyczne

P(A)=|A|/|Ω|

Wzór stosujemy wtedy, gdy wszystkie wyniki elementarne są jednakowo prawdopodobne.

Przykład 2. Liczba parzysta na kostce

Treść zadania: Jakie jest prawdopodobieństwo wyrzucenia liczby parzystej?

3 wyniki sprzyjające z 6 możliwych, więc P=3/6=1/2.

Odpowiedź: 1/2.

Przykład 3. Suma 7 na dwóch kostkach

Treść zadania: Rzucamy dwiema kostkami. Jakie jest prawdopodobieństwo, że suma oczek wyniesie 7?

Jest 36 uporządkowanych par wyników. Sprzyja 6: (1,6),(2,5),(3,4),(4,3),(5,2),(6,1).

Odpowiedź: 6/36=1/6.

3. Zdarzenie przeciwne

P(A')=1−P(A)

To szczególnie wygodne przy sformułowaniach „co najmniej jeden”, „nie mniej niż jeden”, „przynajmniej raz”.

Przykład 4. Co najmniej jedna szóstka

Treść zadania: Rzucamy kostką dwa razy. Jakie jest prawdopodobieństwo, że co najmniej raz wypadnie 6?

P(brak 6)=(5/6)²=25/36.

P(co najmniej jedna 6)=1−25/36=11/36.

Odpowiedź: 11/36.

4. Suma zdarzeń

P(A∪B)=P(A)+P(B)−P(A∩B)

Przykład 5. Parzysta lub większa od 4

Treść zadania: Rzucamy kostką. A: liczba parzysta. B: liczba większa od 4. Oblicz P(A∪B).

A={2,4,6}, B={5,6}, A∩B={6}. Zatem 3/6+2/6−1/6=2/3.

Odpowiedź: 2/3.

5. Iloczyn zdarzeń i niezależność

Dla zdarzeń niezależnych: P(A∩B)=P(A)·P(B)

Przykład 6. Dwa orły

Treść zadania: Rzucamy monetą dwa razy. Oblicz prawdopodobieństwo dwóch orłów.

1/2·1/2=1/4.

Odpowiedź: 1/4.

Przykład 7. Moneta i kostka

Treść zadania: Rzucamy monetą i kostką. Oblicz prawdopodobieństwo orła i liczby 6.

1/2·1/6=1/12.

Odpowiedź: 1/12.

6. Drzewka prawdopodobieństwa

Drzewko porządkuje doświadczenia wieloetapowe. Prawdopodobieństwa wzdłuż jednej ścieżki mnożymy, a rozłączne ścieżki prowadzące do tego samego zdarzenia dodajemy.

Przykład 8. Dokładnie jeden orzeł

Treść zadania: Rzucamy monetą dwa razy. Jakie jest prawdopodobieństwo dokładnie jednego orła?

Ścieżki: OR i RO. Każda ma prawdopodobieństwo 1/4, więc łącznie 1/2.

Odpowiedź: 1/2.

7. Losowanie bez zwracania

Po pierwszym losowaniu skład zbioru się zmienia, więc zmieniają się także kolejne prawdopodobieństwa.

Przykład 9. Dwie czerwone kule

Treść zadania: W urnie są 3 czerwone i 2 niebieskie kule. Losujemy 2 bez zwracania. Jakie jest prawdopodobieństwo dwóch czerwonych?

3/5·2/4=3/10.

Odpowiedź: 3/10.

Przykład 10. Jedna czerwona i jedna niebieska

Treść zadania: Z tej samej urny losujemy 2 kule bez zwracania. Oblicz prawdopodobieństwo jednej czerwonej i jednej niebieskiej.

CN: 3/5·2/4=3/10. NC: 2/5·3/4=3/10. Razem 3/5.

Odpowiedź: 3/5.

8. Kombinatoryka i prawdopodobieństwo

Przykład 11. Dokładnie dwie kobiety

Treść zadania: W grupie jest 6 kobiet i 4 mężczyzn. Losujemy 3 osoby. Jakie jest prawdopodobieństwo, że dokładnie 2 będą kobietami?

Wszystkich zespołów: C(10,3)=120. Sprzyjających: C(6,2)·C(4,1)=60.

Odpowiedź: 60/120=1/2.

Przykład 12. Co najmniej jedna kobieta

Treść zadania: Z tej samej grupy losujemy 3 osoby. Jakie jest prawdopodobieństwo, że w zespole będzie co najmniej jedna kobieta?

Używamy dopełnienia. P(brak kobiet)=C(4,3)/C(10,3)=1/30.

Odpowiedź: 29/30.

9. Zadania tekstowe

Przykład 13. Produkt wadliwy

Treść zadania: Prawdopodobieństwo wady wynosi 0,03. Jakie jest prawdopodobieństwo braku wady?

1−0,03=0,97.

Odpowiedź: 0,97.

Przykład 14. Dwa urządzenia

Treść zadania: A działa z prawdopodobieństwem 0,9, B z 0,8. Zdarzenia są niezależne. Jakie jest prawdopodobieństwo, że oba zadziałają?

0,9·0,8=0,72.

Odpowiedź: 0,72.

Przykład 15. Dokładnie jeden sukces

Treść zadania: Dwa niezależne testy kończą się sukcesem z prawdopodobieństwami 0,7 i 0,6. Jakie jest prawdopodobieństwo dokładnie jednego sukcesu?

0,7·0,4+0,3·0,6=0,46.

Odpowiedź: 0,46.

Przykład 16. Dobór metody

Treść zadania: Rzucamy kostką 5 razy. Chcemy policzyć prawdopodobieństwo, że co najmniej raz wypadnie 6. Jaka metoda jest najwygodniejsza?

Najłatwiej policzyć zdarzenie przeciwne: ani razu nie wypada 6.

Odpowiedź: zastosować dopełnienie.

10. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw ustal przestrzeń wszystkich wyników.

✓ Przy „co najmniej jeden” sprawdź dopełnienie.

✓ Przy wieloetapowym losowaniu rozważ drzewko.

✓ Bez zwracania aktualizuj licznik i mianownik.

✓ Przy wyborze zespołów często najwygodniejsze są kombinacje.

✓ Wynik prawdopodobieństwa musi należeć do przedziału [0,1].

Najczęstsze błędy:
  • założenie niezależności tam, gdzie jej nie ma,
  • nieuwzględnienie zmiany składu przy losowaniu bez zwracania,
  • mylenie „co najmniej” z „dokładnie”,
  • złe policzenie wszystkich przypadków,
  • dodanie prawdopodobieństw zdarzeń nierozłącznych bez korekty części wspólnej.

Przykład rozszerzony. Co najmniej jedna szóstka

Treść zadania: Rzucamy uczciwą kostką 5 razy. Oblicz prawdopodobieństwo, że co najmniej raz wypadnie 6.

Łatwiej policzyć dopełnienie: ani razu nie wypada 6.

P(brak 6)=(5/6)^5.

P(co najmniej jedna 6)=1−(5/6)^5.

Odpowiedź: 1−(5/6)^5 ≈ 0,5981.

Przykład rozszerzony. Losowanie bez zwracania

Treść zadania: W urnie są 3 czerwone i 2 niebieskie kule. Losujemy dwie bez zwracania. Oblicz prawdopodobieństwo dwóch czerwonych.

Pierwsza czerwona: 3/5. Po jej wylosowaniu zostają 2 czerwone z 4 kul.

P=3/5·2/4=3/10.

Odpowiedź: 3/10.

Jak rozpoznać metodę — Prawdopodobieństwo

✓ jednakowo prawdopodobne wyniki → |A|/|Ω|,

✓ „co najmniej jeden” → dopełnienie,

✓ losowania bez zwracania → prawdopodobieństwa kolejnych etapów się zmieniają,

✓ niezależne zdarzenia → iloczyn prawdopodobieństw,

✓ dokładnie k sukcesów → rozpisz przypadki lub użyj kombinatoryki,

✓ najpierw zbuduj poprawną przestrzeń zdarzeń, dopiero potem licz.

11. Test działowy — Prawdopodobieństwo

GOTOWE

12. Statystyka

Pełne kompendium — średnia, mediana, dominanta, rozstęp, średnia ważona, odchylenie standardowe oraz interpretacja danych.

TeoriaWzory15 pełnych przykładówTest

1. Dane statystyczne i ich porządkowanie

Statystyka opisowa pozwala w syntetyczny sposób opisać zbiór danych. Zanim zaczniemy liczyć medianę lub dominantę, dane często warto uporządkować rosnąco.

Przykład 1. Porządkowanie danych

Treść zadania: Uporządkuj rosnąco dane 7,3,9,3,5.

3,3,5,7,9.

Odpowiedź: 3,3,5,7,9.

2. Średnia arytmetyczna

x̄=(x₁+x₂+...+xₙ)/n

Przykład 2. Średnia z ocen

Treść zadania: Oblicz średnią liczb 4,5,3,6,2.

Suma: 20. Liczba danych: 5.

x̄=20/5=4.

Odpowiedź: 4.

Przykład 3. Brakująca wartość ze średniej

Treść zadania: Średnia pięciu liczb wynosi 8. Cztery z nich to 5,7,9,10. Wyznacz piątą.

Suma pięciu liczb musi wynosić 5·8=40.

Suma znanych: 31.

Brakująca liczba: 40−31=9.

Odpowiedź: 9.

3. Mediana

Mediana to wartość środkowa w uporządkowanym zbiorze danych.

Nieparzysta liczba danych → jedna wartość środkowa.

Parzysta liczba danych → średnia dwóch wartości środkowych.

Przykład 4. Mediana przy nieparzystej liczbie danych

Treść zadania: Wyznacz medianę danych 3,7,2,9,5.

Po uporządkowaniu: 2,3,5,7,9.

Wartość środkowa to 5.

Odpowiedź: 5.

Przykład 5. Mediana przy parzystej liczbie danych

Treść zadania: Wyznacz medianę danych 2,4,7,10.

Dwie środkowe wartości to 4 i 7.

Mediana=(4+7)/2=5,5.

Odpowiedź: 5,5.

4. Dominanta

Dominanta (moda) to wartość występująca najczęściej.

Przykład 6. Dominanta

Treść zadania: Dla danych 2,3,3,4,4,4,5 wyznacz dominantę.

Najczęściej występuje 4 — trzy razy.

Odpowiedź: 4.

Zbiór może nie mieć dominanty albo może mieć więcej niż jedną dominantę.

5. Rozstęp

R=max−min

Przykład 7. Rozstęp

Treść zadania: Dla danych 3,7,11,4,9 oblicz rozstęp.

max=11, min=3.

R=11−3=8.

Odpowiedź: 8.

6. Średnia ważona

x̄=(w₁x₁+w₂x₂+...+wₙxₙ)/(w₁+w₂+...+wₙ)

Przykład 8. Oceny z wagami

Treść zadania: Uczeń ma ocenę 4 z wagą 1 oraz ocenę 5 z wagą 3. Oblicz średnią ważoną.

(4·1+5·3)/(1+3)=19/4=4,75.

Odpowiedź: 4,75.

7. Tabela częstości

Jeśli dana wartość występuje wielokrotnie, zamiast wypisywać ją wiele razy można użyć tabeli częstości.

Przykład 9. Średnia z tabeli częstości

Treść zadania: Wartość 2 występuje 3 razy, 4 występuje 2 razy, a 5 występuje 1 raz. Oblicz średnią.

Suma ważona: 2·3+4·2+5·1=19.

Liczba obserwacji: 6.

Średnia=19/6≈3,17.

Odpowiedź: 19/6.

8. Wykresy i interpretacja danych

Na maturze trzeba nie tylko odczytywać wartości, ale również wyciągać wnioski z wykresu słupkowego, liniowego czy tabeli.

Przykład 10. Zmiana procentowa z wykresu

Treść zadania: Sprzedaż wzrosła z 200 do 250 sztuk. O ile procent wzrosła?

Wzrost: 50.

50/200=0,25=25%.

Odpowiedź: 25%.

9. Odchylenie standardowe — sens i obliczanie

Odchylenie standardowe mierzy, jak bardzo dane są rozproszone wokół średniej. Im mniejsze, tym dane są bardziej skupione.

σ=√[( (x₁−x̄)²+...+(xₙ−x̄)² )/n]

Przykład 11. Prosty zbiór danych

Treść zadania: Oblicz odchylenie standardowe danych 2,2,4,4.

Średnia x̄=3.

Odchylenia: −1,−1,1,1.

Kwadraty: 1,1,1,1. Średnia kwadratów =1.

σ=√1=1.

Odpowiedź: 1.

Przykład 12. Porównanie rozproszenia

Treść zadania: Zbiory A={4,4,4,4} i B={2,4,4,6} mają tę samą średnią 4. Który ma większe odchylenie standardowe?

W A wszystkie wartości są równe średniej, więc σ=0.

W B występują odchylenia od średniej, więc σ>0.

Odpowiedź: zbiór B.

10. Zadania porównawcze

Przykład 13. Średnia a mediana

Treść zadania: Dane to 2,3,3,4,20. Oblicz średnią i medianę. Która miara lepiej opisuje typową wartość?

Średnia=32/5=6,4.

Mediana=3.

Wartość 20 silnie podnosi średnią, więc mediana lepiej opisuje typową obserwację.

Wniosek: mediana.

Przykład 14. Brakująca ocena

Treść zadania: Średnia czterech ocen wynosi 4,5. Trzy z nich to 4,5,5. Jaka jest czwarta?

Suma wszystkich ocen: 18.

Suma znanych: 14.

Brakująca: 4.

Odpowiedź: 4.

Przykład 15. Zmiana średniej

Treść zadania: Średnia 5 liczb wynosi 10. Dodano szóstą liczbę równą 16. Jaka jest nowa średnia?

Stara suma: 50. Nowa suma: 66.

Nowa średnia=66/6=11.

Odpowiedź: 11.

11. Strategie egzaminacyjne i typowe błędy

✓ Przy medianie najpierw uporządkuj dane.

✓ Przy średniej ważonej dziel przez sumę wag, nie przez liczbę ocen.

✓ Rozstęp to max−min.

✓ Przy tabeli częstości pamiętaj o pomnożeniu wartości przez liczebność.

✓ Odchylenie standardowe opisuje rozproszenie, nie poziom średniej.

✓ Zwracaj uwagę na wartości odstające, które mogą zniekształcać średnią.

Najczęstsze błędy:
  • mediana liczona bez uporządkowania danych,
  • pomijanie wag,
  • mylenie dominanty z medianą,
  • dzielenie przez złą liczbę obserwacji,
  • niepoprawna interpretacja wykresu lub skali osi.

Przykład rozszerzony. Średnia a mediana przy wartości odstającej

Treść zadania: Dane to 2,3,3,4,20. Oblicz średnią i medianę oraz wskaż, która miara lepiej opisuje typową wartość.

Średnia=(2+3+3+4+20)/5=32/5=6,4.

Mediana to środkowa wartość uporządkowanego zbioru, czyli 3.

Odpowiedź: średnia 6,4; mediana 3; typową wartość lepiej opisuje mediana.

Dlaczego? wartość 20 jest odstająca i silnie podnosi średnią.

Przykład rozszerzony. Odchylenie standardowe dwóch zbiorów

Treść zadania: Porównaj rozproszenie A={4,4,4,4} i B={2,4,4,6}.

Oba zbiory mają średnią 4. W A wszystkie odchylenia od średniej są zerowe, więc σ=0.

W B część wartości różni się od 4, więc σ>0.

Odpowiedź: większe rozproszenie ma zbiór B.

Jak rozpoznać metodę — Statystyka

✓ średnia → suma / liczba danych,

✓ mediana → najpierw uporządkuj dane,

✓ dominanta → najczęstsza wartość,

✓ średnia ważona → suma iloczynów / suma wag,

✓ rozstęp → max−min,

✓ wartość odstająca → porównaj średnią i medianę,

✓ odchylenie standardowe → miara rozproszenia, nie poziomu średniej.

12. Test działowy — Statystyka

GOTOWE

1. Algorytmika

Pełne kompendium — od rozumienia problemu, przez pseudokod i Python, po złożoność, przypadki brzegowe i pełne zadania maturalne.

TeoriaPseudokodPython18 pełnych przykładówTest

1. Co to jest algorytm?

Algorytm to skończony, jednoznaczny ciąg kroków prowadzących od danych wejściowych do rozwiązania problemu.

Poprawność: algorytm daje właściwy wynik dla każdego dopuszczalnego wejścia.

Skończoność: algorytm musi zakończyć działanie po skończonej liczbie kroków.

Jednoznaczność: każdy krok musi być precyzyjnie określony.

Przykład 1. Najprostszy algorytm

Problem: wczytaj dwie liczby i wypisz większą.

Dane wejściowe: a, b.

Wynik: większa z liczb.

if a > b:
    print(a)
else:
    print(b)

Dlaczego działa? Są tylko dwa przypadki: a>b albo a≤b. W obu algorytm zwraca liczbę nie mniejszą od drugiej.

Wniosek / wynik: Dlaczego działa? Są tylko dwa przypadki: a>b albo a≤b. W obu algorytm zwraca liczbę nie mniejszą od drugiej.

2. Dane wejściowe, przetwarzanie i wynik

W zadaniu algorytmicznym zawsze rozdziel trzy rzeczy: co dostajemy, co trzeba obliczyć i co wypisujemy.

Przykład 2. Pole prostokąta

Problem: dla boków a i b oblicz pole.

Wejście: a, b.

Przetwarzanie: P=a·b.

Wyjście: P.

a = float(input())
b = float(input())
P = a * b
print(P)

Wniosek / wynik: Wyjście: P.

3. Zmienna i przypisanie

Instrukcja x = x + 1 nie jest równaniem matematycznym. Oznacza: pobierz starą wartość x, dodaj 1 i zapisz wynik z powrotem do x.

Przykład 3. Śledzenie wartości zmiennej

Treść: Co wypisze kod?

x = 4
x = x + 3
x = 2 * x
print(x)

Po pierwszej linii x=4, po drugiej x=7, po trzeciej x=14.

Wynik: 14.

4. Instrukcja warunkowa

Warunek wybiera jedną z kilku ścieżek wykonania.

if warunek:
    instrukcje
elif inny_warunek:
    instrukcje
else:
    instrukcje

Przykład 4. Parzystość liczby

Problem: sprawdź, czy liczba n jest parzysta.

Klucz: liczba jest parzysta wtedy i tylko wtedy, gdy reszta z dzielenia przez 2 wynosi 0.

if n % 2 == 0:
    print("parzysta")
else:
    print("nieparzysta")

Wniosek / wynik: Klucz: liczba jest parzysta wtedy i tylko wtedy, gdy reszta z dzielenia przez 2 wynosi 0.

5. Pętle

Pętla służy do powtarzania operacji. for jest naturalny, gdy znamy liczbę powtórzeń. while — gdy powtarzamy operację do spełnienia warunku.

Przykład 5. Suma liczb od 1 do n

Problem: oblicz 1+2+...+n.

suma = 0
for i in range(1, n + 1):
    suma += i
print(suma)

Dlaczego startujemy od 0? Zero jest elementem neutralnym dodawania. Nie zmienia wyniku pierwszego dodania.

Wniosek / wynik: Dlaczego startujemy od 0? Zero jest elementem neutralnym dodawania. Nie zmienia wyniku pierwszego dodania.

Przykład 6. Pętla while

Problem: ile razy trzeba podzielić dodatnią liczbę n przez 2 całkowicie, aż stanie się mniejsza od 2?

k = 0
while n >= 2:
    n //= 2
    k += 1
print(k)

Wniosek / wynik: Problem: ile razy trzeba podzielić dodatnią liczbę n przez 2 całkowicie, aż stanie się mniejsza od 2?

6. Minimum i maksimum

Przy szukaniu maksimum w niepustej liście najbezpieczniej zainicjalizować wynik pierwszym elementem, a nie zerem.

Przykład 7. Maksimum w tablicy

Problem: znajdź największy element listy.

Błędny pomysł: maks = 0. Dla listy [-8,-3,-11] wynik byłby błędny.

Poprawnie:

maks = dane[0]
for x in dane[1:]:
    if x > maks:
        maks = x
print(maks)

Prześledzenie dla [5,2,9,4]: maks=5 → 5 → 9 → 9.

Złożoność: O(n).

Wniosek / wynik: Złożoność: O(n).

Przykład 8. Minimum i jego pozycja

min_w = dane[0]
min_i = 0
for i in range(1, len(dane)):
    if dane[i] < min_w:
        min_w = dane[i]
        min_i = i

Przechowujemy nie tylko wartość, ale również indeks.

Wniosek / wynik: Przechowujemy nie tylko wartość, ale również indeks.

7. Zliczanie i sumowanie

Dwa podstawowe schematy to licznik i akumulator.

Przykład 9. Ile liczb jest dodatnich?

ile = 0
for x in dane:
    if x > 0:
        ile += 1

Znaczenie zmiennej ile: po przetworzeniu kolejnych elementów przechowuje liczbę dodatnich elementów już obejrzanych.

Wniosek / wynik: Znaczenie zmiennej ile: po przetworzeniu kolejnych elementów przechowuje liczbę dodatnich elementów już obejrzanych.

Przykład 10. Suma tylko liczb parzystych

s = 0
for x in dane:
    if x % 2 == 0:
        s += x

8. Wyszukiwanie liniowe

Przeglądamy elementy po kolei, aż znajdziemy szukaną wartość albo dojdziemy do końca.

Przykład 11. Czy x występuje w danych?

znaleziono = False
for a in dane:
    if a == x:
        znaleziono = True
        break

Najlepszy przypadek: O(1), gdy element jest pierwszy.

Najgorszy przypadek: O(n).

Wniosek / wynik: Najgorszy przypadek: O(n).

9. Niezmiennik pętli i poprawność

Niezmiennik to własność, która jest prawdziwa przed i po każdej iteracji. Pomaga uzasadnić poprawność algorytmu.

Przykład 12. Niezmiennik maksimum

Dla algorytmu maksimum niezmiennik brzmi:

Po przetworzeniu pierwszych k elementów zmienna maks zawiera największy z nich.

Na początku k=1 i maks=dane[0], więc własność jest prawdziwa. Każdy kolejny element albo zastępuje maks, albo nie — więc własność pozostaje prawdziwa.

Wniosek / wynik: Na początku k=1 i maks=dane[0], więc własność jest prawdziwa. Każdy kolejny element albo zastępuje maks, albo nie — więc własność pozostaje prawdziwa.

10. Złożoność obliczeniowa

Złożoność opisuje tempo wzrostu liczby operacji wraz z rozmiarem danych.

O(1) — stała liczba operacji.

O(log n) — np. wielokrotne dzielenie problemu na pół.

O(n) — jedno przejście po danych.

O(n²) — zwykle dwie zagnieżdżone pętle po n elementach.

Przykład 13. Analiza dwóch pętli

for i in range(n):
    for j in range(n):
        wykonaj_operacje()

Operacja wykona się n·n=n² razy.

Złożoność: O(n²).

11. Największy wspólny dzielnik — algorytm Euklidesa

Podstawowa własność: NWD(a,b)=NWD(b,a mod b).

Przykład 14. NWD(84,30)

a = 84
b = 30
while b != 0:
    a, b = b, a % b
print(a)

84 mod 30=24 → 30 mod 24=6 → 24 mod 6=0.

Odpowiedź: NWD=6.

Złożoność: O(log min(a,b)).

12. Sprawdzanie pierwszości

Liczba n>1 jest pierwsza, jeśli ma dokładnie dwa dodatnie dzielniki: 1 i n.

Przykład 15. Test pierwszości do √n

Jeśli n ma dzielnik większy od √n, to drugi odpowiadający dzielnik jest mniejszy od √n. Wystarczy więc sprawdzać do pierwiastka.

def pierwsza(n):
    if n < 2:
        return False
    d = 2
    while d * d <= n:
        if n % d == 0:
            return False
        d += 1
    return True

Złożoność: O(√n).

Wniosek / wynik: Złożoność: O(√n).

13. Testowanie algorytmów i przypadki brzegowe

Dobry program sprawdzamy nie tylko na „normalnych” danych.

✓ najmniejszy dopuszczalny rozmiar danych,

✓ wszystkie liczby ujemne,

✓ wszystkie jednakowe,

✓ element szukany na początku i końcu,

✓ brak szukanego elementu,

✓ wartości skrajne.

Przykład 16. Test maksimum

Dla algorytmu maksimum warto sprawdzić:

[5] → 5, [-4,-1,-9] → -1, [3,3,3] → 3, [100,-5,0] → 100.

Wniosek / wynik: [5] → 5, [-4,-1,-9] → -1, [3,3,3] → 3, [100,-5,0] → 100.

14. Pełne zadania w stylu maturalnym

Przykład 17. Najdłuższa seria liczb dodatnich

Treść zadania: Dany jest ciąg liczb całkowitych. Wyznacz długość najdłuższego spójnego fragmentu składającego się wyłącznie z liczb dodatnich.

Pomysł: przechowujemy długość aktualnej serii oraz najlepszy wynik.

akt = 0
naj = 0
for x in dane:
    if x > 0:
        akt += 1
        if akt > naj:
            naj = akt
    else:
        akt = 0
print(naj)

Dlaczego reset do zera? Liczba niedodatnia przerywa bieżącą spójną serię.

Złożoność: O(n).

Test: [1,2,-1,3,4,5,0,7] → 3.

Wniosek / wynik: Test: [1,2,-1,3,4,5,0,7] → 3.

Przykład 18. Druga największa różna wartość

Treść zadania: Dla listy zawierającej co najmniej dwie różne liczby znajdź drugą największą różną wartość.

Idea: przechowujemy największą i drugą największą różną wartość.

naj1 = None
naj2 = None

for x in dane:
    if naj1 is None or x > naj1:
        if x != naj1:
            naj2 = naj1
        naj1 = x
    elif x != naj1 and (naj2 is None or x > naj2):
        naj2 = x

print(naj2)

Test: [7,3,7,5,2] → 5.

Pułapka: druga największa wartość różna nie oznacza drugiego elementu po sortowaniu z duplikatami.

Złożoność: O(n).

Wniosek / wynik: Złożoność: O(n).

15. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw zapisz dokładnie dane wejściowe i oczekiwany wynik.

✓ Zanim kodujesz, wymyśl prosty schemat słowny lub pseudokod.

✓ Nazwij, co oznacza każda zmienna.

✓ Po napisaniu algorytmu prześledź go ręcznie na małym przykładzie.

✓ Sprawdź przypadki brzegowe.

✓ Oszacuj złożoność.

✓ Jeśli zadanie wymaga jednego przejścia po pliku, nie sortuj bez potrzeby.

Najczęstsze błędy:
  • inicjalizacja maksimum zerem,
  • błąd o jeden w range,
  • brak resetowania licznika serii,
  • nieobsłużenie n=0 lub n=1, jeśli takie dane są dopuszczalne,
  • niepotrzebna złożoność O(n²), gdy wystarcza O(n),
  • mylenie wartości z indeksem.

Przykład rozszerzony. Druga największa różna wartość

Treść zadania: Dla tablicy [7,3,7,5,2] znajdź drugą największą różną wartość bez sortowania całej tablicy.

Pomysł: przechowujemy dwie wartości: największą oraz drugą największą różną od niej.

Przebieg: po 7 mamy naj1=7, naj2=None; 3 daje naj2=3; kolejne 7 pomijamy jako duplikat; 5 podnosi naj2 do 5; 2 nic nie zmienia.

Odpowiedź: 5.

Złożoność: O(n), pamięć O(1).

Przykład rozszerzony. Czy algorytm maksimum jest poprawny?

Treść zadania: Oceń kod maks=0; for x in dane: if x>maks: maks=x dla danych [-8,-3,-11].

Żaden element nie jest większy od 0, więc wynik pozostanie 0, choć 0 nie występuje w tablicy.

Odpowiedź: algorytm jest błędny; należy rozpocząć od maks=dane[0].

Przypadek brzegowy, który ujawnia błąd: wszystkie liczby ujemne.

Jak rozpoznać schemat algorytmiczny?

✓ „policz ile” → licznik,

✓ „oblicz sumę wybranych” → akumulator + warunek,

✓ „największy/najmniejszy” → bieżące ekstremum inicjalizowane pierwszym elementem,

✓ „czy występuje” → wyszukiwanie i możliwe wcześniejsze zakończenie,

✓ „najdłuższa seria” → długość bieżącej serii + najlepszy wynik,

✓ „dla każdej pary” → zwykle pętle zagnieżdżone, ale zawsze sprawdź, czy da się szybciej,

✓ „dużo danych” → oceń złożoność zanim zaczniesz kodować.

16. Test działowy — Algorytmika

GOTOWE

2. Programowanie

Pełne kompendium — Python potrzebny na maturze: typy danych, listy, napisy, funkcje, pętle, pliki, debugowanie i analiza kodu.

TeoriaPython18 pełnych przykładówTest

1. Typy danych

int — liczby całkowite

float — liczby rzeczywiste

str — napisy

bool — True / False

list — uporządkowana kolekcja elementów

Przykład 1. Typ wyniku

Treść: Jaki typ ma wynik działania 7 / 2 w Pythonie?

Operator / wykonuje dzielenie rzeczywiste.

Odpowiedź: float, wartość 3.5.

2. Operatory

+, -, *, / — działania podstawowe

// — dzielenie całkowite

% — reszta z dzielenia

** — potęgowanie

== != < > <= >= — porównania

Przykład 2. Dzielenie całkowite i modulo

Treść: Oblicz wartości 17//5 oraz 17%5.

17=3·5+2.

Odpowiedź: 3 i 2.

3. Wejście i wyjście

input() zwraca napis. Jeżeli potrzebujemy liczby, konwertujemy wynik.

Przykład 3. Wczytanie liczby

n = int(input())
print(n * 2)

Dla wejścia 7 program wypisze 14.

Wniosek / wynik: Dla wejścia 7 program wypisze 14.

4. Listy

Lista pozwala przechowywać wiele wartości. Indeksy zaczynają się od 0.

Przykład 4. Indeksowanie

dane = [10, 20, 30, 40]
print(dane[2])

Wynik: 30.

Przykład 5. Przejście po liście

s = 0
for x in dane:
    s += x

Po pętli s jest sumą elementów listy.

Wniosek / wynik: Po pętli s jest sumą elementów listy.

Przykład 6. Indeks i wartość

for i, x in enumerate(dane):
    print(i, x)

enumerate jest wygodne, gdy potrzebujemy jednocześnie indeksu i wartości.

Wniosek / wynik: enumerate jest wygodne, gdy potrzebujemy jednocześnie indeksu i wartości.

5. Napisy

Napis zachowuje się podobnie do sekwencji znaków. Można go indeksować i przechodzić po znakach.

Przykład 7. Liczenie cyfr w napisie

ile = 0
for znak in s:
    if znak.isdigit():
        ile += 1

Problem: policz znaki będące cyframi.

Wniosek / wynik: Problem: policz znaki będące cyframi.

Przykład 8. Palindrom

Treść: Sprawdź, czy napis jest palindromem.

if s == s[::-1]:
    print("TAK")
else:
    print("NIE")

Odwrócony napis porównujemy z oryginałem.

Wniosek / wynik: Odwrócony napis porównujemy z oryginałem.

6. Funkcje

Funkcja pozwala zamknąć fragment logiki pod nazwą i wielokrotnie go używać.

Przykład 9. Funkcja maksimum dwóch liczb

def wieksza(a, b):
    if a > b:
        return a
    return b

return kończy funkcję i zwraca wynik.

Wniosek / wynik: return kończy funkcję i zwraca wynik.

Przykład 10. Funkcja z warunkiem

def parzysta(n):
    return n % 2 == 0

Dla 8 zwróci True, dla 7 — False.

Wniosek / wynik: Dla 8 zwróci True, dla 7 — False.

7. Pętle zagnieżdżone

Pętla wewnątrz pętli często służy do analizowania wszystkich par elementów.

Przykład 11. Liczba par o sumie 10

ile = 0
for i in range(len(dane)):
    for j in range(i + 1, len(dane)):
        if dane[i] + dane[j] == 10:
            ile += 1

Dlaczego j zaczyna się od i+1? Nie liczymy pary elementu z samym sobą ani tej samej pary dwa razy.

Złożoność: O(n²).

Wniosek / wynik: Złożoność: O(n²).

8. Słowniki i zliczanie częstości

Słownik mapuje klucz na wartość. Bardzo często używa się go do liczenia wystąpień.

Przykład 12. Licznik wystąpień

licznik = {}
for x in dane:
    if x not in licznik:
        licznik[x] = 0
    licznik[x] += 1

Po pętli licznik[x] mówi, ile razy wystąpiła wartość x.

Wniosek / wynik: Po pętli licznik[x] mówi, ile razy wystąpiła wartość x.

9. Pliki tekstowe

W zadaniach maturalnych dane często znajdują się w pliku. W Pythonie typowy schemat to otwarcie pliku, odczyt wierszy i ich przetwarzanie.

Przykład 13. Wczytanie liczb z pliku

with open("dane.txt", "r", encoding="utf-8") as f:
    dane = [int(wiersz.strip()) for wiersz in f]

strip() usuwa znak końca linii.

Wniosek / wynik: strip() usuwa znak końca linii.

Przykład 14. Dwie liczby w wierszu

with open("dane.txt", "r", encoding="utf-8") as f:
    for wiersz in f:
        a, b = map(int, wiersz.split())

split() dzieli wiersz po białych znakach.

Wniosek / wynik: split() dzieli wiersz po białych znakach.

10. Sortowanie

sorted() zwraca nową posortowaną kolekcję, a list.sort() sortuje listę w miejscu.

Przykład 15. Sortowanie malejące

posortowane = sorted(dane, reverse=True)

Przykład 16. Sortowanie par według drugiej wartości

pary = [(2, 8), (1, 3), (5, 4)]
pary.sort(key=lambda p: p[1])

Po sortowaniu kolejność wynika z drugiej współrzędnej.

Wniosek / wynik: Po sortowaniu kolejność wynika z drugiej współrzędnej.

11. Debugowanie

Debugowanie polega na znalezieniu miejsca, gdzie program przestaje realizować założony algorytm.

Przykład 17. Błąd o jeden

for i in range(1, len(dane)):
    if dane[i] > dane[i-1]:
        ...

Start od 1 jest konieczny, bo dla i=0 odwołanie do i−1 oznaczałoby ostatni element listy w Pythonie, co zwykle jest logicznie błędne.

Wniosek / wynik: Start od 1 jest konieczny, bo dla i=0 odwołanie do i−1 oznaczałoby ostatni element listy w Pythonie, co zwykle jest logicznie błędne.

✓ sprawdź indeksy,

✓ sprawdź warunki graniczne,

✓ wypisz pośrednie wartości,

✓ przetestuj małe dane ręcznie.

12. Analiza kodu

Przykład 18. Co robi ten program?

wynik = 0
for x in dane:
    if x > wynik:
        wynik = x

Pytanie: Czy kod zawsze znajduje maksimum?

Nie. Dla wszystkich liczb ujemnych wynik pozostanie 0, choć 0 może wcale nie występować w danych.

Poprawa: zainicjalizować wynik = dane[0].

Wniosek / wynik: Poprawa: zainicjalizować wynik = dane[0] .

13. Zadania w stylu maturalnym

Zadanie A. Najczęściej występująca liczba

Treść: Dla listy liczb wyznacz wartość występującą najczęściej. Jeśli jest kilka takich wartości, podaj najmniejszą.

licznik = {}
for x in dane:
    licznik[x] = licznik.get(x, 0) + 1

maks_ile = max(licznik.values())
wynik = min(x for x in licznik if licznik[x] == maks_ile)
print(wynik)

Dlaczego działa? Najpierw liczymy częstości, potem wybieramy tylko klucze z maksymalną częstością i z nich najmniejszy.

Wniosek / wynik: Dlaczego działa? Najpierw liczymy częstości, potem wybieramy tylko klucze z maksymalną częstością i z nich najmniejszy.

Zadanie B. Liczba zmian kierunku

Treść: Dany jest ciąg różnych liczb. Policz, ile indeksów i ma własność, że a[i] jest większe od obu sąsiadów albo mniejsze od obu sąsiadów.

ile = 0
for i in range(1, len(dane)-1):
    if (dane[i] > dane[i-1] and dane[i] > dane[i+1]) or \
       (dane[i] < dane[i-1] and dane[i] < dane[i+1]):
        ile += 1

Przypadki brzegowe: pierwszy i ostatni element nie mają dwóch sąsiadów, więc ich nie badamy.

Złożoność: O(n).

Wniosek / wynik: Złożoność: O(n).

14. Strategie egzaminacyjne i najczęstsze błędy

✓ Rozdziel problem algorytmiczny od składni Pythona.

✓ Sprawdź typ danych po input().

✓ Pilnuj indeksów 0..n−1.

✓ Przy plikach dokładnie ustal format jednego wiersza.

✓ Nie sortuj, jeśli jedno przejście O(n) wystarcza.

✓ Funkcje powinny mieć jasny cel i zwracać jednoznaczny wynik.

Najczęstsze błędy:
  • mylenie = z ==,
  • błąd o jeden w range,
  • odwołanie do nieistniejącego indeksu,
  • brak konwersji z napisu na liczbę,
  • modyfikowanie listy w trakcie iterowania bez kontroli,
  • brak obsługi pustego lub jednoelementowego przypadku, jeśli jest dopuszczalny.

Przykład rozszerzony. Funkcja licząca lokalne maksima

Treść zadania: Dla listy różnych liczb policz elementy większe od obu swoich sąsiadów. Pierwszy i ostatni element pomijamy.

def lokalne_maksima(a):
    ile = 0
    for i in range(1, len(a)-1):
        if a[i] > a[i-1] and a[i] > a[i+1]:
            ile += 1
    return ile

Dla [1,5,2,7,3] lokalnymi maksimami są 5 i 7.

Odpowiedź: 2.

Dlaczego zakres zaczyna się od 1 i kończy przed len(a)-1? Skrajne elementy nie mają dwóch sąsiadów.

Przykład rozszerzony. Debugowanie błędu o jeden

Treść zadania: Program ma policzyć pary sąsiednich elementów, ale użyto pętli for i in range(len(a)) i odwołania do a[i+1]. Co jest nie tak?

Dla ostatniego i=len(a)-1 program spróbuje odczytać a[len(a)], czyli element poza tablicą.

Poprawa: użyj for i in range(len(a)-1).

Jak budować poprawny program na maturze?

✓ zacznij od specyfikacji wejścia i wyjścia,

✓ dobierz typ danych do problemu,

✓ podziel program na krótkie funkcje, jeśli logika się powtarza,

✓ przy listach pilnuj zakresu 0..n−1,

✓ przy plikach najpierw ustal dokładny format jednego wiersza,

✓ po napisaniu kodu sprawdź przypadek normalny, minimalny i skrajny,

✓ jeśli wynik jest zły, śledź wartości zmiennych zamiast zgadywać.

15. Test działowy — Programowanie

GOTOWE

3. Pliki i dane

Pełne kompendium — odczyt plików, dane wielokolumnowe, filtrowanie, agregacja, daty, duże zbiory, pliki wynikowe i zadania wielopunktowe.

TeoriaPython17 pełnych przykładówTest

1. Najpierw zrozum format danych

W zadaniach plikowych najważniejsze jest ustalenie, co oznacza jeden wiersz i jakie typy danych zawiera każda kolumna.

Przykład rekordu: 2026-05-17 Lublin 24.5 81

Może oznaczać: data, miasto, temperatura, wilgotność.

Przykład 1. Rozbicie wiersza

wiersz = "2026-05-17 Lublin 24.5 81"
data, miasto, temp, wilg = wiersz.split()

Po split() wszystkie cztery wartości są napisami. Liczby trzeba przekonwertować.

Wniosek / wynik: Po split() wszystkie cztery wartości są napisami. Liczby trzeba przekonwertować.

2. Odczyt pliku

Przykład 2. Odczyt wszystkich wierszy

with open("dane.txt", "r", encoding="utf-8") as f:
    for wiersz in f:
        wiersz = wiersz.strip()
        print(wiersz)

with automatycznie zamyka plik po zakończeniu pracy.

Wniosek / wynik: with automatycznie zamyka plik po zakończeniu pracy.

Przykład 3. Wczytanie liczb

with open("liczby.txt", "r", encoding="utf-8") as f:
    dane = [int(w.strip()) for w in f]

3. Wiersze wielokolumnowe

Przykład 4. Rekord liczbowy

Treść: W każdym wierszu są trzy liczby całkowite: identyfikator, liczba punktów, czas.

id_txt, pkt_txt, czas_txt = wiersz.split()
ident = int(id_txt)
pkt = int(pkt_txt)
czas = int(czas_txt)

Dlaczego jawnie? Dzięki temu łatwo kontrolować typ każdej kolumny.

Wniosek / wynik: Dlaczego jawnie? Dzięki temu łatwo kontrolować typ każdej kolumny.

4. Filtrowanie danych

Przykład 5. Liczba rekordów spełniających warunek

Problem: policz wiersze, w których temperatura przekracza 30°C.

ile = 0
for wiersz in f:
    data, miasto, temp_txt, wilg_txt = wiersz.split()
    temp = float(temp_txt)
    if temp > 30:
        ile += 1

Złożoność: O(n).

Wniosek / wynik: Złożoność: O(n).

5. Agregacja: suma, liczba, średnia

Średnia wymaga dwóch informacji: sumy i liczby rekordów.

Przykład 6. Średnia temperatur

suma = 0.0
ile = 0
for wiersz in f:
    _, _, temp_txt, _ = wiersz.split()
    suma += float(temp_txt)
    ile += 1

srednia = suma / ile

Przypadek brzegowy: jeśli plik może być pusty, trzeba sprawdzić ile > 0.

Wniosek / wynik: Przypadek brzegowy: jeśli plik może być pusty, trzeba sprawdzić ile > 0 .

Przykład 7. Średnia tylko dla wybranej grupy

Problem: oblicz średnią temperaturę tylko dla Lublina.

suma = 0.0
ile = 0
for wiersz in f:
    data, miasto, temp_txt, wilg_txt = wiersz.split()
    if miasto == "Lublin":
        suma += float(temp_txt)
        ile += 1

Wniosek / wynik: Problem: oblicz średnią temperaturę tylko dla Lublina.

6. Minimum, maksimum i rekord

Przy danych plikowych często trzeba pamiętać cały rekord, nie tylko wartość ekstremalną.

Przykład 8. Rekord z najwyższym wynikiem

naj_pkt = None
naj_id = None

for wiersz in f:
    ident, pkt, czas = map(int, wiersz.split())
    if naj_pkt is None or pkt > naj_pkt:
        naj_pkt = pkt
        naj_id = ident

Dlaczego None? Nie zakładamy niczego o zakresie punktów.

Wniosek / wynik: Dlaczego None? Nie zakładamy niczego o zakresie punktów.

7. Grupowanie danych

Jeżeli trzeba liczyć osobno dla wielu kategorii, słownik jest zwykle najlepszym narzędziem.

Przykład 9. Liczba rekordów na miasto

ile = {}
for wiersz in f:
    data, miasto, temp_txt, wilg_txt = wiersz.split()
    ile[miasto] = ile.get(miasto, 0) + 1

Przykład 10. Suma punktów na zawodnika

suma = {}
for wiersz in f:
    zawodnik, pkt_txt = wiersz.split()
    pkt = int(pkt_txt)
    suma[zawodnik] = suma.get(zawodnik, 0) + pkt

8. Daty i dane tekstowe

Datę w formacie RRRR-MM-DD można często porównywać leksykograficznie, bo kolejność tekstowa odpowiada chronologicznej.

Przykład 11. Najwcześniejsza data

naj_data = None
for wiersz in f:
    data, wartosc = wiersz.split()
    if naj_data is None or data < naj_data:
        naj_data = data

Warunek: format musi być stały, np. 2026-09-05.

Wniosek / wynik: Warunek: format musi być stały, np. 2026-09-05.

9. Duże pliki — nie zawsze wczytuj wszystko

Jeśli zadanie można rozwiązać jednym przejściem po pliku, nie trzeba ładować całego zbioru do pamięci.

Przykład 12. Maksimum strumieniowo

maks = None
for wiersz in f:
    x = int(wiersz)
    if maks is None or x > maks:
        maks = x

Pamięć: O(1).

Czas: O(n).

Wniosek / wynik: Czas: O(n).

10. Zapisywanie wyników

Przykład 13. Plik wynikowy

with open("wyniki.txt", "w", encoding="utf-8") as out:
    out.write(f"Największa wartość: {maks}\n")
    out.write(f"Liczba rekordów: {ile}\n")

W zadaniu egzaminacyjnym trzeba pilnować dokładnie żądanego formatu wyniku.

Wniosek / wynik: W zadaniu egzaminacyjnym trzeba pilnować dokładnie żądanego formatu wyniku.

11. Walidacja i niepoprawne dane

Na maturze format pliku jest zwykle zgodny ze specyfikacją, ale podczas testowania własnego kodu warto umieć wykrywać problemy.

Przykład 14. Pomijanie pustych wierszy

for wiersz in f:
    wiersz = wiersz.strip()
    if not wiersz:
        continue
    # dalsze przetwarzanie

12. Zadania wielopunktowe w stylu maturalnym

Przykład 15. Analiza pomiarów

Treść zadania: Plik zawiera wiersze: data, stacja, temperatura. Wyznacz: a) liczbę pomiarów powyżej 25°C, b) maksymalną temperaturę i stację, na której wystąpiła, c) średnią temperaturę dla każdej stacji.

Plan: jedno przejście po pliku i trzy struktury informacji.

ile25 = 0
maks_temp = None
maks_stacja = None
suma = {}
liczba = {}

for wiersz in f:
    data, stacja, temp_txt = wiersz.split()
    temp = float(temp_txt)

    if temp > 25:
        ile25 += 1

    if maks_temp is None or temp > maks_temp:
        maks_temp = temp
        maks_stacja = stacja

    suma[stacja] = suma.get(stacja, 0.0) + temp
    liczba[stacja] = liczba.get(stacja, 0) + 1

for stacja in suma:
    srednia = suma[stacja] / liczba[stacja]

Złożoność: O(n+k), gdzie k to liczba stacji.

Wniosek / wynik: Złożoność: O(n+k), gdzie k to liczba stacji.

Przykład 16. Najdłuższa seria rekordów spełniających warunek

Treść zadania: Plik zawiera po jednej liczbie dziennie. Wyznacz najdłuższą serię kolejnych dni, w których wartość była dodatnia.

akt = 0
naj = 0
for wiersz in f:
    x = int(wiersz)
    if x > 0:
        akt += 1
        naj = max(naj, akt)
    else:
        akt = 0

Nie trzeba przechowywać całego pliku.

Wniosek / wynik: Nie trzeba przechowywać całego pliku.

Przykład 17. Najpopularniejsza kategoria

Treść zadania: W każdym wierszu zapisano kategorię produktu. Wyznacz kategorię występującą najczęściej; przy remisie wybierz alfabetycznie pierwszą.

licznik = {}
for wiersz in f:
    kat = wiersz.strip()
    licznik[kat] = licznik.get(kat, 0) + 1

maks_ile = max(licznik.values())
wynik = min(k for k in licznik if licznik[k] == maks_ile)

Wniosek / wynik: Treść zadania: W każdym wierszu zapisano kategorię produktu. Wyznacz kategorię występującą najczęściej; przy remisie wybierz alfabetycznie pierwszą.

Przykład rozszerzony. Raport z pliku sprzedaży

Treść zadania: Plik zawiera w każdym wierszu: data, miasto, produkt, liczba_sztuk, cena_jednostkowa. Oblicz łączny przychód dla każdego miasta i wskaż miasto z największym przychodem.

Plan: dla każdego rekordu liczymy wartość sprzedaży = liczba_sztuk·cena_jednostkowa i dodajemy ją do sumy przypisanej do miasta.

przychod = {}
for wiersz in f:
    data, miasto, produkt, szt_txt, cena_txt = wiersz.split()
    wartosc = int(szt_txt) * float(cena_txt)
    przychod[miasto] = przychod.get(miasto, 0.0) + wartosc

naj_miasto = max(przychod, key=przychod.get)

Dlaczego słownik? liczba miast nie musi być znana wcześniej, a każdemu miastu przypisujemy jedną sumę.

Wynik: dla każdego miasta otrzymujemy sumę przychodu, a naj_miasto wskazuje największą.

13. Strategie egzaminacyjne i typowe błędy

✓ Najpierw opisz znaczenie jednej linii pliku.

✓ Rozdziel dane tekstowe od liczbowych.

✓ Przy średniej trzymaj sumę i licznik.

✓ Jeśli trzeba grupować — użyj słownika.

✓ Jeśli wystarczy jedno przejście, nie wczytuj całego pliku.

✓ Przy remisie przeczytaj dokładnie regułę wyboru.

✓ Wyniki zapisuj w formacie dokładnie takim, jak wymaga polecenie.

Najczęstsze błędy:
  • brak konwersji typów,
  • dzielenie przez zero przy pustej grupie,
  • zgubienie całego rekordu przy szukaniu maksimum,
  • niepotrzebne sortowanie ogromnego pliku,
  • nieuwzględnienie remisu,
  • złe założenie o separatorze kolumn.

Jak rozpoznać typ zadania z pliku?

✓ „Policz rekordy spełniające warunek” → licznik.

✓ „Oblicz średnią” → suma + liczba rekordów.

✓ „Dla każdej kategorii” → słownik grupujący.

✓ „Największy rekord i jego dane” → przechowuj wartość ekstremalną oraz cały rekord/identyfikator.

✓ „Najdłuższa seria kolejnych dni” → licznik bieżącej serii + maksimum.

✓ „Duży plik” → najpierw sprawdź, czy wystarczy jedno przejście bez wczytywania całości.

14. Test działowy — Pliki i dane

GOTOWE

4. Napisy i tablice

Pełne kompendium — indeksowanie, wycinki, palindromy, anagramy, zliczanie znaków, tablice 1D i 2D, sąsiedztwo, prefiksy i zadania maturalne.

TeoriaPython18 pełnych przykładówTest

1. Indeksowanie napisów

Napisy w Pythonie są sekwencjami znaków. Pierwszy znak ma indeks 0, ostatni można odczytać indeksem −1.

Przykład 1. Odczyt znaków

s = "MATURA"
print(s[0])
print(s[-1])

Wynik: M oraz A.

2. Wycinki

s[a:b] — od indeksu a włącznie do b wyłącznie.

s[::-1] — odwrócony napis.

Przykład 2. Fragment napisu

s = "INFORMATYKA"
print(s[2:6])

Indeksy 2,3,4,5 dają znaki F,O,R,M.

Wynik: FORM.

3. Zliczanie znaków

Przykład 3. Liczba liter A

ile = 0
for znak in s:
    if znak == "A":
        ile += 1

Złożoność: O(n).

Wniosek / wynik: Złożoność: O(n).

Przykład 4. Częstości wszystkich znaków

licznik = {}
for znak in s:
    licznik[znak] = licznik.get(znak, 0) + 1

4. Palindromy

Palindrom czyta się tak samo od lewej i od prawej.

Przykład 5. Test palindromu

def palindrom(s):
    return s == s[::-1]

Dla "KAJAK" funkcja zwróci True.

Wniosek / wynik: Dla "KAJAK" funkcja zwróci True.

Przykład 6. Test bez tworzenia kopii

def palindrom(s):
    i = 0
    j = len(s) - 1
    while i < j:
        if s[i] != s[j]:
            return False
        i += 1
        j -= 1
    return True

Pamięć dodatkowa: O(1).

Wniosek / wynik: Pamięć dodatkowa: O(1).

5. Anagramy

Dwa napisy są anagramami, jeśli zawierają dokładnie te same znaki z tymi samymi licznościami.

Przykład 7. Anagram przez sortowanie

def anagram(a, b):
    return sorted(a) == sorted(b)

Złożoność: O(n log n).

Wniosek / wynik: Złożoność: O(n log n).

Przykład 8. Anagram przez liczniki

Dla alfabetu o małej liczbie znaków można policzyć częstości i uzyskać O(n).

Wniosek / wynik: Dla alfabetu o małej liczbie znaków można policzyć częstości i uzyskać O(n).

6. Najdłuższe fragmenty

Przykład 9. Najdłuższa seria tego samego znaku

Treść: Dla napisu wyznacz długość najdłuższego fragmentu złożonego z identycznych znaków.

if not s:
    wynik = 0
else:
    akt = 1
    wynik = 1
    for i in range(1, len(s)):
        if s[i] == s[i-1]:
            akt += 1
        else:
            akt = 1
        wynik = max(wynik, akt)

Test: "AAABBCCCCDA" → 4.

Wniosek / wynik: Test: "AAABBCCCCDA" → 4.

Przykład 10. Najdłuższa seria cyfr

Zamiast porównywać sąsiednie znaki, sprawdzamy isdigit() i resetujemy licznik po literze.

Wniosek / wynik: Zamiast porównywać sąsiednie znaki, sprawdzamy isdigit() i resetujemy licznik po literze.

7. Tablice jednowymiarowe

Typowe operacje to przeglądanie, filtrowanie, modyfikacja i analiza sąsiednich elementów.

Przykład 11. Ile elementów jest większych od średniej?

srednia = sum(dane) / len(dane)
ile = sum(1 for x in dane if x > srednia)

8. Tablice dwuwymiarowe

Macierz reprezentujemy zwykle jako listę wierszy.

Przykład 12. Suma elementów macierzy

s = 0
for wiersz in A:
    for x in wiersz:
        s += x

Dla macierzy n×m złożoność wynosi O(nm).

Wniosek / wynik: Dla macierzy n×m złożoność wynosi O(nm).

Przykład 13. Suma głównej przekątnej

s = 0
for i in range(len(A)):
    s += A[i][i]

Dotyczy macierzy kwadratowej.

Wniosek / wynik: Dotyczy macierzy kwadratowej.

9. Sąsiedztwo w tablicy 2D

Przy badaniu pól sąsiednich najważniejsze jest pilnowanie granic tablicy.

Przykład 14. Czterech sąsiadów pola

kierunki = [(-1,0),(1,0),(0,-1),(0,1)]

for di, dj in kierunki:
    ni = i + di
    nj = j + dj
    if 0 <= ni < n and 0 <= nj < m:
        # A[ni][nj] istnieje

10. Prefiksy i sumy prefiksowe

Sumy prefiksowe pozwalają szybko obliczać sumy wielu fragmentów tablicy.

pref[i+1]=pref[i]+a[i]

Przykład 15. Suma fragmentu

pref = [0]
for x in dane:
    pref.append(pref[-1] + x)

# suma indeksów l..r
wynik = pref[r+1] - pref[l]

Budowa: O(n). Każde zapytanie o sumę fragmentu: O(1).

Wniosek / wynik: Budowa: O(n). Każde zapytanie o sumę fragmentu: O(1).

11. Zadania w stylu maturalnym

Przykład 16. Liczba zmian znaku

Treść: Dla tablicy niezerowych liczb policz, ile razy kolejne elementy mają przeciwne znaki.

ile = 0
for i in range(1, len(dane)):
    if dane[i] * dane[i-1] < 0:
        ile += 1

Dlaczego iloczyn? Iloczyn dwóch niezerowych liczb jest ujemny dokładnie wtedy, gdy mają przeciwne znaki.

Wniosek / wynik: Dlaczego iloczyn? Iloczyn dwóch niezerowych liczb jest ujemny dokładnie wtedy, gdy mają przeciwne znaki.

Przykład 17. Najczęstsza litera z remisem

Treść: Znajdź najczęściej występującą literę. Przy remisie wybierz alfabetycznie pierwszą.

licznik = {}
for znak in s:
    licznik[znak] = licznik.get(znak, 0) + 1

maks = max(licznik.values())
wynik = min(z for z in licznik if licznik[z] == maks)

Wniosek / wynik: Treść: Znajdź najczęściej występującą literę. Przy remisie wybierz alfabetycznie pierwszą.

Przykład 18. Największa suma spójnego fragmentu długości k

Treść: Dla tablicy i ustalonego k znajdź największą sumę k kolejnych elementów.

Lepszy pomysł niż liczenie każdej sumy od zera: przesuwane okno.

s = sum(dane[:k])
naj = s

for i in range(k, len(dane)):
    s += dane[i]
    s -= dane[i-k]
    naj = max(naj, s)

Złożoność: O(n), zamiast O(nk).

Wniosek / wynik: Złożoność: O(n), zamiast O(nk).

12. Strategie egzaminacyjne i najczęstsze błędy

✓ Pamiętaj, że indeksy zaczynają się od 0.

✓ W wycinku prawa granica jest wyłączona.

✓ Przy sąsiadach zawsze kontroluj zakres indeksów.

✓ Przy analizie fragmentów rozważ licznik serii lub przesuwane okno.

✓ Jeśli jest wiele zapytań o sumę fragmentu, pomyśl o prefiksach.

✓ Przy remisie dokładnie stosuj regułę z treści.

Najczęstsze błędy:
  • odwołanie poza tablicę,
  • pominięcie pierwszego lub ostatniego elementu,
  • mylenie długości z ostatnim indeksem,
  • resetowanie licznika w złym miejscu,
  • liczenie tej samej pary dwa razy,
  • zastosowanie O(n²), gdy istnieje prosty algorytm O(n).

Przykład rozszerzony. Największa suma okna długości 3

Treść zadania: Dla [2,5,-1,4,6,0] znajdź największą sumę trzech kolejnych elementów w czasie O(n).

Pierwsze okno: 2+5−1=6. Następnie zamiast liczyć wszystko od nowa odejmujemy element wychodzący i dodajemy wchodzący.

Kolejne sumy: 8, 9, 10.

Odpowiedź: 10 dla fragmentu [4,6,0].

Dlaczego O(n)? każde przesunięcie okna wykonuje stałą liczbę operacji.

Przykład rozszerzony. Anagram z licznikami

Treść zadania: Sprawdź, czy "KOT" i "TOK" są anagramami bez sortowania.

Liczymy wystąpienia K,O,T w pierwszym napisie i odejmujemy wystąpienia z drugiego. Wszystkie liczniki kończą na 0.

Odpowiedź: tak, są anagramami.

Kontrola: napisy muszą mieć tę samą długość.

Jak rozpoznać zadanie na napisach i tablicach?

✓ „fragment od i do j” → indeksowanie / wycinek,

✓ „ile razy występuje znak” → licznik lub słownik częstości,

✓ „palindrom” → porównanie symetrycznych znaków,

✓ „anagram” → porównanie liczności znaków,

✓ „najdłuższa seria” → licznik bieżącego fragmentu,

✓ „suma wielu przedziałów” → prefiksy,

✓ „najlepsze okno długości k” → przesuwane okno.

13. Test działowy — Napisy i tablice

GOTOWE

5. Systemy liczbowe

Pełne kompendium — system binarny, ósemkowy i szesnastkowy, konwersje, zapis pozycyjny, działania bitowe i zadania algorytmiczne.

TeoriaPython16 pełnych przykładówTest

1. System pozycyjny

W systemie o podstawie b każda pozycja ma wagę będącą potęgą b.

(a_k...a_1a_0)_b = a_k·b^k + ... + a_1·b + a_0

Przykład 1. Sens zapisu pozycyjnego

Treść: Zapisz wartość liczby 321₁₀ jako sumę wag pozycji.

3·10²+2·10¹+1·10⁰=300+20+1.

Wniosek / wynik: 3·10²+2·10¹+1·10⁰=300+20+1.

2. System binarny

System binarny ma podstawę 2 i używa tylko cyfr 0 oraz 1.

Wagi kolejnych pozycji od prawej: 1,2,4,8,16,32,...

Przykład 2. Liczba 101101₂

1·32+0·16+1·8+1·4+0·2+1·1=45.

Odpowiedź: 45₁₀.

3. Konwersja z systemu b na dziesiętny

Przykład 3. Horner dla liczby binarnej

wartosc = 0
for cyfra in "101101":
    wartosc = wartosc * 2 + int(cyfra)

Po przetworzeniu wszystkich cyfr otrzymujemy 45.

Złożoność: O(k), gdzie k to liczba cyfr.

Wniosek / wynik: Złożoność: O(k), gdzie k to liczba cyfr.

4. Konwersja z dziesiętnego na binarny

Dzielimy liczbę przez 2 i zapisujemy reszty. Reszty czytamy od końca.

Przykład 4. 45₁₀ na binarny

45÷2=22 r1, 22÷2=11 r0, 11÷2=5 r1, 5÷2=2 r1, 2÷2=1 r0, 1÷2=0 r1.

Odpowiedź: 101101₂.

Przykład 5. Algorytm

def na_bin(n):
    if n == 0:
        return "0"
    cyfry = ""
    while n > 0:
        cyfry = str(n % 2) + cyfry
        n //= 2
    return cyfry

5. System ósemkowy

Podstawa 8, cyfry 0–7.

Przykład 6. 157₈ na dziesiętny

1·8²+5·8+7=64+40+7=111.

Odpowiedź: 111₁₀.

6. System szesnastkowy

Podstawa 16. Cyfry 0–9, a następnie A=10, B=11, C=12, D=13, E=14, F=15.

Przykład 7. 2F₁₆ na dziesiętny

2·16+15=47.

Odpowiedź: 47₁₀.

Przykład 8. 255₁₀ na szesnastkowy

255=15·16+15, czyli FF₁₆.

Odpowiedź: FF₁₆.

7. Szybkie konwersje między 2, 8 i 16

1 cyfra ósemkowa odpowiada 3 bitom.

1 cyfra szesnastkowa odpowiada 4 bitom.

Przykład 9. Binarny na hex

10111110₂ grupujemy: 1011 1110.

1011=B, 1110=E.

Odpowiedź: BE₁₆.

8. Operacje bitowe

& — AND

| — OR

^ — XOR

<< — przesunięcie w lewo

>> — przesunięcie w prawo

Przykład 10. AND

12=1100₂, 10=1010₂.

1100 AND 1010 = 1000₂ = 8.

Odpowiedź: 12 & 10 = 8.

Przykład 11. XOR

1100 XOR 1010 = 0110₂ = 6.

Odpowiedź: 6.

9. Testowanie bitów i maski

Aby sprawdzić, czy k-ty bit jest ustawiony, używamy maski 1<<k.

Przykład 12. Czy trzeci bit jest ustawiony?

if n & (1 << k):
    print("bit = 1")

Numerację bitów zwykle zaczynamy od 0 od prawej strony.

Wniosek / wynik: Numerację bitów zwykle zaczynamy od 0 od prawej strony.

10. Zliczanie jedynek w zapisie binarnym

Przykład 13. Prosty sposób

ile = bin(n).count("1")

Przykład 14. Sposób algorytmiczny

ile = 0
while n > 0:
    ile += n % 2
    n //= 2

Dla n=13, czyli 1101₂, wynik wynosi 3.

Wniosek / wynik: Dla n=13, czyli 1101₂, wynik wynosi 3.

11. Zadania w stylu maturalnym

Przykład 15. Liczby z dokładnie trzema jedynkami

Treść: Ile liczb z zakresu 0..31 ma w zapisie binarnym dokładnie trzy jedynki?

Zakres 0..31 używa maksymalnie 5 bitów. Wybieramy 3 pozycje spośród 5.

C(5,3)=10.

Odpowiedź: 10.

Przykład 16. Parzystość bez modulo

Treść: Jak za pomocą operacji bitowej sprawdzić, czy liczba jest parzysta?

Najmłodszy bit liczby parzystej jest równy 0.

if n & 1 == 0:
    print("parzysta")

Idea: sprawdzamy bit 0.

12. Strategie egzaminacyjne i najczęstsze błędy

✓ Przy konwersji zawsze pilnuj podstawy systemu.

✓ Cyfrę mnożysz przez odpowiednią potęgę podstawy.

✓ Reszty przy konwersji z dziesiętnego czytasz od końca.

✓ 1 cyfra hex = 4 bity.

✓ Bit 0 jest skrajnie prawym bitem.

✓ Operacje bitowe analizuj na zapisie binarnym.

Najczęstsze błędy:
  • czytanie reszt w złej kolejności,
  • traktowanie F jako 16 zamiast 15,
  • zła numeracja bitów,
  • mylenie XOR z OR,
  • gubienie zer w grupowaniu binarnym do hex lub oct.

Jak rozpoznać metodę w systemach liczbowych?

✓ zapis b-arny → dziesiętny: suma cyfr razy potęgi podstawy lub schemat Hornera,

✓ dziesiętny → b-arny: kolejne dzielenia przez podstawę i reszty czytane od końca,

✓ binarny ↔ szesnastkowy: grupy po 4 bity,

✓ binarny ↔ ósemkowy: grupy po 3 bity,

✓ pytanie o parzystość → najmłodszy bit,

✓ pytanie o konkretny bit → maska 1<<k.

Przykład rozszerzony. Konwersja 173₁₀ na system dwójkowy i szesnastkowy

Treść zadania: Zapisz 173 w systemie binarnym, a następnie wykorzystaj ten zapis do otrzymania zapisu szesnastkowego.

173=128+32+8+4+1, więc bity dla wag 128,64,32,16,8,4,2,1 to 1,0,1,0,1,1,0,1.

Otrzymujemy 10101101₂.

Grupujemy po 4 bity: 1010 1101. 1010=A, 1101=D.

Odpowiedź: 173₁₀=10101101₂=AD₁₆.

Kontrola: A·16+D=10·16+13=173.

13. Test działowy — Systemy liczbowe

GOTOWE

6. Rekurencja

Pełne kompendium — przypadek bazowy, stos wywołań, silnia, Fibonacci, NWD, rekurencja na napisach i tablicach, złożoność i zamiana na iterację.

TeoriaPython16 pełnych przykładówTest

1. Co to jest rekurencja?

Rekurencja polega na tym, że funkcja rozwiązuje problem, odwołując się do prostszej wersji tego samego problemu.

Każda poprawna funkcja rekurencyjna potrzebuje:

1. przypadku bazowego,

2. kroku rekurencyjnego zmniejszającego problem.

2. Przypadek bazowy

Przypadek bazowy zatrzymuje dalsze wywołania.

Przykład 1. Odliczanie

def odlicz(n):
    if n == 0:
        print("START")
        return
    print(n)
    odlicz(n - 1)

Dla n=3 wypisze: 3,2,1,START.

Wniosek / wynik: Dla n=3 wypisze: 3,2,1,START.

3. Stos wywołań

Każde wywołanie funkcji czeka na wynik kolejnego wywołania. Tworzy się stos ramek.

Przykład 2. Śledzenie wywołań

def f(n):
    if n == 0:
        return 0
    return 1 + f(n-1)

f(3)=1+f(2)=1+1+f(1)=1+1+1+f(0)=3.

Odpowiedź: f(3)=3.

4. Silnia

n!=n·(n−1)!, a 0!=1

Przykład 3. Silnia rekurencyjna

def silnia(n):
    if n == 0:
        return 1
    return n * silnia(n - 1)

Dla n=5 wynik to 120.

Złożoność czasowa: O(n).

Pamięć stosu: O(n).

Wniosek / wynik: Pamięć stosu: O(n).

5. Ciąg Fibonacciego

F₀=0, F₁=1, Fₙ=Fₙ₋₁+Fₙ₋₂

Przykład 4. Naiwna rekurencja

def fib(n):
    if n <= 1:
        return n
    return fib(n-1) + fib(n-2)

Algorytm wielokrotnie liczy te same wartości.

Złożoność: wykładnicza, około O(2ⁿ).

Wniosek / wynik: Złożoność: wykładnicza, około O(2ⁿ).

Przykład 5. Fibonacci iteracyjnie

def fib(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a

Złożoność: O(n), pamięć O(1).

Wniosek / wynik: Złożoność: O(n), pamięć O(1).

6. Algorytm Euklidesa rekurencyjnie

Przykład 6. NWD

def nwd(a, b):
    if b == 0:
        return a
    return nwd(b, a % b)

Dla 84 i 30: nwd(84,30) → nwd(30,24) → nwd(24,6) → nwd(6,0)=6.

Odpowiedź: 6.

7. Suma cyfr

Przykład 7. Suma cyfr liczby

def suma_cyfr(n):
    if n < 10:
        return n
    return n % 10 + suma_cyfr(n // 10)

Dla 472: 2 + suma_cyfr(47) = 2+7+4=13.

Odpowiedź: 13.

8. Rekurencja na napisach

Przykład 8. Palindrom

def palindrom(s):
    if len(s) <= 1:
        return True
    if s[0] != s[-1]:
        return False
    return palindrom(s[1:-1])

Każde wywołanie usuwa pierwszy i ostatni znak.

Wniosek / wynik: Każde wywołanie usuwa pierwszy i ostatni znak.

9. Rekurencja na tablicach

Przykład 9. Suma elementów

def suma(a, n):
    if n == 0:
        return 0
    return suma(a, n-1) + a[n-1]

Dla n elementów wykonujemy n wywołań.

Wniosek / wynik: Dla n elementów wykonujemy n wywołań.

Przykład 10. Maksimum rekurencyjnie

def maksimum(a, n):
    if n == 1:
        return a[0]
    return max(a[n-1], maksimum(a, n-1))

10. Rekurencja a iteracja

Wiele algorytmów rekurencyjnych można przepisać na pętlę. Iteracja zwykle zużywa mniej pamięci.

Przykład 11. Silnia iteracyjnie

wynik = 1
for i in range(2, n+1):
    wynik *= i

Czas O(n), pamięć dodatkowa O(1).

Wniosek / wynik: Czas O(n), pamięć dodatkowa O(1).

11. Złożoność rekurencji

Jedno wywołanie prowadzące do jednego mniejszego problemu → często O(n).

Dwa wywołania dla prawie tego samego rozmiaru → możliwa złożoność wykładnicza.

Dzielenie problemu na połowę → często O(log n).

Przykład 12. Liczba wywołań

def f(n):
    if n == 0:
        return
    f(n-1)

Wywołań jest n+1, więc czas O(n).

Wniosek / wynik: Wywołań jest n+1, więc czas O(n).

12. Zadania w stylu maturalnym

Przykład 13. Potęga szybka

Treść: Oblicz aⁿ efektywniej niż przez n mnożeń.

def potega(a, n):
    if n == 0:
        return 1
    p = potega(a, n // 2)
    if n % 2 == 0:
        return p * p
    return p * p * a

Idea: aⁿ=(a^(⌊n/2⌋))², a dla nieparzystego n dodatkowo mnożymy przez a.

Złożoność: O(log n).

Wniosek / wynik: Złożoność: O(log n).

Przykład 14. Liczba jedynek binarnie

def jedynki(n):
    if n == 0:
        return 0
    return n % 2 + jedynki(n // 2)

Dla 13=1101₂ wynik to 3.

Wniosek / wynik: Dla 13=1101₂ wynik to 3.

Przykład 15. Odwracanie napisu

def odwroc(s):
    if len(s) <= 1:
        return s
    return odwroc(s[1:]) + s[0]

Dla "ABC" wynik to "CBA".

Wniosek / wynik: Dla "ABC" wynik to "CBA".

Przykład 16. Dobór metody

Treść: Czy do zsumowania miliona liczb lepsza jest prosta rekurencja czy pętla?

Pętla. Rekurencja wymagałaby bardzo głębokiego stosu i w Pythonie przekroczyłaby limit rekursji.

Wniosek: rekurencja nie zawsze jest najlepszym wyborem.

13. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw znajdź przypadek bazowy.

✓ Sprawdź, czy każde wywołanie zmniejsza problem.

✓ Prześledź kilka poziomów stosu ręcznie.

✓ Oszacuj liczbę wywołań.

✓ Rozważ wersję iteracyjną.

✓ Uważaj na kopiowanie wycinków napisów i list.

Najczęstsze błędy:
  • brak przypadku bazowego,
  • wywołanie z takim samym argumentem,
  • zbyt głęboka rekurencja,
  • naiwny Fibonacci,
  • nieuwzględnienie kosztu pamięci stosu.

Jak rozpoznać poprawną rekurencję?

✓ musi istnieć przypadek bazowy,

✓ każdy krok musi prowadzić do mniejszego problemu,

✓ trzeba wiedzieć, co dokładnie zwraca wywołanie dla mniejszego argumentu,

✓ przed kodowaniem warto rozpisać 2–3 poziomy wywołań,

✓ jeśli występują wielokrotne identyczne podproblemy, sprawdź, czy rekurencja nie robi się wykładnicza,

✓ dla bardzo głębokiej rekurencji w Pythonie często lepsza jest iteracja.

Przykład rozszerzony. Rekurencyjna suma 1+2+...+n

Treść zadania: Zdefiniuj rekurencyjnie funkcję S(n)=1+2+...+n i oblicz S(4).

Przypadek bazowy: S(0)=0.

Krok: S(n)=n+S(n−1).

def S(n):
    if n == 0:
        return 0
    return n + S(n-1)

Ślad: S(4)=4+S(3)=4+3+S(2)=4+3+2+S(1)=4+3+2+1+S(0)=10.

Odpowiedź: S(4)=10.

Dlaczego działa? Zakładamy, że S(n−1) poprawnie sumuje liczby od 1 do n−1; dodanie n daje sumę do n.

Przykład rozszerzony. Wykrycie błędnej rekurencji

Treść zadania: Czy funkcja f(n): return f(n) jest poprawną rekurencją?

Nie ma przypadku bazowego i argument nie zmniejsza się. Wywołania nigdy nie zbliżają się do zakończenia.

Odpowiedź: nie; prowadzi do nieskończonego ciągu wywołań aż do błędu limitu rekursji.

14. Test działowy — Rekurencja

GOTOWE

7. Arkusz kalkulacyjny

Pełne kompendium — adresowanie, formuły, funkcje logiczne i warunkowe, wyszukiwanie, filtrowanie, tabele i wykresy.

TeoriaFormuły16 pełnych przykładówTest

1. Komórka i adres

Adres komórki składa się z litery kolumny i numeru wiersza, np. B4.

Przykład 1. Odczyt adresu

Treść: Komórka leży w kolumnie D i wierszu 7.

Adres: D7.

2. Adresowanie względne

Adres względny zmienia się po skopiowaniu formuły.

Przykład 2. Kopiowanie formuły

W C2 wpisano =A2+B2. Po skopiowaniu do C3 formuła stanie się:

=A3+B3

3. Adresowanie bezwzględne i mieszane

$A$1 — zablokowana kolumna i wiersz.

$A1 — zablokowana kolumna.

A$1 — zablokowany wiersz.

Przykład 3. Stała stawka VAT

Jeśli stawka VAT jest w F1 i formułę kopiujemy w dół, używamy:

=B2*$F$1

4. Podstawowe formuły i funkcje

SUMA — suma zakresu

ŚREDNIA — średnia arytmetyczna

MIN, MAX — minimum i maksimum

ILE.LICZB — liczba komórek zawierających liczby

Przykład 4. Suma zakresu

Treść: Zsumuj komórki B2:B10.

=SUMA(B2:B10)

5. Funkcja JEŻELI

=JEŻELI(warunek; wartość_gdy_prawda; wartość_gdy_fałsz)

Przykład 5. Zaliczenie

Jeżeli wynik w B2 wynosi co najmniej 50, wpisz "TAK", w przeciwnym razie "NIE".

=JEŻELI(B2>=50;"TAK";"NIE")

6. Funkcje warunkowe

LICZ.JEŻELI — liczba komórek spełniających warunek.

SUMA.JEŻELI — suma dla jednego warunku.

LICZ.WARUNKI / SUMA.WARUNKÓW — wiele warunków.

Przykład 6. Liczenie wyników ≥ 80

=LICZ.JEŻELI(B2:B100;">=80")

Przykład 7. Suma sprzedaży dla miasta

Miasta są w A2:A100, sprzedaż w B2:B100.

=SUMA.JEŻELI(A2:A100;"Lublin";B2:B100)

Przykład 8. Dwa warunki

Policz rekordy, gdzie miasto=Lublin i wynik>=80.

=LICZ.WARUNKI(A2:A100;"Lublin";B2:B100;">=80")

7. Wyszukiwanie danych

Do wyszukiwania wartości w tabeli można używać funkcji wyszukujących, np. X.WYSZUKAJ albo WYSZUKAJ.PIONOWO — zależnie od dostępnego programu i wersji.

Przykład 9. X.WYSZUKAJ

W A2:A100 są identyfikatory, w B2:B100 nazwiska. Znajdź nazwisko dla ID z E2.

=X.WYSZUKAJ(E2;A2:A100;B2:B100)

Przykład 10. WYSZUKAJ.PIONOWO

Dla klasycznej tabeli A2:C100:

=WYSZUKAJ.PIONOWO(E2;A2:C100;2;FAŁSZ)

FAŁSZ oznacza dokładne dopasowanie.

8. Sortowanie i filtrowanie

Sortowanie zmienia kolejność rekordów, filtrowanie tylko ukrywa rekordy niespełniające warunku.

Przykład 11. Sortowanie wielopoziomowe

Treść: Posortuj najpierw po mieście rosnąco, potem po wyniku malejąco.

Używamy sortowania niestandardowego z dwoma poziomami.

Wniosek / wynik: Używamy sortowania niestandardowego z dwoma poziomami.

9. Daty i tekst

ROK, MIESIĄC, DZIEŃ — części daty.

LEWY, PRAWY, FRAGMENT.TEKSTU — fragmenty tekstu.

Przykład 12. Rok z daty

Jeżeli w A2 jest prawidłowa data:

=ROK(A2)

10. Wykresy

Typ wykresu dobieramy do pytania, nie do wyglądu.

kolumnowy/słupkowy — porównanie kategorii,

liniowy — zmiana w czasie,

punktowy XY — zależność między dwiema zmiennymi liczbowymi.

Przykład 13. Sprzedaż miesięczna

Dla sprzedaży w kolejnych miesiącach najlepszym wyborem jest zwykle wykres liniowy.

Wniosek / wynik: Dla sprzedaży w kolejnych miesiącach najlepszym wyborem jest zwykle wykres liniowy.

11. Zadania wielopunktowe w stylu maturalnym

Przykład 14. Tabela wyników

Dane: A — uczeń, B — klasa, C — wynik, D — liczba nieobecności.

Zadania: policz średni wynik klasy 3A, liczbę uczniów z wynikiem ≥80 i nieobecnościami ≤5, oraz wskaż najwyższy wynik.

Formuły:

=ŚREDNIA.JEŻELI(B2:B200;"3A";C2:C200)
=LICZ.WARUNKI(C2:C200;">=80";D2:D200;"<=5")
=MAX(C2:C200)

Wniosek / wynik: Formuły:

Przykład 15. Próg podatkowy

Treść: Jeśli dochód w B2 przekracza 100000, zastosuj stawkę 20%, w przeciwnym razie 10%.

=JEŻELI(B2>100000;B2*20%;B2*10%)

Przykład 16. Ranking

Treść: Posortuj wyniki malejąco i przy równych wynikach nazwiska alfabetycznie.

To przykład sortowania wielopoziomowego: wynik malejąco, nazwisko rosnąco.

Wniosek / wynik: To przykład sortowania wielopoziomowego: wynik malejąco, nazwisko rosnąco.

12. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw ustal, które adresy mają się zmieniać po kopiowaniu.

✓ Stałe parametry blokuj znakiem $.

✓ Rozróżniaj liczenie, sumowanie i średnią.

✓ Przy wielu warunkach używaj funkcji wielowarunkowych.

✓ Przy wyszukiwaniu preferuj dokładne dopasowanie, jeśli zadanie go wymaga.

✓ Typ wykresu dobieraj do typu danych.

Najczęstsze błędy:
  • brak blokady adresu stałej,
  • zły zakres danych,
  • pomylenie kryterium tekstowego z liczbowym,
  • użycie przybliżonego wyszukiwania zamiast dokładnego,
  • sortowanie tylko jednej kolumny zamiast całej tabeli.

Jak rozpoznać właściwą formułę w arkuszu?

✓ jedna komórka ma być porównana z progiem → JEŻELI,

✓ policz rekordy spełniające warunek → LICZ.JEŻELI / LICZ.WARUNKI,

✓ sumuj tylko wybrane rekordy → SUMA.JEŻELI / SUMA.WARUNKÓW,

✓ średnia dla kategorii → ŚREDNIA.JEŻELI / ŚREDNIA.WARUNKÓW,

✓ parametr ma się nie przesuwać przy kopiowaniu → adres bezwzględny $A$1,

✓ potrzebna wartość z tabeli po identyfikatorze → funkcja wyszukująca.

Przykład rozszerzony. Formuła kopiowana w dół

Treść zadania: W B2:B100 jest cena netto, w F1 stawka VAT 23%. W C2 ma być kwota VAT, a formuła ma być kopiowana w dół. Podaj formułę.

Adres B2 powinien zmieniać się na B3, B4 itd., ale F1 ma pozostać stałe.

Odpowiedź: =B2*$F$1.

Dlaczego? B2 jest adresem względnym, a $F$1 jest całkowicie zablokowany.

Przykład rozszerzony. Dwa warunki

Treść zadania: W kolumnie A jest miasto, w B wynik. Policz rekordy z Lublina z wynikiem co najmniej 80.

Potrzebne są dwa jednoczesne warunki, więc używamy funkcji wielowarunkowej.

Odpowiedź: =LICZ.WARUNKI(A2:A100;"Lublin";B2:B100;">=80").

13. Test działowy — Arkusz kalkulacyjny

GOTOWE

8. Bazy danych i SQL

Pełne kompendium — model relacyjny, klucze, relacje, SELECT, WHERE, agregacje, GROUP BY, HAVING, JOIN i zadania wielotabelowe.

TeoriaSQL18 pełnych przykładówTest

1. Tabela, rekord, pole

Relacyjna baza danych przechowuje dane w tabelach. Wiersz to rekord, kolumna to pole/atrybut.

Przykład 1. Tabela UCZNIOWIE

Pola: id, imie, nazwisko, klasa.

Każdy wiersz opisuje jednego ucznia.

Wniosek / wynik: Każdy wiersz opisuje jednego ucznia.

2. Klucz główny i obcy

PRIMARY KEY — jednoznacznie identyfikuje rekord.

FOREIGN KEY — wskazuje rekord w innej tabeli.

Przykład 2. Relacja

Tabela UCZNIOWIE ma id, a tabela WYNIKI ma uczen_id. Pole uczen_id jest kluczem obcym wskazującym ucznia.

Wniosek / wynik: Tabela UCZNIOWIE ma id , a tabela WYNIKI ma uczen_id . Pole uczen_id jest kluczem obcym wskazującym ucznia.

3. SELECT

Przykład 3. Wybór kolumn

SELECT imie, nazwisko
FROM uczniowie;

Zwracamy tylko dwie kolumny.

Wniosek / wynik: Zwracamy tylko dwie kolumny.

Przykład 4. Wszystkie kolumny

SELECT *
FROM uczniowie;

4. WHERE — filtrowanie

Przykład 5. Wynik co najmniej 80

SELECT *
FROM wyniki
WHERE punkty >= 80;

Przykład 6. Kilka warunków

SELECT *
FROM uczniowie
WHERE klasa = '3A'
  AND nazwisko LIKE 'K%';

LIKE 'K%' oznacza napis zaczynający się literą K.

Wniosek / wynik: LIKE 'K%' oznacza napis zaczynający się literą K.

5. ORDER BY

Przykład 7. Ranking

SELECT imie, nazwisko, punkty
FROM wyniki
ORDER BY punkty DESC, nazwisko ASC;

Najpierw punkty malejąco, przy remisie nazwisko alfabetycznie.

Wniosek / wynik: Najpierw punkty malejąco, przy remisie nazwisko alfabetycznie.

6. DISTINCT

Przykład 8. Różne klasy

SELECT DISTINCT klasa
FROM uczniowie;

7. Funkcje agregujące

COUNT — liczba rekordów

SUM — suma

AVG — średnia

MIN, MAX — minimum i maksimum

Przykład 9. Średnia punktów

SELECT AVG(punkty)
FROM wyniki;

Przykład 10. Liczba uczniów

SELECT COUNT(*)
FROM uczniowie;

8. GROUP BY

GROUP BY tworzy grupy rekordów o tej samej wartości.

Przykład 11. Średnia dla każdej klasy

SELECT klasa, AVG(punkty)
FROM wyniki
GROUP BY klasa;

9. HAVING

WHERE filtruje rekordy przed grupowaniem. HAVING filtruje już utworzone grupy.

Przykład 12. Klasy ze średnią powyżej 75

SELECT klasa, AVG(punkty) AS sr
FROM wyniki
GROUP BY klasa
HAVING AVG(punkty) > 75;

10. JOIN — łączenie tabel

JOIN łączy rekordy z różnych tabel na podstawie zgodnych kluczy.

Przykład 13. Uczeń i wynik

SELECT u.imie, u.nazwisko, w.punkty
FROM uczniowie u
JOIN wyniki w
  ON u.id = w.uczen_id;

Przykład 14. Wyniki tylko klasy 3A

SELECT u.nazwisko, w.punkty
FROM uczniowie u
JOIN wyniki w
  ON u.id = w.uczen_id
WHERE u.klasa = '3A';

11. Podzapytania

Przykład 15. Wynik większy od średniej

SELECT *
FROM wyniki
WHERE punkty > (
    SELECT AVG(punkty)
    FROM wyniki
);

Najpierw obliczana jest średnia, potem wybierane są rekordy powyżej niej.

Wniosek / wynik: Najpierw obliczana jest średnia, potem wybierane są rekordy powyżej niej.

12. Zadania wielotabelowe w stylu maturalnym

Przykład 16. Najlepszy uczeń każdej klasy

Treść: Dla każdej klasy wyznacz maksymalny wynik.

SELECT u.klasa, MAX(w.punkty) AS maks
FROM uczniowie u
JOIN wyniki w ON u.id = w.uczen_id
GROUP BY u.klasa;

Wniosek / wynik: Treść: Dla każdej klasy wyznacz maksymalny wynik.

Przykład 17. Liczba uczniów bez wyniku

Treść: Policz uczniów, którzy nie mają rekordu w tabeli WYNIKI.

SELECT COUNT(*)
FROM uczniowie u
LEFT JOIN wyniki w
  ON u.id = w.uczen_id
WHERE w.uczen_id IS NULL;

Dlaczego LEFT JOIN? Chcemy zachować także uczniów bez dopasowanego rekordu.

Wniosek / wynik: Dlaczego LEFT JOIN? Chcemy zachować także uczniów bez dopasowanego rekordu.

Przykład 18. Klasy z co najmniej 10 uczniami

SELECT klasa, COUNT(*) AS ile
FROM uczniowie
GROUP BY klasa
HAVING COUNT(*) >= 10;

Przykład rozszerzony. Średnia klasy i liczba uczniów powyżej średniej

Treść zadania: Tabele UCZNIOWIE(id, nazwisko, klasa) i WYNIKI(uczen_id, punkty). Dla każdej klasy podaj średni wynik oraz liczbę uczniów, którzy uzyskali wynik wyższy niż średnia swojej klasy.

Idea: najpierw trzeba znać średnią dla klasy, a następnie porównać z nią wynik ucznia. To zadanie wymaga połączenia tabel oraz operacji agregujących.

Wniosek: proste GROUP BY wystarcza do średniej, ale policzenie uczniów powyżej średniej klasy wymaga dodatkowej konstrukcji, np. podzapytania lub CTE zależnie od systemu SQL.

Najważniejsza umiejętność: rozpoznać, że porównujemy rekord indywidualny z agregatem jego grupy.

13. Strategie egzaminacyjne i najczęstsze błędy

✓ Najpierw ustal, z której tabeli pochodzi każda potrzebna kolumna.

✓ JOIN łącz po właściwym kluczu.

✓ WHERE przed GROUP BY, HAVING po GROUP BY.

✓ Przy remisie stosuj dodatkowe kryterium ORDER BY.

✓ COUNT(*) liczy rekordy, COUNT(kolumna) pomija NULL.

✓ LEFT JOIN używaj, gdy chcesz zachować rekordy bez dopasowania.

Najczęstsze błędy:
  • łączenie po niewłaściwych kolumnach,
  • użycie WHERE zamiast HAVING dla agregacji,
  • brak GROUP BY przy kolumnie nieagregowanej,
  • mylenie INNER JOIN z LEFT JOIN,
  • nieuwzględnienie NULL.

Jak rozpoznać potrzebną konstrukcję SQL?

✓ wybór rekordów → WHERE,

✓ kolejność wyniku → ORDER BY,

✓ jedna wartość na grupę → GROUP BY + agregacja,

✓ warunek na agregacie → HAVING,

✓ dane z dwóch tabel → JOIN po właściwym kluczu,

✓ rekordy bez dopasowania → LEFT JOIN + IS NULL,

✓ porównanie ze średnią / maksimum całej tabeli → podzapytanie lub odpowiednia konstrukcja agregująca.

14. Test działowy — Bazy danych i SQL

GOTOWE

9. Techniki algorytmiczne i algorytmy klasyczne

Wyszukiwanie binarne, sortowania, metoda połowienia, zachłanność, sito Eratostenesa, schemat Hornera i podciągi.

TeoriaPython18 przykładówTest

1. Wyszukiwanie binarne

Działa tylko dla danych uporządkowanych. W każdym kroku odrzucamy połowę przedziału.

def binsearch(a, x):
    l, r = 0, len(a)-1
    while l <= r:
        m = (l+r)//2
        if a[m] == x:
            return m
        if a[m] < x:
            l = m+1
        else:
            r = m-1
    return -1

Złożoność: O(log n).

2. Sortowania klasyczne

Bąbelkowe: zamiana sąsiednich elementów, O(n²).

Przez wybór: wybór minimum i ustawienie na kolejnej pozycji, O(n²).

Przez wstawianie: wstawianie elementu w uporządkowany prefiks, O(n²).

Przez scalanie: dziel i zwyciężaj, O(n log n).

Przykład 1. Sortowanie przez wybór

for i in range(len(a)):
    p = i
    for j in range(i+1, len(a)):
        if a[j] < a[p]:
            p = j
    a[i], a[p] = a[p], a[i]

3. Metoda połowienia

Stosowana, gdy rozwiązanie można lokalizować w przedziale i po sprawdzeniu środka wiemy, którą połowę odrzucić.

Przykład 2. Pierwiastek równania x²=10

l, r = 0.0, 10.0
for _ in range(100):
    m = (l+r)/2
    if m*m < 10:
        l = m
    else:
        r = m

Po odpowiedniej liczbie iteracji przedział jest bardzo mały.

Wniosek / wynik: Po odpowiedniej liczbie iteracji przedział jest bardzo mały.

4. Podejście zachłanne

W każdym kroku wybieramy lokalnie najlepszą decyzję. Trzeba jednak wiedzieć, że nie każdy problem dopuszcza poprawne rozwiązanie zachłanne.

Przykład 3. Wydawanie reszty

Dla nominałów 50,20,10,5,2,1 i kwoty 87 wybieramy kolejno największy możliwy nominał.

50+20+10+5+2=87.

Wniosek / wynik: 50+20+10+5+2=87.

5. Sito Eratostenesa

def sito(n):
    pierwsza = [True]*(n+1)
    pierwsza[0] = pierwsza[1] = False
    p = 2
    while p*p <= n:
        if pierwsza[p]:
            for k in range(p*p, n+1, p):
                pierwsza[k] = False
        p += 1
    return pierwsza

Pozwala efektywnie wyznaczyć wszystkie liczby pierwsze do n.

6. Schemat Hornera

Wielomian można obliczyć bez osobnego wyznaczania kolejnych potęg.

Przykład 4. 2x³−3x²+4x−5 dla x=2

w = 2
w = w*2 - 3
w = w*2 + 4
w = w*2 - 5

Wynik = 7.

Wniosek / wynik: Wynik = 7.

7. Najdłuższy spójny podciąg niemalejący

akt = naj = 1
for i in range(1, len(a)):
    if a[i] >= a[i-1]:
        akt += 1
    else:
        akt = 1
    naj = max(naj, akt)

Złożoność O(n).

8. Największa suma spójnego podciągu

Klasyczny algorytm Kadane'a.

akt = najlepsza = a[0]
for x in a[1:]:
    akt = max(x, akt + x)
    najlepsza = max(najlepsza, akt)

Złożoność O(n).

9. Pełne zadania w stylu maturalnym

Przykład 5. Wyszukiwanie binarne

Treść zadania: Dana jest uporządkowana rosnąco tablica [4,9,15,21,37,40,52]. Sprawdź metodą wyszukiwania binarnego, czy występuje w niej liczba 37. Pokaż kolejne przedziały wyszukiwania.

Krok 1: l=0, r=6, więc m=3. a[3]=21<37. Odrzucamy lewą połowę wraz ze środkiem.

Krok 2: l=4, r=6, m=5. a[5]=40>37. Odrzucamy prawą część.

Krok 3: l=4, r=4, m=4. a[4]=37.

Odpowiedź: liczba 37 występuje na indeksie 4.

Dlaczego ta metoda działa? Tablica jest uporządkowana, więc porównanie z elementem środkowym pozwala odrzucić połowę kandydatów.

Przykład 6. Najdłuższy spójny podciąg niemalejący

Treść zadania: Dla ciągu [1,2,2,5,3,4,4,7] wyznacz długość najdłuższego spójnego fragmentu niemalejącego.

Fragment [1,2,2,5] ma długość 4. Po przejściu z 5 do 3 seria się kończy. Drugi fragment [3,4,4,7] również ma długość 4.

Odpowiedź: 4.

Kontrola: żaden spójny fragment długości 5 nie jest niemalejący.

Przykład 7. Największa suma spójnego podciągu

Treść zadania: Dla tablicy [-2,3,-1,5,-6,4] znajdź największą sumę spójnego fragmentu.

Algorytm Kadane'a prowadzi wartości bieżącej najlepszej sumy kończącej się na danym elemencie: -2 → 3 → 2 → 7 → 1 → 5.

Największa napotkana wartość to 7, uzyskana dla fragmentu [3,-1,5].

Odpowiedź: 7.

Przykład 8. Dobór algorytmu sortowania

Treść zadania: Trzeba posortować około 1 000 000 liczb. Która klasa algorytmu będzie rozsądniejsza: O(n²) czy O(n log n)?

Dla miliona elementów n² to około 10¹² operacji porównań, podczas gdy n log₂n to około 20 milionów.

Odpowiedź: należy preferować algorytm klasy O(n log n), np. sortowanie przez scalanie.

Przykład 9. Sito Eratostenesa

Treść zadania: Wyznacz wszystkie liczby pierwsze nie większe niż 20 metodą sita Eratostenesa.

Zostawiamy 2 i wykreślamy jej wielokrotności, następnie zostawiamy 3 i wykreślamy jego wielokrotności. Dalej wystarczy dojść do √20.

Odpowiedź: 2,3,5,7,11,13,17,19.

Przykład 10. Schemat Hornera

Treść zadania: Oblicz wartość wielomianu W(x)=2x³−3x²+4x−5 dla x=2 schematem Hornera.

Startujemy od 2. Następnie: 2·2−3=1, 1·2+4=6, 6·2−5=7.

Odpowiedź: W(2)=7.

Dlaczego Horner jest dobry? Nie obliczamy osobno x² i x³; używamy tylko kolejnych mnożeń i dodawań.

Przykład 11. Kiedy nie wolno użyć wyszukiwania binarnego?

Treść zadania: Dana jest tablica [7,1,9,3,5]. Czy można bezpośrednio zastosować wyszukiwanie binarne, aby znaleźć 3?

Nie. Z porównania z elementem środkowym nie wynika, którą połowę można odrzucić, bo dane nie są uporządkowane.

Odpowiedź: nie; najpierw trzeba uporządkować dane albo użyć innej metody.

Przykład 12. Pułapka algorytmu zachłannego

Treść zadania: Mamy nominały 1,3,4 i chcemy wydać kwotę 6 minimalną liczbą monet. Czy wybieranie zawsze największego możliwego nominału daje optimum?

Zachłannie: 4+1+1, czyli 3 monety. Lepsze rozwiązanie: 3+3, czyli 2 monety.

Odpowiedź: nie. Dla tego systemu nominałów algorytm zachłanny nie daje optimum.

Przykład 13. Metoda połowienia

Treść zadania: Szukamy dodatniego rozwiązania równania x²=10 w przedziale [0,10]. Wyjaśnij jeden krok metody połowienia.

Środek to 5. Ponieważ 5²=25>10, rozwiązanie musi leżeć w [0,5]. Kolejny krok wykonujemy już tylko na tej połowie.

Wniosek: po jednym kroku przedział zawęża się z [0,10] do [0,5].

Przykład 14. Sortowanie przez wstawianie

Treść zadania: Dlaczego sortowanie przez wstawianie jest naturalne dla prawie uporządkowanych danych?

Każdy kolejny element jest przesuwany tylko o tyle pozycji, ile naprawdę trzeba. Jeśli niewiele elementów jest „nie na miejscu”, liczba przesunięć może być mała.

Odpowiedź: korzysta z istniejącego uporządkowania i może wykonać niewiele przesunięć.

Przykład 15. Dlaczego sito zaczyna od p²?

Treść zadania: W sicie Eratostenesa dla liczby pierwszej p wykreślamy wielokrotności od p². Uzasadnij.

Każda mniejsza wielokrotność p ma postać p·k z k<p, więc wcześniej została już wykreślona jako wielokrotność mniejszego dzielnika k.

Wniosek: rozpoczęcie od p² nie pomija żadnej liczby złożonej.

Przykład 16. Kadane dla samych liczb ujemnych

Treść zadania: Dla [-5,-2,-7] znajdź największą sumę niepustego spójnego fragmentu.

Najlepszym fragmentem jest pojedynczy element -2. Startowanie algorytmu od 0 dałoby błędny wynik, bo pusty fragment nie jest dozwolony.

Odpowiedź: -2.

Przykład 17. Liczba kroków wyszukiwania binarnego

Treść zadania: Ile razy trzeba mniej więcej dzielić zbiór 1024 elementów na pół, aby dojść do jednego elementu?

1024=2¹⁰.

Odpowiedź: około 10 podziałów.

Przykład 18. Rozpoznanie złożoności

Treść zadania: Klasyczne sortowanie bąbelkowe ma dwie zagnieżdżone pętle zależne od n. Jaka jest typowa złożoność w najgorszym przypadku?

Liczba porównań rośnie proporcjonalnie do n².

Odpowiedź: O(n²).

Test — Techniki algorytmiczne

GOTOWE

10. Struktury danych i odwrotna notacja polska

Pełne kompendium — stos, kolejka, deque, zbiór, słownik, nawiasy, obliczanie ONP i dobór struktury danych do problemu.

TeoriaPython18 przykładówTest

1. Po co struktury danych?

Struktura danych określa nie tylko sposób przechowywania elementów, ale również to, jakie operacje wykonujemy szybko. Na maturze ważniejsze od zapamiętania nazwy jest rozpoznanie, jaka struktura pasuje do problemu.

Stos: potrzebujemy „ostatniego użytego” elementu.

Kolejka: obsługujemy elementy w kolejności przyjścia.

Zbiór: interesuje nas unikalność lub szybkie sprawdzenie przynależności.

Słownik: potrzebujemy powiązania klucz → wartość, np. licznik częstości.

2. Stos — LIFO

LIFO oznacza „last in, first out”: ostatni włożony element wychodzi pierwszy.

stos = []
stos.append(5)
stos.append(8)
x = stos.pop()   # 8

Przykład 1. Śledzenie stosu

Start: []. Po append(4): [4]. Po append(7): [4,7]. Po pop(): otrzymujemy 7, stos=[4].

Wniosek / wynik: Start: []. Po append(4): [4]. Po append(7): [4,7]. Po pop(): otrzymujemy 7, stos=[4].

Przykład 2. Typowe zastosowania

Cofanie ostatniej operacji, analiza nawiasów, ONP, przechodzenie grafu metodą DFS.

Wniosek / wynik: Cofanie ostatniej operacji, analiza nawiasów, ONP, przechodzenie grafu metodą DFS.

3. Kolejka i deque — FIFO

FIFO oznacza „first in, first out”: pierwszy włożony element wychodzi pierwszy.

from collections import deque

q = deque()
q.append(5)
q.append(8)
x = q.popleft()  # 5

Przykład 3. Kolejka klientów

Przychodzą A, B, C. Obsługiwani są A, potem B, potem C.

Wniosek / wynik: Przychodzą A, B, C. Obsługiwani są A, potem B, potem C.

Przykład 4. Dlaczego nie list.pop(0)?

Usunięcie pierwszego elementu zwykłej listy wymaga przesunięcia pozostałych elementów. deque.popleft() jest do tego przeznaczone i działa efektywnie.

Wniosek / wynik: Usunięcie pierwszego elementu zwykłej listy wymaga przesunięcia pozostałych elementów. deque.popleft() jest do tego przeznaczone i działa efektywnie.

4. Zbiór — set

Zbiór przechowuje różne elementy bez powtórzeń.

Przykład 5. Liczba różnych wartości

dane = [4,4,2,7,2,9]
ile = len(set(dane))

Różne wartości to 2,4,7,9.

Wynik: 4.

Przykład 6. Czy element już wystąpił?

widziane = set()
for x in dane:
    if x in widziane:
        print("powtórzenie")
    widziane.add(x)

5. Słownik — dict

Słownik przechowuje wartości pod kluczami. Klasyczny egzaminacyjny wzorzec to zliczanie częstości.

Przykład 7. Częstości

licznik = {}
for x in dane:
    licznik[x] = licznik.get(x, 0) + 1

Przykład 8. Najczęstszy element

Po zbudowaniu licznika szukamy klucza o największej wartości. Przy remisie stosujemy regułę z zadania, np. wybieramy mniejszy klucz.

Wniosek / wynik: Po zbudowaniu licznika szukamy klucza o największej wartości. Przy remisie stosujemy regułę z zadania, np. wybieramy mniejszy klucz.

6. Poprawność nawiasów — klasyczny problem stosowy

Przykład 9. Jeden rodzaj nawiasów

stos = []
poprawny = True

for z in s:
    if z == "(":
        stos.append(z)
    elif z == ")":
        if not stos:
            poprawny = False
            break
        stos.pop()

if stos:
    poprawny = False

Dlaczego stos? Zamykający nawias musi pasować do ostatniego jeszcze niezamkniętego otwierającego nawiasu.

Wniosek / wynik: Dlaczego stos? Zamykający nawias musi pasować do ostatniego jeszcze niezamkniętego otwierającego nawiasu.

Przykład 10. Wczesny błąd

Napis ())( jest błędny już przy trzecim znaku: pojawia się zamknięcie bez odpowiadającego mu otwarcia.

Wniosek / wynik: Napis ())( jest błędny już przy trzecim znaku: pojawia się zamknięcie bez odpowiadającego mu otwarcia.

7. Odwrotna notacja polska — ONP

W ONP operator występuje po argumentach. Dzięki temu nie są potrzebne nawiasy ani reguły pierwszeństwa działań.

Przykład 11. Proste wyrażenie

2 3 + oznacza 2+3=5.

Wniosek / wynik: 2 3 + oznacza 2+3=5.

Przykład 12. Złożone wyrażenie

2 3 + 5 * oznacza (2+3)·5=25.

Wniosek / wynik: 2 3 + 5 * oznacza (2+3)·5=25.

8. Obliczanie ONP stosem

def onp(tokens):
    stos = []
    for t in tokens:
        if t.lstrip("-").isdigit():
            stos.append(int(t))
        else:
            b = stos.pop()
            a = stos.pop()
            if t == "+": stos.append(a + b)
            elif t == "-": stos.append(a - b)
            elif t == "*": stos.append(a * b)
            elif t == "/": stos.append(a / b)
    return stos.pop()

Przykład 13. Kolejność argumentów

Dla 8 3 - najpierw zdejmujemy 3 jako b, potem 8 jako a. Liczymy a−b=5, nie 3−8.

Wniosek / wynik: Dla 8 3 - najpierw zdejmujemy 3 jako b, potem 8 jako a. Liczymy a−b=5, nie 3−8.

Przykład 14. Pełny ślad

3 4 5 + 4 2 - * +

Stos: [3] → [3,4] → [3,4,5] → [3,9] → [3,9,4] → [3,9,4,2] → [3,9,2] → [3,18] → [21].

Wynik: 21.

Przykład 15. Inne wyrażenie

5 1 2 + 4 * + 3 - = 5 + (1+2)·4 − 3 = 14.

Wniosek / wynik: 5 1 2 + 4 * + 3 - = 5 + (1+2)·4 − 3 = 14.

9. Złożoność podstawowych operacji

list.append() i list.pop() z końca — amortyzacyjnie O(1).

deque.append() i deque.popleft() — O(1).

Przynależność do set i dostęp do dict — średnio O(1).

Przykład 16. Dlaczego dobór struktury ma znaczenie?

Jeżeli wykonujemy milion operacji pobrania z początku kolejki, deque jest naturalnym wyborem zamiast wielokrotnego pop(0) na liście.

Wniosek / wynik: Jeżeli wykonujemy milion operacji pobrania z początku kolejki, deque jest naturalnym wyborem zamiast wielokrotnego pop(0) na liście.

10. Zadania w stylu maturalnym

Przykład 17. Pierwsze powtórzenie

Treść: Znajdź pierwszy element ciągu, który pojawił się już wcześniej.

widziane = set()
wynik = None
for x in dane:
    if x in widziane:
        wynik = x
        break
    widziane.add(x)

Jedno przejście, średnio O(n).

Wniosek / wynik: Jedno przejście, średnio O(n).

Przykład 18. Dobór struktury

Obsługa zadań w kolejności zgłoszeń → kolejka. Cofanie zmian → stos. Liczba różnych identyfikatorów → zbiór. Liczba wystąpień każdego identyfikatora → słownik.

Wniosek / wynik: Obsługa zadań w kolejności zgłoszeń → kolejka. Cofanie zmian → stos. Liczba różnych identyfikatorów → zbiór. Liczba wystąpień każdego identyfikatora → słownik.

11. Strategie i typowe błędy

✓ Zadaj sobie pytanie: który element ma być pobrany jako następny?

✓ W ONP operator pobiera dwa ostatnie argumenty ze stosu.

✓ Przy odejmowaniu i dzieleniu kolejność a,b jest krytyczna.

✓ Przy nawiasach sprawdzaj zarówno przedwczesne zamknięcie, jak i pozostałe otwarcia po końcu napisu.

✓ Używaj set do unikalności, a dict do liczników.

Najczęstsze błędy:
  • traktowanie stosu jak kolejki,
  • odwrócenie argumentów przy a−b lub a/b,
  • brak sprawdzenia pustego stosu,
  • użycie listy z pop(0) jako dużej kolejki,
  • założenie, że set zachowuje kolejność wejściową jako część kontraktu rozwiązania.

Jak rozpoznać właściwą strukturę danych?

✓ ostatni element ma być obsłużony pierwszy → stos,

✓ pierwszy element ma być obsłużony pierwszy → kolejka,

✓ pytanie „czy już wystąpił?” → zbiór,

✓ zliczanie wystąpień lub mapowanie identyfikatora na wartość → słownik,

✓ wyrażenie ONP → stos,

✓ nawiasy → stos, bo trzeba dopasować ostatni otwarty nawias.

12. Test działowy — Struktury danych i ONP

GOTOWE

11. Algorytmy tekstowe i szyfrowanie

Porównywanie tekstów, naiwne wyszukiwanie wzorca, szyfr Cezara, szyfr przestawieniowy, analiza częstości i pełne zadania egzaminacyjne.

TeoriaPython18 przykładówTest

1. Porównywanie tekstów

Napisy porównujemy znak po znaku. W Pythonie operatory ==, <, > działają leksykograficznie.

Przykład 1. Kolejność leksykograficzna

Treść: Który napis jest wcześniej: "ALA" czy "ANNA"?

Porównujemy A=A, potem L z N. L jest wcześniej.

Odpowiedź: "ALA".

2. Wzorzec w tekście

Tekst ma długość n, wzorzec m. Szukamy wszystkich pozycji, od których kolejne m znaków jest identyczne ze wzorcem.

Przykład 2.

Tekst: ABABA, wzorzec: ABA. Wystąpienia zaczynają się na indeksach 0 i 2.

Wniosek / wynik: Tekst: ABABA , wzorzec: ABA . Wystąpienia zaczynają się na indeksach 0 i 2.

3. Naiwne wyszukiwanie wzorca

def szukaj(tekst, wzorzec):
    pozycje = []
    n = len(tekst)
    m = len(wzorzec)

    for i in range(n - m + 1):
        zgodny = True
        for j in range(m):
            if tekst[i+j] != wzorzec[j]:
                zgodny = False
                break
        if zgodny:
            pozycje.append(i)
    return pozycje

Najgorszy przypadek: O((n−m+1)·m), czyli w uproszczeniu O(nm).

Przykład 3. Dlaczego n−m+1?

Ostatnie możliwe rozpoczęcie wzorca jest na indeksie n−m. Dlatego indeksy startowe to 0..n−m, czyli n−m+1 pozycji.

Wniosek / wynik: Ostatnie możliwe rozpoczęcie wzorca jest na indeksie n−m. Dlatego indeksy startowe to 0..n−m, czyli n−m+1 pozycji.

Przykład 4. Nakładające się wystąpienia

W "AAAA" wzorzec "AA" występuje na pozycjach 0,1,2. Naiwny algorytm ich nie pomija.

Wniosek / wynik: W "AAAA" wzorzec "AA" występuje na pozycjach 0,1,2. Naiwny algorytm ich nie pomija.

4. Szyfr Cezara

Każdą literę przesuwamy o stały klucz k w cyklicznym alfabecie.

nowa_pozycja = (pozycja + k) mod długość_alfabetu

Przykład 5. Klucz 3

A→D, B→E, X→A, Y→B, Z→C.

Wniosek / wynik: A→D, B→E, X→A, Y→B, Z→C.

Przykład 6. Implementacja

def cezar(tekst, k):
    wynik = ""
    for z in tekst:
        if 'A' <= z <= 'Z':
            p = ord(z) - ord('A')
            wynik += chr(ord('A') + (p + k) % 26)
        else:
            wynik += z
    return wynik

Złożoność: O(n).

Wniosek / wynik: Złożoność: O(n).

5. Deszyfrowanie Cezara

Przesuwamy w przeciwną stronę.

pozycja_jawna = (pozycja_szyfru − k) mod 26

Przykład 7.

D zaszyfrowane kluczem 3 → A.

Wniosek / wynik: D zaszyfrowane kluczem 3 → A.

Przykład 8. Brute force

Jeżeli klucza nie znamy, dla alfabetu 26-literowego można sprawdzić wszystkie 26 przesunięć i ocenić, który tekst ma sens.

Wniosek / wynik: Jeżeli klucza nie znamy, dla alfabetu 26-literowego można sprawdzić wszystkie 26 przesunięć i ocenić, który tekst ma sens.

6. Szyfr przestawieniowy

W szyfrze przestawieniowym znaki nie są zamieniane na inne — zmienia się tylko ich kolejność.

Przykład 9. Co trzeci znak

Dla tekstu "INFORMATYKA" bierzemy najpierw pozycje 1,4,7,..., potem 2,5,8,..., na końcu 3,6,9,... (przy numeracji od 1).

def przestaw(tekst):
    wynik = ""
    for start in range(3):
        for i in range(start, len(tekst), 3):
            wynik += tekst[i]
    return wynik

Wniosek / wynik: Dla tekstu "INFORMATYKA" bierzemy najpierw pozycje 1,4,7,..., potem 2,5,8,..., na końcu 3,6,9,... (przy numeracji od 1).

Przykład 10.

Dla "EGZAMIN" wynik tego schematu to "EANGMZI".

Wniosek / wynik: Dla "EGZAMIN" wynik tego schematu to "EANGMZI".

7. Analiza częstości znaków

W prostych szyfrach podstawieniowych częstości liter mogą pomagać w odgadywaniu mapowania.

Przykład 11. Częstości

licznik = {}
for z in tekst:
    if z.isalpha():
        licznik[z] = licznik.get(z, 0) + 1
Sama największa częstość nie gwarantuje poprawnego odszyfrowania krótkiego tekstu. To wskazówka statystyczna, nie dowód.

8. Zadania w stylu maturalnym

Przykład 12. Liczba wystąpień wzorca

Treść: Ile razy "ABA" występuje w "ABABABA"?

Pozycje: 0,2,4.

Odpowiedź: 3.

Przykład 13. Pierwsze wystąpienie

pierwsza = -1
for i in range(len(t)-len(w)+1):
    if t[i:i+len(w)] == w:
        pierwsza = i
        break

Przykład 14. Cezar: MATURA, k=3

M→P, A→D, T→W, U→X, R→U, A→D.

Wynik: PDWXUD.

Przykład 15. Odszyfrowanie PDWXUD

Klucz 3 wstecz daje MATURA.

Wniosek / wynik: Klucz 3 wstecz daje MATURA.

Przykład 16. Wzorzec dłuższy od tekstu

Nie ma żadnej pozycji startowej. Wynik: 0 wystąpień.

Wniosek / wynik: Nie ma żadnej pozycji startowej. Wynik: 0 wystąpień.

Przykład 17. Pusty wzorzec

W zadaniu egzaminacyjnym trzeba stosować definicję podaną w treści. Nie wolno samodzielnie zakładać interpretacji, jeżeli przypadek nie jest określony.

Wniosek / wynik: W zadaniu egzaminacyjnym trzeba stosować definicję podaną w treści. Nie wolno samodzielnie zakładać interpretacji, jeżeli przypadek nie jest określony.

Przykład 18. Cezar a przestawieniowy

W Cezarze zmieniają się znaki, ale ich pozycje pozostają. W przestawieniowym zachowujemy znaki, lecz zmieniamy ich kolejność.

Wniosek / wynik: W Cezarze zmieniają się znaki, ale ich pozycje pozostają. W przestawieniowym zachowujemy znaki, lecz zmieniamy ich kolejność.

9. Strategie egzaminacyjne i błędy

✓ Przy wzorcu sprawdź wszystkie starty 0..n−m.

✓ Nie pomijaj nakładających się wystąpień.

✓ Przy Cezarze koniecznie stosuj modulo.

✓ Rozróżniaj szyfrowanie podstawieniowe od przestawieniowego.

✓ Pilnuj numeracji od 0 w kodzie i od 1 w opisach matematycznych.

✓ Testuj litery przy końcu alfabetu.

Najczęstsze błędy:
  • brak zawijania Z→A,
  • zły zakres pętli przy wzorcu,
  • pominięcie wystąpień nakładających się,
  • zamiana kolejności przy deszyfrowaniu,
  • mieszanie pozycji 1-based i indeksów 0-based.

Przykład rozszerzony. Wszystkie wystąpienia wzorca

Treść zadania: Znajdź wszystkie pozycje wzorca "AA" w tekście "AAAA".

Sprawdzamy starty 0,1,2. Na każdym z nich dwa znaki są równe "AA".

Odpowiedź: pozycje 0,1,2.

Ważne: wystąpienia mogą się nakładać; nie wolno po znalezieniu automatycznie przeskakiwać o długość wzorca.

Przykład rozszerzony. Cezar z zawijaniem alfabetu

Treść zadania: Zaszyfruj "XYZ" szyfrem Cezara z kluczem 3.

X→A, Y→B, Z→C. Zawinięcie realizuje modulo 26.

Odpowiedź: ABC.

Kontrola: odszyfrowanie o 3 pozycje wstecz daje XYZ.

Jak rozpoznać metodę w zadaniach tekstowych?

✓ „znajdź wszystkie wystąpienia wzorca” → sprawdź każdą pozycję startową 0..n−m,

✓ „pierwsze wystąpienie” → przerwij po znalezieniu,

✓ „Cezar” → przesunięcie indeksu litery modulo długość alfabetu,

✓ „odszyfruj” → przesunięcie w przeciwną stronę,

✓ „przestawienie” → te same znaki, inna kolejność,

✓ przy krótkich tekstach analiza częstości jest wskazówką, a nie pewnym dowodem.

10. Test działowy — Algorytmy tekstowe i szyfrowanie

GOTOWE

12. Reprezentacja informacji, sieci i bezpieczeństwo

Kodowanie informacji, rozmiar danych, obrazy, tekst, podstawy sieci, adresowanie, protokoły, usługi sieciowe i bezpieczeństwo.

TeoriaObliczenia16 przykładówTest

1. Bit i bajt

bit — najmniejsza jednostka informacji, 0 albo 1.

1 bajt = 8 bitów.

Rozmiar danych wynika z liczby elementów i liczby bitów potrzebnych na jeden element.

Przykład 1. Ile bitów?

1000 bajtów = 8000 bitów.

Wniosek / wynik: 1000 bajtów = 8000 bitów.

2. Kodowanie znaków

Komputer przechowuje znaki jako liczby. Standardy kodowania przypisują znakom określone kody.

Przykład 2. ASCII — idea

Litera 'A' ma kod liczbowy. Program nie przechowuje „kształtu litery”, tylko wartość kodową interpretowaną według standardu.

Wniosek / wynik: Litera 'A' ma kod liczbowy. Program nie przechowuje „kształtu litery”, tylko wartość kodową interpretowaną według standardu.

Współczesne systemy używają Unicode, który obejmuje znacznie więcej znaków niż klasyczny ASCII.

3. Obraz cyfrowy

Obraz rastrowy to siatka pikseli. Nieskompresowany rozmiar zależy od rozdzielczości i liczby bitów na piksel.

rozmiar [bit] = szerokość × wysokość × głębia koloru

Przykład 3. Obraz 100×200, 24 bity/piksel

100·200·24=480 000 bitów = 60 000 bajtów.

Odpowiedź: 60 000 B bez narzutów i kompresji.

Przykład 4. 256 kolorów

256=2⁸, więc do zapisania numeru jednego z 256 kolorów wystarczy 8 bitów.

Wniosek / wynik: 256=2⁸, więc do zapisania numeru jednego z 256 kolorów wystarczy 8 bitów.

4. Kompresja

bezstratna — pozwala dokładnie odzyskać oryginał,

stratna — usuwa część informacji w zamian za mniejszy rozmiar.

Przykład 5.

Tekst źródłowy i kod programu wymagają zwykle kompresji bezstratnej, bo utrata pojedynczych znaków zmieniłaby dane.

Wniosek / wynik: Tekst źródłowy i kod programu wymagają zwykle kompresji bezstratnej, bo utrata pojedynczych znaków zmieniłaby dane.

5. Sieć lokalna i Internet

LAN obejmuje ograniczony obszar, np. szkołę lub biuro. Internet jest globalną siecią wielu połączonych sieci.

Przykład 6. Router i switch

Switch łączy urządzenia w sieci lokalnej. Router przekazuje pakiety między różnymi sieciami.

Wniosek / wynik: Switch łączy urządzenia w sieci lokalnej. Router przekazuje pakiety między różnymi sieciami.

6. Adres IP i DNS

Adres IP identyfikuje interfejs urządzenia w sieci IP. DNS tłumaczy nazwy domenowe na adresy IP.

Przykład 7.

Użytkownik wpisuje nazwę domeny. DNS pomaga ustalić adres IP serwera, z którym ma zostać nawiązane połączenie.

Wniosek / wynik: Użytkownik wpisuje nazwę domeny. DNS pomaga ustalić adres IP serwera, z którym ma zostać nawiązane połączenie.

7. Protokoły i usługi

HTTP/HTTPS — komunikacja WWW; HTTPS zapewnia warstwę szyfrowanego i uwierzytelnionego połączenia przy użyciu TLS.

DNS — rozwiązywanie nazw.

TCP — niezawodny transport strumieniowy.

UDP — prostszy transport bez gwarancji dostarczenia charakterystycznych dla TCP.

Przykład 8. TCP czy UDP?

Gdy kluczowa jest niezawodność i kolejność danych, naturalnym wyborem jest TCP. W zastosowaniach czasu rzeczywistego może być używany UDP, jeśli aplikacja toleruje utratę części pakietów.

Wniosek / wynik: Gdy kluczowa jest niezawodność i kolejność danych, naturalnym wyborem jest TCP. W zastosowaniach czasu rzeczywistego może być używany UDP, jeśli aplikacja toleruje utratę części pakietów.

8. Technologie bezprzewodowe

Przykład 9. Bluetooth

Technologia krótkiego zasięgu używana np. do komunikacji słuchawek bezprzewodowych z telefonem.

Wniosek / wynik: Technologia krótkiego zasięgu używana np. do komunikacji słuchawek bezprzewodowych z telefonem.

Przykład 10. NFC

Technologia bardzo krótkiego zasięgu, stosowana m.in. w płatnościach zbliżeniowych i identyfikacji.

Wniosek / wynik: Technologia bardzo krótkiego zasięgu, stosowana m.in. w płatnościach zbliżeniowych i identyfikacji.

9. VPN

VPN tworzy logiczny tunel przez sieć publiczną, umożliwiający bezpieczną komunikację między klientem a siecią lub usługą po drugiej stronie tunelu.

Przykład 11.

Pracownik poza biurem może wykorzystać VPN do dostępu do zasobów prywatnej sieci firmy.

Wniosek / wynik: Pracownik poza biurem może wykorzystać VPN do dostępu do zasobów prywatnej sieci firmy.

10. Bezpieczeństwo informacji

poufność — dane są dostępne tylko dla uprawnionych,

integralność — dane nie zostały nieuprawnienie zmienione,

dostępność — system i dane są dostępne, gdy są potrzebne.

Przykład 12. Hasła

Silne i unikalne hasła ograniczają skutki wycieku jednego serwisu. Menedżer haseł pomaga używać różnych haseł bez ich zapamiętywania.

Wniosek / wynik: Silne i unikalne hasła ograniczają skutki wycieku jednego serwisu. Menedżer haseł pomaga używać różnych haseł bez ich zapamiętywania.

Przykład 13. MFA

Uwierzytelnianie wieloskładnikowe wymaga co najmniej dwóch różnych czynników, np. hasła i kodu z aplikacji.

Wniosek / wynik: Uwierzytelnianie wieloskładnikowe wymaga co najmniej dwóch różnych czynników, np. hasła i kodu z aplikacji.

Przykład 14. Phishing

Atakujący podszywa się pod zaufaną instytucję, aby skłonić użytkownika do ujawnienia danych lub wykonania niebezpiecznej czynności.

Wniosek / wynik: Atakujący podszywa się pod zaufaną instytucję, aby skłonić użytkownika do ujawnienia danych lub wykonania niebezpiecznej czynności.

11. Zadania w stylu egzaminacyjnym

Przykład 15. Rozmiar obrazu

Obraz 800×600 przy 24 bitach/piksel: 800·600·24=11 520 000 bitów = 1 440 000 bajtów bez kompresji i narzutów.

Wniosek / wynik: Obraz 800×600 przy 24 bitach/piksel: 800·600·24=11 520 000 bitów = 1 440 000 bajtów bez kompresji i narzutów.

Przykład 16. Rozpoznanie technologii

Tunel przez publiczny Internet do prywatnej sieci firmy → VPN. Krótkodystansowe słuchawki → Bluetooth. Bardzo bliska komunikacja zbliżeniowa → NFC.

Wniosek / wynik: Tunel przez publiczny Internet do prywatnej sieci firmy → VPN. Krótkodystansowe słuchawki → Bluetooth. Bardzo bliska komunikacja zbliżeniowa → NFC.

Przykład rozszerzony. Czas przesłania pliku

Treść zadania: Plik ma 120 MB. Łącze ma przepustowość 20 Mb/s. Oszacuj minimalny czas transmisji, pomijając narzuty protokołów.

120 MB = 120·8 = 960 Mb.

Czas = 960 Mb / 20 Mb/s = 48 s.

Odpowiedź: 48 sekund.

Pułapka: MB i Mb to nie to samo — bajty trzeba przeliczyć na bity.

12. Strategie egzaminacyjne i błędy

✓ Przeliczaj bajty i bity świadomie: 1 B = 8 b.

✓ Przy obrazie najpierw policz liczbę pikseli.

✓ Nie utożsamiaj DNS z przesyłaniem strony WWW.

✓ Rozróżniaj router od switcha.

✓ Rozpoznawaj VPN, Bluetooth i NFC po zastosowaniu.

✓ HTTPS nie oznacza, że każda treść strony jest automatycznie godna zaufania — chroni transmisję i wspiera uwierzytelnienie serwera.

Najczęstsze błędy:
  • mylenie bitów z bajtami,
  • nieuwzględnienie głębi koloru,
  • mylenie DNS z adresem IP,
  • mylenie Bluetooth i NFC,
  • traktowanie VPN jako fizycznego, osobnego kabla lub sieci.

Jak rozpoznać typ zadania z reprezentacji i sieci?

✓ rozmiar obrazu → liczba pikseli × bity/piksel, potem ewentualnie /8 do bajtów,

✓ liczba możliwych wartości → szukaj najmniejszego k z 2^k ≥ liczba wartości,

✓ nazwa domeny → DNS,

✓ przesyłanie stron WWW → HTTP/HTTPS,

✓ prywatny tunel przez Internet → VPN,

✓ bardzo krótki zasięg zbliżeniowy → NFC,

✓ urządzenia peryferyjne krótkiego zasięgu → Bluetooth.

13. Test działowy — Reprezentacja, sieci i bezpieczeństwo