KWALIFIKACJA INF3 - STYCZEŃ 2024 (test 2)

PYTANIE NR 3.
W grze komputerowej można przejść do następnego poziomu po spełnieniu trzech warunków: zdobyte 20 punktów, zebrane minimum 3 paczki, przebycie dystansu 200 m. Wyrażeniem logicznym sprawdzającym ten warunek w języku JavaScript jest
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby przejść do następnego poziomu, muszą być spełnione jednocześnie trzy warunki, więc należy użyć koniunkcji && między porównaniami.
Poprawne jest sprawdzenie: 20 punktów oraz co najmniej 3 paczki oraz 200 m. Użycie || oznaczałoby, że wystarczy spełnić tylko jeden warunek.

Pełne wyjaśnienie:

Opis mówi, że przejście do następnego poziomu następuje po spełnieniu trzech warunków. W logice i w JavaScript oznacza to, że wszystkie warunki muszą być prawdziwe w tym samym czasie. Do tego służy operator koniunkcji &&.

Wyrażenie punkty == 20 && paczki >= 3 && dystans == 200 łączy trzy porównania w jeden warunek złożony. Jeśli choć jedno porównanie zwróci wartość fałszywą, całość również będzie fałszywa, więc poziom nie zostanie zaliczony. To odpowiada sformułowaniu "po spełnieniu trzech warunków".

Dlaczego pozostałe propozycje są błędne?

  • Zapisy z operatorem || oznaczają alternatywę: wystarczy spełnić dowolny jeden z warunków. To zmienia znaczenie zadania (poziom przechodziłby się np. tylko za sam dystans albo same punkty).
  • Wariant z paczki == 3 ignoruje słowo "minimum". "Minimum 3" dopuszcza 3, 4, 5… paczek, więc poprawnym porównaniem jest >= 3, a nie równość.

Wskazówka egzaminacyjna: gdy w treści jest "spełnieniu kilku warunków" lub "jednocześnie", prawie zawsze szukasz &&. Gdy jest "wystarczy jeden z warunków" lub "którykolwiek", wtedy pasuje ||. Zwracaj też uwagę na słowa progowe: "minimum/co najmniej" sugeruje >=, a "dokładnie" sugeruje ==.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator && (koniunkcja) oznacza "i". Całe wyrażenie jest prawdziwe tylko wtedy, gdy wszystkie połączone warunki są prawdziwe. Stosuje się go, gdy wymagane jest jednoczesne spełnienie kilku kryteriów, np. punkty i paczki i dystans.
Operator || (alternatywa) oznacza "lub". Wyrażenie jest prawdziwe, jeśli prawdziwy jest choć jeden z warunków. Używa się go, gdy dopuszczasz różne ścieżki spełnienia wymagania, np. zniżka za kod promocyjny lub za status klienta.
Sformułowanie "minimum 3" oznacza wartość progową: 3 lub więcej. Zapis paczki >= 3 akceptuje 3, 4, 5 itd. Zapis paczki == 3 dopuszcza wyłącznie dokładnie 3, więc odrzuci 4 i więcej, co jest sprzeczne z "minimum".
To zależy od interpretacji treści. Jeśli chodzi o dokładnie 20 punktów, pasuje == 20. Jeśli 20 jest progiem ("co najmniej 20"), wtedy stosuje się >= 20. Na egzaminie warto szukać słów "co najmniej/minimum", które jasno wskazują nierówność.
Łączysz warunki operatorem &&, np. if (warunek1 && warunek2 && warunek3) { ... }. Dzięki temu blok wykona się tylko wtedy, gdy wszystkie porównania zwrócą prawdę. To typowy wzorzec w grach, walidacji i filtrach.
Najczęściej myli się znaczenie "i" z "lub", zwłaszcza gdy w treści jest lista warunków. Drugi błąd to ignorowanie słów progowych ("minimum", "co najmniej") i użycie == zamiast >=. Warto testować skrajne przypadki, np. paczki=4.
Logicznie wynik jest taki sam, ale w JavaScript działa tzw. short-circuit: jeśli pierwszy warunek w łańcuchu && jest fałszywy, kolejne mogą nie być sprawdzane. W praktyce warto dawać najtańsze i najszybsze warunki na początku, by optymalizować działanie.
== porównuje wartości z możliwą konwersją typów, a === porównuje wartości i typy bez konwersji. W zadaniach szkolnych często spotyka się ==, ale w praktyce webowej częściej zaleca się ===, aby unikać nieoczywistych rzutowań.
Przyjmij kilka zestawów danych i sprawdź, czy wynik zgadza się z intuicją: np. punkty=20, paczki=3, dystans=200 (powinno przejść) oraz punkty=20, paczki=2, dystans=200 (nie powinno). Takie testy szybko wykrywają mylenie && z || i błędy progów.
Złożone warunki są wszędzie: w walidacji formularzy (np. wymagane pola i zgody), w kontroli dostępu (rola i status konta), w filtrowaniu list oraz w logice interfejsu (pokazuj przycisk tylko gdy spełniono kilka kryteriów). To podstawowa umiejętność w JavaScript.
info

Około 66% zdających odpowiada poprawnie na to pytanie. średnie

Specjaliści zwracają uwagę: "Użycie || oznaczałoby, że wystarczy spełnić tylko jeden warunek."

Źródła:

  • MDN Web Docs: Logical AND (&&) operator (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND (dostęp: 2026-02-27)
  • MDN Web Docs: Logical OR (||) operator (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR (dostęp: 2026-02-27)
  • MDN Web Docs: Comparison operators (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#comparison_operators (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MDN: operatory logiczne i porównania w JavaScript
  • Materiały do INF.3 z zakresu podstaw JavaScript (instrukcje warunkowe, operatory)
  • Ćwiczenia: budowa złożonych warunków w if/else i testowanie przypadków brzegowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego