Strona główna › Pytania INF.04 › Pytanie 331
INF.04 · pytanie #331
Który z warunków logicznych weryfikuje, czy zmienna całkowita x jest dodatnią liczbą składającą się z dwóch cyfr i jest podzielna przez 4?
- A(x > 0 && x < 100) || (x / 4 == 0)
- B(x > 9 || x < 100) && (x / 4 == 0)
- C(x > 9 && x < 100) || (x % 4 == 0)
- D(x > 9 && x < 100) && (x % 4 == 0)
Poprawna odpowiedź: D. (x > 9 && x < 100) && (x % 4 == 0)
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Ten warunek jest skonstruowany bardzo poprawnie, zarówno od strony logicznej, jak i praktycznej. Spójrz, jak działa: (x > 9 && x < 100) gwarantuje, że x musi być liczbą całkowitą większą od 9 i jednocześnie mniejszą od 100, a to oznacza, że jest to liczba dwucyfrowa (od 10 do 99). To się zgadza z typową definicją liczby dwucyfrowej w większości języków programowania, gdzie liczby są całkowite i nie mają zer wiodących. Druga część, czyli (x % 4 == 0), sprawdza podzielność przez 4 – operator modulo zwraca resztę z dzielenia, więc jeśli jest zero, to liczba jest faktycznie podzielna przez 4. Razem, połączenie tych dwóch warunków operatorem logicznym „i” (czyli &&) sprawia, że obie rzeczy muszą być spełnione jednocześnie – liczba jest dwucyfrowa i podzielna przez 4. To bardzo praktyczny sposób weryfikacji np. podczas walidacji danych wejściowych, generowania zadania dla użytkownika czy szybkiego filtrowania liczb. Spotyka się podobne zapisy w zadaniach rekrutacyjnych czy testach jednostkowych. Co ciekawe, taka konstrukcja jest bardzo czytelna dla innych programistów, co wpisuje się w dobre praktyki branżowe – kod łatwo się czyta i nie trzeba się długo zastanawiać, co autor miał na myśli. Moim zdaniem warto pamiętać, żeby właśnie takie warunki pisać w sposób przejrzysty i jednoznaczny. No i nie zapomnij – zawsze testuj swój warunek dla wartości brzegowych (np. 9, 10, 99, 100), żeby mieć pewność, że rzeczywiście działa tak, jak chcesz!
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.