KWALIFIKACJA INF3 - CZERWIEC 2017

PYTANIE NR 27.
Wskaż zapisany w języku JavaScript warunek, który ma sprawdzić spełnienie przynajmniej jednego z przypadków:
1) dowolna naturalna liczba a jest trzycyfrowa
2) dowolna całkowita liczba b jest ujemna
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawny warunek łączy sprawdzenie liczby trzycyfrowej jako zakresu: a musi być jednocześnie większe od 99 i mniejsze od 1000. Następnie używa alternatywy, aby wystarczyło spełnienie jednego z dwóch przypadków: a trzycyfrowe albo b ujemne. Operatory && i || oznaczają odpowiednio AND i OR.

Pełne wyjaśnienie:

Warunek ma sprawdzić spełnienie co najmniej jednego z dwóch przypadków, więc całość musi być połączona operatorem alternatywy logicznej || (OR). To oznacza: wystarczy, że prawdziwy będzie warunek dla a lub prawdziwy będzie warunek dla b.

Pierwszy przypadek dotyczy tego, czy liczba a jest trzycyfrowa. W praktyce sprawdza się to jako przynależność do przedziału: od 100 do 999. Zapis zakresu wymaga jednoczesnego spełnienia dwóch ograniczeń, czyli koniunkcji && (AND):

  • a > 99 (czyli co najmniej 100),
  • a < 1000 (czyli najwyżej 999).

Dlatego fragment dotyczący a powinien mieć postać logicznego "i": (a > 99) && (a < 1000). Drugi przypadek jest prosty: liczba całkowita b jest ujemna, czyli b < 0.

Poprawna odpowiedź łączy oba przypadki w wymagany sposób: zakres dla a ORAZ ujemność b jako alternatywy, czyli: warunek dla a || warunek dla b.

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

  • Wyrażenie z częścią (a > 99) || (a < 1000) jest logicznie prawie zawsze prawdziwe dla liczb naturalnych, bo większość wartości spełni przynajmniej jeden z tych członów. To nie opisuje poprawnie przedziału trzycyfrowego.
  • Warianty, w których całość jest połączona operatorem &&, wymagają spełnienia obu przypadków jednocześnie (a trzycyfrowe i b ujemne). To przeczy treści "przynajmniej jeden z przypadków".
  • Wariant z poprawnym zakresem dla a, ale połączony z (b < 0) przez &&, zawęża warunek do sytuacji, gdy oba są prawdziwe, a nie gdy prawdziwy jest dowolny z nich.

Wskazówka egzaminacyjna: przy zadaniach "co najmniej jeden" szukaj OR (||), a przy sprawdzaniu przedziału zawsze potrzebujesz AND (&&), bo oba ograniczenia muszą obowiązywać równocześnie.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Oznacza to, że całe wyrażenie ma zwrócić true, gdy spełniony jest którykolwiek z warunków cząstkowych. W praktyce łączy się je operatorem alternatywy logicznej || (OR).
Najprościej potraktować to jako sprawdzenie, czy liczba mieści się w zakresie wartości trzycyfrowych. Dla dodatnich liczb całkowitych typowo sprawdza się warunek: liczba jest większa od 99 i mniejsza od 1000, czyli łączy się dwa porównania operatorem &&.
Zakres oznacza spełnienie dwóch ograniczeń jednocześnie (dolnego i górnego). Gdy użyjesz OR, wystarczy spełnić tylko jedno z nich, co zwykle "rozszerza" warunek na prawie wszystkie liczby i przestaje on opisywać konkretny przedział.
W kontekście warunków logicznych operator || odpowiada alternatywie (OR), czyli "co najmniej jeden warunek jest prawdziwy". Dodatkowo JavaScript stosuje tzw. short-circuit, więc może nie sprawdzać drugiej strony, jeśli pierwsza już przesądza wynik.
Najczęściej myli się sytuacje "oba naraz" z "wystarczy jeden", czyli zamienia się && z ||. Drugi częsty błąd to użycie OR w zapisie przedziału. Warto zawsze rozbić problem na: (1) zakres = AND, (2) alternatywa przypadków = OR.
Nawiasy warto stosować zawsze, gdy łączysz kilka porównań i operatorów logicznych, aby jednoznacznie pokazać grupowanie. To ułatwia czytanie i zmniejsza ryzyko błędu związanego z priorytetem operatorów (np. AND i OR).
Liczba 1000 ma cztery cyfry, więc nie spełnia warunku bycia trzycyfrową. Dlatego górne ograniczenie zapisuje się jako "mniejsze od 1000", a nie "mniejsze lub równe 1000". To sprawia, że wartości 100–999 przechodzą, a 1000 już nie.
Ujemność liczby sprawdza się prostym porównaniem: b < 0. Jeśli b ma być liczbą całkowitą, zwykle zakłada się, że typ/źródło danych zapewnia całkowitość (np. parsowanie do liczby). Sam warunek ujemności dotyczy wartości.
Tak. Złożone warunki pojawiają się w walidacji pól (np. dopuszczenie wartości z zakresu albo wartości specjalnej). Typowy przypadek: poprawna wartość podstawowa lub wyjątek (kod ujemny, flaga, inny tryb). To dokładnie sytuacja "przynajmniej jeden z przypadków".
Ćwicz rozbijanie problemu na warunki cząstkowe i dobór operatora: zakresy zapisuj jako AND, alternatywy przypadków jako OR. Pomaga też szybkie sprawdzenie na przykładach granicznych (99, 100, 999, 1000 oraz b = -1, 0, 1) i analiza, kiedy warunek ma być prawdziwy.
info

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

Według specjalistów z branży: "Poprawny warunek łączy sprawdzenie liczby trzycyfrowej jako zakresu: a musi być jednocześnie większe od 99 i mniejsze od 1000."

Źródła:

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

Materiały:

  • Dokumentacja MDN: operatory logiczne w JavaScript
  • Dokumentacja MDN: operatory porównania i relacyjne
  • Ćwiczenia z algebry Boole'a: tabele prawdy dla AND/OR

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego