KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2009

PYTANIE NR 13.
Ile warunków występuje w poniższym algorytmie przedstawionym w postaci listy kroków?


1.	Zacznij algorytm
2.	Wprowadź daną: P
3.	Wprowadź daną: a
4.	Jeśli a=0 to idź do kroku 3
	w przeciwnym wypadku Oblicz: H:=2*P/a
5.	Wyprowadź wynik: H
6.	Zakończ algorytm



A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W algorytmie występuje jedna instrukcja warunkowa: "Jeśli a=0 … w przeciwnym wypadku …". To, że ma ona dwie gałęzie (wykonanie skoku do kroku 3 albo obliczenie H), nie oznacza dwóch warunków. Zależność od danych wejściowych nie zmienia liczby warunków w zapisie.

Pełne wyjaśnienie:

W przedstawionym zapisie algorytmu trzeba odróżnić warunek (czyli wyrażenie logiczne sprawdzane w punkcie decyzyjnym) od czynności wykonywanych w zależności od wyniku sprawdzenia.

W kroku 4 znajduje się konstrukcja: "Jeśli a=0 … w przeciwnym wypadku …". To jest jedna instrukcja warunkowa, a więc jeden warunek: sprawdzane jest wyłącznie to, czy a równa się 0.

Dlaczego nie są to dwa warunki? Ponieważ część "w przeciwnym wypadku" nie wprowadza nowego testu logicznego. Jest tylko alternatywną ścieżką wykonania, uruchamianą wtedy, gdy wynik sprawdzenia "a=0" jest fałszywy (czyli w praktyce: gdy a ≠ 0).

Odpowiedź "Dwa niezależne." jest błędna, bo w algorytmie nie ma dwóch osobnych sprawdzeń typu "Jeśli …" w różnych miejscach. Odpowiedź "Jeden, a w nim zagnieżdżony drugi." jest błędna, bo nie ma tu drugiej instrukcji warunkowej wewnątrz pierwszej; są tylko dwie gałęzie tej samej decyzji. Odpowiedź "Ilość jest uzależniona od wprowadzanych wartości zmiennej a." miesza pojęcia: wartość a może wpływać na to, która gałąź się wykona i ile razy nastąpi powrót do kroku 3, ale nie zmienia liczby warunków zapisanych w algorytmie (nadal jest to jeden punkt decyzyjny).

W praktyce (np. w aplikacjach webowych) analogicznie: walidacja "jeśli pole puste, to poproś o ponowne wpisanie, w przeciwnym wypadku oblicz/wyślij" to nadal jeden warunek, nawet jeśli może powodować wielokrotne powtórzenie wprowadzania danych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Warunek to sprawdzenie logiczne (np. "czy a = 0?"), które decyduje o wyborze dalszej ścieżki działania algorytmu. Warunek nie jest tym samym co czynności wykonywane po jego spełnieniu lub niespełnieniu (np. obliczenia czy skok do innego kroku).
Szukaj słów typu "Jeśli… to…" oraz "w przeciwnym wypadku". To sygnał punktu decyzyjnego. W takiej konstrukcji zwykle występuje jedno sprawdzenie (warunek), a następnie dwie możliwe gałęzie wykonania.
Ponieważ sprawdzane jest jedno zdanie logiczne (np. a = 0). Część "else" nie dodaje kolejnego testu, tylko opisuje, co wykonać, gdy ten sam test jest fałszywy. Dwie gałęzie nie oznaczają dwóch warunków.
Nie. Skok jest działaniem wykonywanym po ocenie warunku (w jednej z gałęzi). Warunkiem jest tylko sprawdzenie w stylu "Jeśli a = 0". Skok może wpływać na przebieg (powtórzenia), ale nie tworzy nowego warunku.
Gdy występuje kilka niezależnych instrukcji "Jeśli…", albo gdy warunki są łączone operatorami logicznymi (np. "a = 0 i b > 0"), albo gdy jedna instrukcja warunkowa zawiera kolejną w środku. Wtedy liczba punktów decyzyjnych rośnie.
Pętla to konstrukcja powtarzania (np. "dopóki", "dla", "powtarzaj"). Warunek to pojedyncze sprawdzenie logiczne. Pętla zwykle używa warunku jako kryterium kontynuacji, ale sama w sobie nie jest "dodatkowym warunkiem" w sensie liczenia instrukcji if.
Nie, liczba warunków w pytaniu dotyczy zapisu algorytmu (ile jest miejsc, w których następuje sprawdzenie logiczne). Dane wejściowe mogą zmieniać, którą gałąź wybierze algorytm i ile razy coś się powtórzy, ale nie zmieniają liczby instrukcji warunkowych.
Najczęściej myli się liczbę gałęzi (if i else) z liczbą warunków oraz uznaje się skoki lub obliczenia za "warunki". Pomaga zasada: warunek = zdanie logiczne; gałęzie = działania wykonywane po wyniku tego zdania.
W kodzie webowym zapis if (a === 0) { … } else { … } oznacza jeden warunek: a === 0. To, że w blokach są różne instrukcje (np. walidacja vs obliczenia), nie zmienia liczby warunków; zmienia tylko zachowanie programu.
Policz punkty, gdzie wykonywane jest sprawdzenie logiczne (zwykle zaczynają się od "Jeśli…"). Nie licz "else" jako osobnego warunku. Jeśli widzisz jedno "Jeśli…", zwykle jest to jeden warunek, nawet gdy są dwie ścieżki wykonania.
info

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

Eksperci podkreślają: "W algorytmie występuje jedna instrukcja warunkowa: "Jeśli a=0 … w przeciwnym wypadku …"."

Źródła:

  • Wikipedia: Instrukcja warunkowa (if-then-else) – https://pl.wikipedia.org/wiki/Instrukcja_warunkowa (dostęp: 2026-03-01)
  • Wikipedia: Pseudokod – https://pl.wikipedia.org/wiki/Pseudokod (dostęp: 2026-03-01)

Materiały:

  • Materiały dydaktyczne z podstaw algorytmiki: instrukcje warunkowe i pętle
  • Dokumentacja lub kurs podstaw programowania (sekcja: if/else oraz pętle)
  • Zadania treningowe z liczenia ścieżek/warunków w pseudokodzie

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego