KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2015

PYTANIE NR 21.
Instrukcja for(int i=1, liczba=4; i<5; i++) cout << "Liczba " << liczba << " jest parzysta." jest instrukcją
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja for w C++ jest konstrukcją sterującą służącą do powtarzania wykonania instrukcji (ciała pętli). Składa się z inicjalizacji, warunku zakończenia i inkrementacji, więc należy do instrukcji iteracyjnych. Pozostałe typy (warunkowa/rekurencyjna/prosta) opisują inne mechanizmy sterowania.

Pełne wyjaśnienie:

Pętla for w C++ należy do grupy instrukcji iteracyjnych, ponieważ jej celem jest wielokrotne wykonanie tej samej instrukcji lub bloku instrukcji. Klasyczna postać ma trzy części: inicjalizację, warunek oraz inkrementację/dekrementację. W podanym zapisie inicjalizacja ustawia wartości początkowe (i=1 i liczba=4), warunek (i<5) decyduje, czy wykonać kolejną iterację, a inkrementacja (i++) zmienia licznik po każdym obiegu.

Odpowiedź "iteracyjną." jest poprawna, bo sama obecność konstrukcji for(...) przesądza o kategorii instrukcji: to mechanizm powtarzania, niezależnie od tego, czy w ciele pętli jest jedna instrukcja (tu: wypisanie tekstu) czy wiele instrukcji w klamrach.

  • Odpowiedź "warunkową." jest błędna, bo instrukcje warunkowe to np. if lub switch. One wybierają gałąź wykonania na podstawie warunku, ale nie opisują automatycznego, wielokrotnego powtarzania w pętli.
  • Odpowiedź "rekurencyjną." jest błędna, ponieważ rekurencja wymaga, aby funkcja wywoływała samą siebie (bezpośrednio lub pośrednio). Pętla for nie jest wywołaniem funkcji, tylko iteracyjnym sterowaniem przepływem programu.
  • Odpowiedź "prostą." jest błędna, bo instrukcja prosta to pojedyncze polecenie bez struktury kontrolnej (np. samo przypisanie albo samo wywołanie funkcji). Tutaj występuje konstrukcja sterująca for, więc nie jest to instrukcja prosta, nawet jeśli ciało pętli stanowi pojedyncze polecenie.

Wskazówka egzaminacyjna: gdy w treści widzisz słowo-klucz for, while lub do, najpierw rozważ kategorię iteracyjną. Rekurencję rozpoznaje się po samowywołaniu funkcji, a instrukcje warunkowe po wyborze gałęzi wykonania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja iteracyjna to konstrukcja, która powtarza wykonanie instrukcji lub bloku kodu. W C++ należą do niej m.in. for, while i do-while. Iteracja trwa do momentu, gdy warunek pętli przestanie być spełniony.
Pętla for działa w sekwencji: inicjalizacja (raz), potem sprawdzenie warunku, wykonanie ciała pętli, wykonanie inkrementacji i ponownie sprawdzenie warunku. Gdy warunek jest fałszywy, pętla się kończy.
Bo jej istotą jest wielokrotne wykonywanie tej samej części kodu. Nawet jeśli ciało pętli to tylko jedna linia, to mechanizm sterowania przepływem nadal realizuje iterację, a nie wybór gałęzi (warunek) ani samowywołanie (rekurencja).
Pętla powtarza kod przez konstrukcję sterującą (np. for) w jednym wywołaniu funkcji. Rekurencja polega na tym, że funkcja wywołuje samą siebie, tworząc kolejne wywołania na stosie. Oba podejścia mogą dać podobny efekt, ale działają inaczej.
Warunek w pętli for to wyrażenie logiczne decydujące, czy wykonać kolejną iterację. Jest to środkowa część nagłówka: for(inicjalizacja; warunek; inkrementacja). Gdy warunek jest fałszywy, pętla kończy działanie.
Tak. W C++ po for może wystąpić pojedyncza instrukcja bez klamer lub blok w { }. Brak klamer bywa jednak źródłem błędów przy rozbudowie kodu, więc w praktyce często dodaje się klamry dla czytelności.
Najczęstsze potknięcia to: pomylenie = z == w warunku, brak deklaracji zmiennej używanej w pętli, błędna inkrementacja (np. zmiana złej zmiennej) oraz mylenie klasyfikacji: uznanie, że for jest instrukcją warunkową lub prostą.
Tak. W części inicjalizacji pętli for można zadeklarować i zainicjalizować więcej niż jedną zmienną, oddzielając je przecinkiem (np. licznik i dodatkową zmienną pomocniczą). To częsty wzorzec w zadaniach programistycznych.
Instrukcję warunkową rozpoznasz po tym, że wykonuje kod tylko gdy warunek jest spełniony albo wybiera jedną z gałęzi. Typowe słowa-klucze to if, else oraz switch. Nie ma tam automatycznego mechanizmu wielokrotnego powtarzania.
Ćwicz klasyfikację krótkich fragmentów kodu: rozpoznawaj proste (np. przypisanie), warunkowe (if/switch), iteracyjne (for/while/do-while) i rekurencyjne (samowywołanie funkcji). Zwracaj uwagę na słowa-klucze i cel konstrukcji.
info

Statystycznie 66% uczniów zna prawidłową odpowiedź. średnie

Według specjalistów z branży: "Instrukcja for w C++ jest konstrukcją sterującą służącą do powtarzania wykonania instrukcji (ciała pętli)."

Źródła:

  • cppreference.com: "for" loop (C++), https://en.cppreference.com/w/cpp/language/for - accessed 2026-03-13
  • cplusplus.com: "for loop" (C++), https://cplusplus.com/doc/tutorial/control/ - accessed 2026-03-13
  • Microsoft Learn: C++ statements (including iteration statements), https://learn.microsoft.com/en-us/cpp/cpp/statements-cpp?view=msvc-170 - accessed 2026-03-13

Materiały:

  • Dokumentacja C++: opis składni pętli for i operatorów
  • Ćwiczenia: klasyfikacja instrukcji (proste/warunkowe/iteracyjne/rekurencyjne) na przykładach
  • Zadania z poprawiania typowych błędów składniowych (deklaracje zmiennych, warunki w pętlach)

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego