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.
| Zapis | Typ | Znaczenie |
|---|---|---|
| 12 | int | Liczba całkowita |
| 1.5 | float | Liczba zmiennoprzecinkowa; w kodzie kropka |
| "12" | str | Napis |
| True | bool | Wartość 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.
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.
| Instrukcja | x po instrukcji | y po instrukcji |
|---|---|---|
| x = 2 | 2 | Jeszcze nieokreślone |
| y = x + 3 | 2 | 5 |
| x = 10 | 10 | 5 |
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.
Omówione przykłady krok po kroku
1. Co wypisze program zmieniający x?
Pytanie lub sytuacja: Co wypisze program zmieniający x?
x = 3
x = x + 4
print(x)Jak podejść do zadania: Obliczam prawą stronę, potem dokonuję przypisania.
- Najpierw x ma wartość 3.
- Następnie 3 + 4 daje 7 i nową wartość x.
- 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?
print(3 + 2)
print("3" + "2")Jak podejść do zadania: Sprawdzam typy argumentów.
- Liczby całkowite są dodawane: wynik 5.
- 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ą?
print((3 + 2) * 4)
print(17 % 5)Jak podejść do zadania: Korzystam z definicji operatorów.
- Najpierw 3 + 2 = 5, potem 5 * 4 = 20.
- 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?
n = 0
if n > 0:
print("dodatnia")
else:
print("niedodatnia")Jak podejść do zadania: Oceniam n > 0, a następnie wybieram blok.
- 0 > 0 jest fałszem.
- Pomijam blok if.
- 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)?
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.
- n przyjmuje 1, 2 i 3.
- s zmienia się kolejno z 0 na 1, 3, 6.
- 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)?
def pole(a, b):
return a * b
print(pole(3, 5))Jak podejść do zadania: Podstawiam argumenty do parametrów funkcji.
- a = 3, b = 5.
- return zwraca 3 * 5 = 15.
- 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]?
liczby = [9, 4, 7]
print(liczby[0])
print(liczby[2])Jak podejść do zadania: Liczenie indeksów zaczynam od zera.
- Indeks 0 wskazuje wartość 9.
- Indeks 1 wskazuje 4.
- 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?
x = 2
y = x + 3
x = 10
print(y)Jak podejść do zadania: Rozróżniam wykonane przypisanie od ciągłego przeliczania.
- W chwili y = x + 3 x wynosiło 2.
- Do y przypisano 5.
- 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ć?
i = 0
while i < 3:
print(i)
i = i + 1Jak podejść do zadania: Zapewniam aktualizację, która prowadzi do końca.
- Dodaję i = i + 1 wewnątrz pętli po print.
- Kolejne wypisane wartości to 0, 1 i 2.
- 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
Źródła i dalsza nauka
Data sprawdzenia materiału: 23.10.2026.
