KWALIFIKACJA INF3 - PAŹDZIERNIK 2016

PYTANIE NR 30.
W instrukcji warunkowej języka JavaScript należy sprawdzić przypadek, gdy zmienne a oraz b są dodatnie, z czego zmienna b jest mniejsza od 100. Warunek taki powinien być zapisany w następujący sposób:
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawny warunek musi jednocześnie wymagać dodatniości a i b oraz ograniczenia b od góry:
if (a > 0 && b > 0 && b < 100) ...
Zastosowanie operatora || sprawia, że wystarczy spełnienie tylko części warunków, co nie odpowiada treści zadania.

Pełne wyjaśnienie:

Wymagania z treści to trzy warunki, które mają być spełnione jednocześnie:

  • a jest dodatnie, czyli a > 0,
  • b jest dodatnie, czyli b > 0,
  • b jest mniejsze od 100, czyli b < 100.

Gdy wszystkie warunki muszą być prawdziwe naraz, łączy się je operatorem koniunkcji &&. Dlatego poprawny zapis ma postać:

if (a > 0 && b > 0 && b < 100) ...

Odpowiedzi z operatorem || są niepoprawne, ponieważ alternatywa oznacza, że instrukcja wykona się już wtedy, gdy prawdziwy jest dowolny fragment warunku. Przykładowo zapis typu a > 0 && b > 0 || b > 100 dopuści przypadek, w którym b jest większe od 100, mimo że w zadaniu wymagane jest b mniejsze od 100. Z kolei formy w stylu a > 0 || (b > 0 && b < 100) przepuszczą sytuację, gdy samo a jest dodatnie, nawet jeśli b nie spełnia ograniczeń.

Na egzaminie warto przyjąć prostą zasadę: gdy w treści jest "oba warunki" albo "jednocześnie", najczęściej potrzebujesz &&. Gdy jest "co najmniej jeden", wtedy pojawia się ||. W zadaniach o zakresie liczbowym dla tej samej zmiennej zwykle występuje para porównań, np. b > 0 i b < 100, połączona &&.

Dodatkowe pytania

Dodatkowe pytania (FAQ):

Użyj koniunkcji, bo wszystkie warunki muszą być spełnione naraz:

if (a > 0 && b > 0 && b < 100)

To zapisuje trzy jednoczesne wymagania: dodatniość a, dodatniość b i ograniczenie górne dla b.

&& oznacza "i": wynik jest prawdziwy tylko wtedy, gdy prawdziwe są wszystkie części warunku. || oznacza "lub": wystarczy jedna prawdziwa część, więc przepuści przypadki niespełniające pozostałych wymagań (np. dodatnie a, ale błędne b).

To sprawdzenie, czy b mieści się w zakresie:

  • jest większe od zera (dodatnie),
  • jest mniejsze od 100.

W praktyce to prosta walidacja liczby, np. limitu, procentu, wieku lub liczby punktów w aplikacji webowej.

W samym JavaScript nie ma składni łańcuchowej typu 0 < b < 100 jak w niektórych językach matematycznych. Najczytelniej jest użyć dwóch porównań połączonych &&: (b > 0 && b < 100).
Najczęściej myli się znaczenie && i ||, przez co warunek staje się zbyt "luźny". Częsty błąd to też odwrócenie znaku nierówności (np. b > 100 zamiast b < 100) albo pominięcie jednego z ograniczeń zakresu.
Operator || stosuje się, gdy wystarczy spełnienie któregokolwiek z warunków, np. "użytkownik jest administratorem lub moderatorem". W zadaniach o walidacji zakresu liczbowego zwykle potrzebujesz &&, bo wymagania są jednoczesne.
Nawiasy porządkują logikę, gdy mieszasz && i ||. Bez nawiasów działa precedencja operatorów, co może dać inny sens niż zamierzony. W prostym przypadku samych && nawiasy zwykle nie są konieczne, ale mogą poprawiać czytelność.

To dokładnie warunek dodatniości i ograniczenia górnego:

if (b > 0 && b < 100)

Jeśli dodatkowo ma być spełnione też a > 0, dopisz trzeci człon z &&.

Tak, bo b < 100 dopuszcza również liczby ujemne i zero (np. -5 jest mniejsze od 100). Jeśli treść wymaga, aby b było dodatnie, musisz jawnie dodać b > 0. To częsty "pułapkowy" detal w zadaniach egzaminacyjnych.
Szukaj sformułowań typu "jednocześnie", "oba", "spełnia warunki: … oraz …". To sygnał, że wszystkie kryteria muszą być prawdziwe, więc używasz &&. Jeśli widzisz "lub"/"co najmniej jeden", wtedy pasuje ||.
info

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

Eksperci podkreślają: "Poprawny warunek musi jednocześnie wymagać dodatniości a i b oraz ograniczenia b od góry: if (a &gt; 0 &amp;&amp; b &gt; 0 &amp;&amp; b &lt; 100) ..."

Źródła:

  • MDN Web Docs: "if...else" (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else (dostęp: 2026-03-01)
  • MDN Web Docs: "Logical AND (&&)" — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND (dostęp: 2026-03-01)
  • MDN Web Docs: "Logical OR (||)" — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja MDN: instrukcja if...else
  • Dokumentacja MDN: operatory logiczne && i ||
  • Dokumentacja MDN: precedencja operatorów (operator precedence)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego