KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2013

PYTANIE NR 29.
Z ilu gwiazdek będzie składał się szlaczek po wykonaniu programu skonstruowanego według podanego algorytmu?
Ilustracja przedstawia schemat blokowy algorytmu, który jest częścią pytania egzaminacyjnego dotyczącego kwalifikacji
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby ustalić liczbę gwiazdek, należy policzyć, ile razy w algorytmie wykonywana jest instrukcja wypisania znaku "*" (łącznie we wszystkich iteracjach i gałęziach warunków). Po zsumowaniu wszystkich wykonań tej instrukcji otrzymuje się wynik 15. Pozostałe wartości wynikają zwykle z pominięcia jednego przebiegu lub gałęzi.

Pełne wyjaśnienie:

W tego typu zadaniach nie "zgaduje się" liczby gwiazdek, tylko zlicza liczbę wykonań instrukcji wypisania znaku "*" w przedstawionym algorytmie (najczęściej w pseudokodzie lub na schemacie blokowym).

Poprawna metoda polega na przejściu algorytmu krok po kroku:

  • Najpierw identyfikujesz wszystkie miejsca, w których pojawia się wypisanie "*".
  • Następnie ustalasz, ile razy każde z tych miejsc zostanie wykonane (np. przez pętlę, warunek, pętlę zagnieżdżoną).
  • Na końcu sumujesz te liczby wykonań. Wynik sumy w tym zadaniu to 15.

Odpowiedź "1" jest typowa dla błędu polegającego na potraktowaniu algorytmu tak, jakby zawierał pojedyncze wypisanie bez pętli albo jakby pętla wykonała się tylko raz. W praktyce w takich zadaniach najczęściej występuje wielokrotne wypisywanie (pętla), więc "1" bywa wynikiem przeoczenia struktury sterującej.

Odpowiedź "14" często wynika z błędu off-by-one, czyli nieprawidłowego policzenia wartości granicznych (np. start/koniec zakresu, warunek typu "<" zamiast "<=" lub odwrotnie) albo z pominięcia jednego wypisania wykonywanego dodatkowo w określonej gałęzi warunkowej.

Na egzaminie warto stosować prostą technikę tabelki: dla każdej pętli zapisujesz kolejne wartości licznika i dopisujesz, czy w danym kroku następuje wypisanie "*". Zmniejsza to ryzyko pomyłek na granicach zakresów i pomaga uniknąć intuicyjnych, ale błędnych odpowiedzi.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Policz, ile razy wykonywana jest instrukcja wypisania znaku *. Zrób to dla każdej pętli i każdej gałęzi warunku, a potem zsumuj wszystkie wykonania. Najczęstszy błąd to policzenie tylko liczby iteracji pętli, bez sprawdzenia, czy w każdej iteracji naprawdę jest wypisanie.
To klasyczny błąd off-by-one. Powstaje, gdy pomylisz warunek zakończenia (np. "mniejsze niż" vs "mniejsze lub równe") albo źle uwzględnisz wartości brzegowe. Pomaga rozpisanie kolejnych wartości licznika i zaznaczenie, kiedy dokładnie następuje wypisanie.
Ważniejsza jest liczba wypisań. Pętla może wykonać się wiele razy, ale wypisanie może być tylko w części iteracji (np. w warunku) albo kilka razy w jednej iteracji (np. w pętli zagnieżdżonej). Dlatego zawsze liczysz wykonania instrukcji wypisania, a nie same przebiegi pętli.
Pętla zagnieżdżona to pętla wewnątrz innej pętli. Wtedy liczba wypisań zwykle jest iloczynem (liczba iteracji zewnętrznej × liczba iteracji wewnętrznej), o ile wypisanie jest w pętli wewnętrznej. Gdy wypisanie jest w obu, sumujesz wkłady z obu miejsc.
Tak. Jeśli wypisanie * jest w jednej gałęzi warunku, to liczysz je tylko dla przypadków, gdy warunek jest spełniony. Błąd polega na założeniu, że warunek działa tak samo w każdej iteracji. W praktyce zależy od wartości zmiennej w danym kroku pętli.
Najczęściej: (1) pominięcie jednego wypisania w kroku granicznym pętli, (2) złe odczytanie warunku "do"/"od" (np. czy koniec jest wliczany), (3) nieuwzględnienie wypisania wykonywanego poza pętlą (przed lub po pętli). Pomaga śledzenie algorytmu linia po linii.
Zawsze, gdy w algorytmie jest pętla z licznikiem (np. i, j) i warunek zależny od tego licznika. W tabelce wypisujesz kolejne wartości licznika, zaznaczasz spełnienie warunku i dopisujesz, czy nastąpiło wypisanie. To ogranicza błędy i przyspiesza sprawdzanie.
Jeśli pętla ma prosty, stały zakres, możesz użyć wzoru na liczbę iteracji i policzyć wypisania "blokami" (np. po n wypisań na iterację). Uważaj jednak na warunki wewnątrz pętli i wypisania poza pętlą, bo one łamią proste liczenie "na skróty".
Schemat blokowy pokazuje kolejność działań i warunki w postaci bloków (start/stop, operacje, decyzje). Przy liczeniu gwiazdek szukasz w nim bloków odpowiedzialnych za wypisanie "*" i analizujesz, ile razy ścieżka przepływu przez te bloki zostanie wykonana.
Ćwicz zliczanie wykonań instrukcji w prostych programach: pętle, warunki, pętle zagnieżdżone. Zawsze zapisuj wartości liczników i sprawdzaj warunki brzegowe. Warto też rozwiązać kilka arkuszy próbnych i porównać tok rozumowania z kluczem, żeby wyłapać własne schematy błędów.
info

To pytanie poprawnie rozwiązuje 49% zdających egzamin. trudne

Według specjalistów z branży: "Aby ustalić liczbę gwiazdek, należy policzyć, ile razy w algorytmie wykonywana jest instrukcja wypisania znaku "*" (łącznie we wszystkich iteracjach i gałęziach warunków)."

Materiały:

  • Materiały do INF.3 z podstaw algorytmiki: pętle, warunki, liczniki
  • Zadania treningowe: liczenie liczby wykonań instrukcji w pseudokodzie
  • Notatki o typowych błędach: off-by-one, warunki brzegowe, zakresy pętli

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego