KWALIFIKACJA INF3 - STYCZEŃ 2017

PYTANIE NR 28.
W języku JavaScript aby sprawdzić warunek czy liczba znajduje się w przedziale (100, 200>, należy zapisać:
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Warunek "liczba należy do (100, 200>" oznacza jednocześnie: liczba musi być większa od 100 oraz mniejsza lub równa 200. Dlatego poprawny zapis łączy porównania operatorem &&: liczba > 100 i liczba <= 200. Użycie || dopuszczałoby wartości spoza zakresu.

Pełne wyjaśnienie:

Zapis przedziału (100, 200> oznacza, że dolna granica jest otwarta, a górna domknięta. W praktyce przekłada się to na dwa warunki porównania:

  • liczba > 100 (bo 100 nie należy do przedziału),
  • liczba <= 200 (bo 200 należy do przedziału).

Aby liczba "była w przedziale", oba te wymagania muszą być spełnione jednocześnie, więc łączymy je operatorem koniunkcji &&. Taki zapis odcina wartości mniejsze lub równe 100 oraz większe od 200.

Odpowiedź "If (liczba < 100 || liczba >=200)" opisuje sytuację odwrotną: przepuszcza liczby mniejsze od 100 lub co najmniej 200, więc obejmuje szeroki obszar spoza oczekiwanego zakresu. To typowy błąd polegający na myleniu warunku należenia do przedziału z warunkiem "poza przedziałem".

Odpowiedź "If (liczba > 100 || liczba <=200)" jest logicznie prawie zawsze prawdziwa dla większości liczb (np. 150 spełnia oba, a 1000 spełnia pierwszy). Alternatywa || nie wymusza jednoczesnego spełnienia ograniczeń, więc nie testuje przedziału.

Odpowiedź "If (liczba < 100 && liczba <=200)" ma niespójny sens: pierwszy warunek wymaga wartości mniejszych od 100, co kłóci się z ideą przedziału zaczynającego się powyżej 100. W efekcie dopuszcza liczby, które z definicji nie powinny przejść walidacji.

Wskazówka egzaminacyjna: najpierw przetłumacz przedział na dwa porównania (> / >= oraz < / <=), a dopiero potem zdecyduj, czy potrzebujesz && (należy do przedziału) czy || (często "poza przedziałem").

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To zapis matematyczny: liczba ma być większa od 100 (100 jest wykluczone) i jednocześnie mniejsza lub równa 200 (200 jest dozwolone). W JS przekładasz to na dwa porównania połączone operatorem &&.
Najprościej jako dwa porównania z koniunkcją: liczba > 100 && liczba <= 200. Operator && wymusza spełnienie obu warunków jednocześnie, co odpowiada należeniu do przedziału.
Bo przedział to dwa ograniczenia naraz: dolne i górne. && oznacza "i", więc oba muszą być prawdziwe. || oznacza "lub" i przepuściłby wiele wartości spoza zakresu, bo wystarczy spełnić tylko jeden warunek.
Nie dla sprawdzania należenia do przedziału. Taki warunek jest prawdziwy dla większości liczb, bo zwykle spełniony jest co najmniej jeden człon. To typowy błąd: użycie alternatywy || zamiast koniunkcji &&.
"Poza przedziałem" oznacza, że liczba jest <= 100 albo > 200. Wtedy naturalnie pojawia się operator ||: np. liczba <= 100 || liczba > 200. To przeciwieństwo warunku należenia.
Gdy górna (lub dolna) granica jest domknięta, czyli dana wartość brzegowa należy do przedziału. W zapisie (100, 200> nawias ">" sugeruje domknięcie z prawej strony, więc stosuje się <= 200.
Najczęściej: zamiana && na ||, pominięcie znaku równości przy domkniętej granicy (< zamiast <=), oraz błędne odczytanie, czy 100 lub 200 należy do przedziału. Pomaga rozpisanie przedziału na dwa osobne porównania.
Najczytelniej jest użyć dwóch porównań i &&. Alternatywy (np. funkcje pomocnicze) są możliwe, ale na egzaminie zwykle oczekuje się prostego zapisu logicznego. Kluczowe jest zachowanie poprawnych znaków: >, <, <=, >=.
Ustal, czy granice są dozwolone: otwarty koniec oznacza > lub <, domknięty koniec oznacza >= lub <=. Potem zdecyduj o łączeniu: należenie do przedziału to zwykle &&.
Tak. JavaScript jest wrażliwy na wielkość liter, więc słowo kluczowe to if, a nie If. Na testach może to być uproszczenie zapisu, ale w realnym kodzie użycie złej wielkości liter spowoduje błąd składni.
info

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

W praktyce zawodowej kluczowe jest to, że warunek "liczba należy do (100, 200&gt;" oznacza jednocześnie: liczba musi być większa od 100 oraz mniejsza lub równa 200.

Źródła:

  • MDN Web Docs: Logical AND (&&) - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND (dostęp: 2026-02-27)
  • MDN Web Docs: Logical OR (||) - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR (dostęp: 2026-02-27)
  • MDN Web Docs: Less than or equal (<=) - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Less_than_or_equal (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MDN: operatory porównania i logiczne w JavaScript
  • Ćwiczenia z walidacji formularzy w JS (warunki złożone, zakresy)
  • Zadania typu "przedziały liczbowe" (otwarty/domknięty koniec) w kontekście programowania

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego