KWALIFIKACJA INF3 - STYCZEŃ 2021

PYTANIE NR 1.
Która wartość zostanie wypisana przez algorytm?
Ilustracja przedstawia prostokątną ramkę, wewnątrz której znajduje się tekst zapisany czarną czcionką o stałej szerokości
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Algorytm startuje z Z=0 i N=1. Pętla działa dopóki Z<3, a więc wykona się 3 razy (dla Z=0,1,2). W każdej iteracji N przyjmuje wartość N*2+1, a Z zwiększa się o 1. Kolejno N: 1→3→7→15, więc na końcu zostanie wypisane 15.

Pełne wyjaśnienie:

Aby ustalić, co zostanie wypisane, trzeba wykonać "symulację" algorytmu krok po kroku, zapisując wartości zmiennych po każdej instrukcji.

Stan początkowy: Z = 0, N = 1.

Pętla działa dopóki Z < 3, czyli będzie wykonywana dla Z równych kolejno 0, 1 i 2. Gdy Z osiągnie 3, warunek przestanie być spełniony i pętla się zakończy.

Iteracja 1 (Z=0):
N = N*2 + 1 = 1*2 + 1 = 3
Z = Z + 1 = 1 Iteracja 2 (Z=1):
N = 3*2 + 1 = 7
Z = 2 Iteracja 3 (Z=2):
N = 7*2 + 1 = 15
Z = 3

Teraz warunek Z < 3 nie jest spełniony (bo Z = 3), więc wykonuje się instrukcja końcowa wypisz N. Ostateczna wartość N wynosi 15, dlatego zostanie wypisana liczba "15".

Dlaczego pozostałe propozycje są błędne? "3" lub "7" odpowiadają wartościom po wcześniejszych iteracjach, czyli przed zakończeniem pętli. "5" nie pojawia się w ogóle przy takim przekształceniu N = N*2+1 i typowo wynika z pomylenia kolejności działań albo błędnego założenia innej liczby iteracji.

Wskazówka egzaminacyjna: przy takich zadaniach najlepiej zrobić małą tabelę (iteracja, Z, N) i zawsze sprawdzać warunek pętli na początku każdej iteracji.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Oznacza to pętlę wykonywaną tak długo, jak spełniony jest warunek logiczny. Instrukcje wewnątrz pętli uruchamiają się, gdy Z jest mniejsze od 3. Gdy Z osiągnie 3 lub więcej, pętla się kończy i algorytm przechodzi dalej.
Startujesz od Z=0 i sprawdzasz warunek przed każdą iteracją. Dla Z=0,1,2 warunek jest prawdziwy, więc pętla wykona się 3 razy. Po każdej iteracji Z rośnie o 1, więc po trzeciej iteracji Z=3 i pętla się zatrzymuje.
Wartość 7 pojawia się po drugiej iteracji. Pętla działa jednak trzy razy, bo warunek dopuszcza jeszcze iterację dla Z=2. Dopiero po trzeciej aktualizacji N (7*2+1) otrzymujesz 15, a następnie algorytm wypisuje końcowe N.
Zrób kolumny: "iteracja", "Z przed", "N przed", "N po", "Z po". W każdej iteracji wpisz wartości przed wykonaniem instrukcji i po ich wykonaniu. Taka tabela ogranicza pomyłki i pozwala szybko sprawdzić, w którym kroku pojawia się dana liczba.
Iteracja to pojedyncze wykonanie bloku instrukcji wewnątrz pętli. Jeśli pętla wykona się 3 razy, to znaczy, że blok (np. obliczenie nowego N i zwiększenie Z) zostanie uruchomiony trzykrotnie, każdorazowo na aktualnych wartościach zmiennych.
Tak, bo każda instrukcja może zmieniać stan zmiennych używanych później. Gdy najpierw liczysz N = N*2+1, a potem zwiększasz Z, uzyskujesz konkretną sekwencję wartości N. Zamiana kolejności mogłaby zmienić liczbę iteracji lub moment zakończenia pętli.
Najczęstsze są: policzenie złej liczby iteracji, pominięcie wartości startowych, zgubienie aktualnej wartości N po przeliczeniu oraz błędna arytmetyka (np. potraktowanie N*2+1 jak N*(2+1)). Pomaga zapis kroków w tabeli.
Przy debugowaniu i analizie błędów: gdy program daje zły wynik, często trzeba prześledzić wartości zmiennych w kolejnych przebiegach pętli. To też ważne przy czytaniu cudzych skryptów i przy sprawdzaniu, czy algorytm zakończy się oraz jaki da wynik.
To polecenie wyjścia (np. wyświetlenie na ekranie) aktualnej wartości zmiennej N po zakończeniu wszystkich wcześniejszych kroków. Kluczowe jest, że wypisywana jest wartość końcowa, czyli taka, jaka pozostaje po ostatniej iteracji pętli.
Najpewniejsza metoda to krótka symulacja: licz kolejno wartości, np. zaczynając od 1: 1→3→7→15. Jeśli powtórzeń jest dużo, można też rozpoznać zależność rekurencyjną, ale na egzaminie zwykle wystarcza zapis kilku kroków.
info

To pytanie poprawnie rozwiązuje 69% zdających egzamin. średnie

Według specjalistów z branży: "Algorytm startuje z Z=0 i N=1."

Źródła:

  • Python Software Foundation, "The while statement" (Python 3 documentation), https://docs.python.org/3/reference/compound_stmts.html#the-while-statement - accessed 2026-03-31
  • Wikipedia, "Pętla (programowanie)" (opis pętli i warunku zakończenia), https://pl.wikipedia.org/wiki/P%C4%99tla_(programowanie) - accessed 2026-03-31
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, "Wprowadzenie do algorytmów", rozdziały dot. podstaw algorytmów i analizy krokowej (źródło książkowe, wydanie zależne od publikacji)

Materiały:

  • Dokumentacja lub podręcznik do podstaw programowania (zmienne, instrukcje przypisania, pętle while)
  • Ćwiczenia z "trace table" (tabel śledzenia zmiennych) dla prostych algorytmów
  • Materiały egzaminacyjne z algorytmiki dla technika informatyka (zadania z analizą pseudokodu)

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego