Informatyka

Podstawowy — szkoła podstawowa

Programowanie

Pomoce naukowe

Poniżej używamy Pythona 3. Program analizujemy w kolejności wykonywania instrukcji, zapisując aktualne wartości. Kod jest materiałem do czytania i do uruchomienia w uzgodnionym szkolnym środowisku; strona lekcji nie wykonuje kodu wpisywanego przez ucznia. Przykłady przechodzą od przypisania do funkcji i samodzielnego poprawienia pętli.

Najważniejsze w skrócie

  • Typ wartości określa znaczenie działań.
  • Śledź stan zmiennych po każdej instrukcji i sprawdzaj wcięcia.
  • Testuj poprawkę na znanych danych oraz dopuszczonych przypadkach granicznych.

Co warto wiedzieć na początek

Przydatne pojęcia i umiejętności

  • Rozumiem algorytm, warunek i powtórzenie.

Po tej lekcji

  • Przewiduję wynik prostego programu.
  • Odróżniam typy danych i znaczenie operatorów.
  • Znajduję przyczynę błędu przez śledzenie stanu.

Wartość, typ i operator

Zmienna to nazwa związana z wartością. Instrukcja x = 3 przypisuje, a x == 3 porównuje i daje prawdę lub fałsz. Późniejsze x = x + 4 najpierw oblicza prawą stronę ze starą wartością x, a potem wiąże nazwę z nową. To instrukcja programu, a nie równanie algebraiczne.

Przykłady typów w Pythonie
ZapisTypZnaczenie
12intLiczba całkowita
1.5floatLiczba zmiennoprzecinkowa; w kodzie kropka
"12"strNapis
TrueboolWartość logiczna

Operatory +, -, * i / wykonują działania liczbowe; // daje iloraz z zaokrągleniem w dół, % resztę, ** potęgowanie. Dla napisów + może łączyć tekst. Nawiasy zmieniają kolejność, np. (3 + 2) * 4 = 20. Dzielenie przez zero jest błędem. Nie mieszaj matematycznego przecinka dziesiętnego ze składnią kodu.

Źródła: [1].

Warunki, wcięcia i pętle

Po if zapisujemy warunek i dwukropek, a instrukcje należące do gałęzi mają zgodne wcięcie. else obsługuje sytuację, gdy warunek if jest fałszywy. Pętla for przechodzi po kolejnych elementach; range(1, 4) daje 1, 2, 3, bez końca 4. Pętla while sprawdza warunek przed każdym powtórzeniem, więc może nie wykonać się ani razu.

Dla sumowania ustaw s = 0 przed pętlą, potem w jej wnętrzu wykonuj s = s + n. Gdy zerowanie przeniesiesz do wnętrza pętli, wcześniejsza suma zostanie skasowana przy każdym obrocie. To błąd logiczny: program może się uruchamiać, ale liczyć niewłaściwy wynik.

Źródła: [2].

Funkcje i listy

Funkcja def pole(a, b) nazywa procedurę z dwoma parametrami. Wywołanie pole(3, 5) podstawia argumenty; return a * b zwraca obliczoną wartość do miejsca wywołania. print ją wyświetla, ale samo wyświetlanie nie jest tym samym co zwracanie wyniku.

Lista, np. [9, 4, 7], przechowuje uporządkowane elementy. Indeks 0 wskazuje pierwszy, 1 drugi. Dla trzech elementów dodatnie indeksy to 0, 1, 2; odczyt liczby[3] jest poza zakresem. Pusta lista nie ma pierwszego elementu.

Źródła: [2] [3].

Analiza i poprawianie programu

Czytaj po jednej instrukcji. W tabeli zapisuj wartości zmiennych po wykonaniu kroku i osobno to, co wypisał print. Komentarz po # objaśnia kod i nie wykonuje obliczenia. Błąd składni może uniemożliwić uruchomienie, np. brak dwukropka; błąd wykonania pojawia się w trakcie, np. zły indeks; błąd logiczny daje niepoprawny wynik mimo zakończenia programu.

Autorska tabela śledzenia: x=2; y=x+3; x=10
Instrukcjax po instrukcjiy po instrukcji
x = 22Jeszcze nieokreślone
y = x + 325
x = 10105

Zmienna y nie jest stale przeliczanym wzorem arkusza: zachowuje przypisaną wartość 5, dopóki inna instrukcja jej nie zmieni. Przy poprawianiu zmieniaj przyczynę i uruchamiaj mały, znany przykład, w tym zero, pustą listę albo granicę warunku, jeśli należą do danych dopuszczonych zadaniem.

Źródła: [1] [2].

Omówione przykłady krok po kroku

1. Co wypisze program zmieniający x?

Pytanie lub sytuacja: Co wypisze program zmieniający x?

Przypisanie i aktualizacja (Python 3)
x = 3
x = x + 4
print(x)

Jak podejść do zadania: Obliczam prawą stronę, potem dokonuję przypisania.

  1. Najpierw x ma wartość 3.
  2. Następnie 3 + 4 daje 7 i nową wartość x.
  3. print odczytuje aktualne x.

Odpowiedź: 7.

Sprawdzenie i interpretacja: Nie traktujemy x = x + 4 jak niemożliwego równania; wartość zmienia się w czasie.

2. Czy 3 + 2 i "3" + "2" dają ten sam wynik?

Pytanie lub sytuacja: Czy 3 + 2 i "3" + "2" dają ten sam wynik?

Liczby i napisy (Python 3)
print(3 + 2)
print("3" + "2")

Jak podejść do zadania: Sprawdzam typy argumentów.

  1. Liczby całkowite są dodawane: wynik 5.
  2. Napisy w cudzysłowach są łączone: wynik to tekst 32.

Odpowiedź: Program wypisze w kolejnych wierszach 5 oraz 32.

Sprawdzenie i interpretacja: Wygląd cyfr na ekranie nie przesądza o typie wartości.

3. Co wypiszą działania z nawiasem i resztą?

Pytanie lub sytuacja: Co wypiszą działania z nawiasem i resztą?

Nawias i operator % (Python 3)
print((3 + 2) * 4)
print(17 % 5)

Jak podejść do zadania: Korzystam z definicji operatorów.

  1. Najpierw 3 + 2 = 5, potem 5 * 4 = 20.
  2. 17 = 3 * 5 + 2, więc reszta wynosi 2.

Odpowiedź: W kolejnych wierszach: 20 oraz 2.

Sprawdzenie i interpretacja: Reszta 2 jest nieujemna i mniejsza od dodatniego dzielnika 5.

4. Co wypisze warunek dla n = 0?

Pytanie lub sytuacja: Co wypisze warunek dla n = 0?

Decyzja dla zera (Python 3)
n = 0
if n > 0:
    print("dodatnia")
else:
    print("niedodatnia")

Jak podejść do zadania: Oceniam n > 0, a następnie wybieram blok.

  1. 0 > 0 jest fałszem.
  2. Pomijam blok if.
  3. Wykonuję blok else.

Odpowiedź: niedodatnia.

Sprawdzenie i interpretacja: Dla n = 1 program wybrałby przeciwną gałąź.

5. Co wypisze sumowanie range(1, 4)?

Pytanie lub sytuacja: Co wypisze sumowanie range(1, 4)?

Sumowanie kolejnych wartości (Python 3)
s = 0
for n in range(1, 4):
    s = s + n
print(s)

Jak podejść do zadania: Wypisuję wszystkie wartości zakresu i stan sumy.

  1. n przyjmuje 1, 2 i 3.
  2. s zmienia się kolejno z 0 na 1, 3, 6.
  3. Końcowy print stoi poza pętlą i wykonuje się raz.

Odpowiedź: 6.

Sprawdzenie i interpretacja: Końca 4 nie dodajemy; jego włączenie dałoby 10.

6. Jaki wynik zwróci i wypisze pole(3, 5)?

Pytanie lub sytuacja: Jaki wynik zwróci i wypisze pole(3, 5)?

Funkcja z dwoma parametrami (Python 3)
def pole(a, b):
    return a * b

print(pole(3, 5))

Jak podejść do zadania: Podstawiam argumenty do parametrów funkcji.

  1. a = 3, b = 5.
  2. return zwraca 3 * 5 = 15.
  3. print wyświetla zwróconą wartość.

Odpowiedź: 15.

Sprawdzenie i interpretacja: Dla zamienionych dodatnich boków pole(5, 3) również da 15.

7. Co oznaczają indeksy 0 i 2 na liście [9, 4, 7]?

Pytanie lub sytuacja: Co oznaczają indeksy 0 i 2 na liście [9, 4, 7]?

Dostęp do elementów listy (Python 3)
liczby = [9, 4, 7]
print(liczby[0])
print(liczby[2])

Jak podejść do zadania: Liczenie indeksów zaczynam od zera.

  1. Indeks 0 wskazuje wartość 9.
  2. Indeks 1 wskazuje 4.
  3. Indeks 2 wskazuje 7.

Odpowiedź: Program wypisze 9 i 7 w kolejnych wierszach.

Sprawdzenie i interpretacja: Nie ma tu elementu o indeksie 3.

8. Czy po x = 10 zmienna y też stanie się 13?

Pytanie lub sytuacja: Czy po x = 10 zmienna y też stanie się 13?

Zmiana jednej zmiennej (Python 3)
x = 2
y = x + 3
x = 10
print(y)

Jak podejść do zadania: Rozróżniam wykonane przypisanie od ciągłego przeliczania.

  1. W chwili y = x + 3 x wynosiło 2.
  2. Do y przypisano 5.
  3. Zmiana samego x nie wykonuje ponownie instrukcji dla y.

Odpowiedź: Nie; program wypisze 5.

Sprawdzenie i interpretacja: Aby y miało 13, trzeba ponownie wykonać y = x + 3 po zmianie x.

9. Pętla while i < 3 stale wypisuje 0, bo nie zmienia i. Jak ją poprawić?

Pytanie lub sytuacja: Pętla while i < 3 stale wypisuje 0, bo nie zmienia i. Jak ją poprawić?

Poprawiona pętla while (Python 3)
i = 0
while i < 3:
    print(i)
    i = i + 1

Jak podejść do zadania: Zapewniam aktualizację, która prowadzi do końca.

  1. Dodaję i = i + 1 wewnątrz pętli po print.
  2. Kolejne wypisane wartości to 0, 1 i 2.
  3. Dla i = 3 warunek staje się fałszywy.

Odpowiedź: Poprawiony kod kończy się po trzech iteracjach.

Sprawdzenie i interpretacja: Wcięcie aktualizacji jest konieczne; zwiększenie i dopiero po pętli nie usunie jej nieskończoności.

Typowe błędy i poprawne rozumowanie

Błędne rozumowanie: Znak = sprawdza równość.

Dlaczego to błąd: W Pythonie przypisuje wartość.

Poprawnie: Do porównania równości użyj ==.

Błędne rozumowanie: range(1, 4) zawiera 4.

Dlaczego to błąd: Prawy koniec zakresu nie jest włączony.

Poprawnie: Wypisz 1, 2, 3 przed analizą sumy.

Błędne rozumowanie: print i return są zamienne.

Dlaczego to błąd: Pierwszy wyświetla, drugi zwraca wynik funkcji.

Poprawnie: Dobierz operację do celu wywołania.

Błędne rozumowanie: Jeśli program się uruchamia, wynik musi być dobry.

Dlaczego to błąd: Błąd logiczny może nie wywołać komunikatu.

Poprawnie: Porównaj rezultat z niezależnie policzonym przykładem.

Podsumowanie — zapamiętaj

  • Typ wartości określa znaczenie działań.
  • Śledź stan zmiennych po każdej instrukcji i sprawdzaj wcięcia.
  • Testuj poprawkę na znanych danych oraz dopuszczonych przypadkach granicznych.

Sprawdź wiedzę w ćwiczeniach

Wróć do wszystkich powtórek wiedzy

Źródła i dalsza nauka

Data sprawdzenia materiału: 23.10.2026.

  1. Python 3 — liczby, napisy i przypisania
  2. Python 3 — warunki, pętle i funkcje
  3. Python 3 — struktury danych i listy