Warunek ma wybrać (przepuścić do średniej) tylko te oceny, które mieszczą się w przedziale od 2 do 6 włącznie. Taki zapis oznacza przedział domknięty, więc poprawny filtr musi uwzględniać wartości brzegowe 2 oraz 6.
Logicznie jest to sytuacja, w której muszą być spełnione dwa ograniczenia naraz:
- ocena jest nie mniejsza niż 2, czyli
$ocena >= 2
- ocena jest nie większa niż 6, czyli
$ocena <= 6
Skoro oba warunki mają być prawdziwe jednocześnie, łączymy je operatorem koniunkcji, czyli and: $ocena >= 2 and $ocena <= 6.
Dlaczego pozostałe propozycje są błędne?
$ocena > 2 and $ocena < 6
odrzuca oceny równe 2 i 6. To błąd typu "pominięcie wartości granicznych" – zamiast przedziału domkniętego powstaje przedział otwarty.$ocena >= 2 or $ocena <= 6
jest praktycznie zawsze prawdą dla większości liczb, bo wystarczy spełnić tylko jeden z warunków. Przykładowo ocena 1 spełnia $ocena <= 6, a ocena 10 spełnia $ocena >= 2, więc filtr nie działa.$ocena > 2 or $ocena < 6
ma ten sam problem jak wyżej: alternatywa nie sprawdza "pomiędzy", tylko dopuszcza niemal każdą wartość, a dodatkowo usuwa sens granic przez użycie > i <.
Wskazówka egzaminacyjna: przy zadaniach "wartość w zakresie" zawsze sprawdź kontrprzykłady (np. 1 i 10) oraz brzegi (2 i 6). To szybko ujawnia, czy potrzebujesz and czy or oraz czy mają być użyte znaki z równością.