Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby
| if ($a > $b && $a > $c) echo $a; else if ($b > $c) echo $b; else echo $c; |
Pytanie z egzaminu CKE, wrzesień 2015 (arkusz E.14-X-15.08).
Kod wypisuje największą z trzech liczb. Pierwszy warunek $a > $b && $a > $c sprawdza, czy a jest większe od obu pozostałych, i wtedy wypisuje a. Jeśli nie, wiadomo, że to nie a jest największe, więc wystarczy porównać b z c: większa z nich trafia na ekran.
Operator && to logiczne i: cały warunek jest prawdziwy tylko wtedy, gdy prawdziwe są obie części. Ten sam algorytm wyszukiwania maksimum spotkasz w każdym języku. W PHP można go zastąpić gotową funkcją max($a, $b, $c), a najmniejszą liczbę zwraca min(). Na egzaminie warto prześledzić kod na przykładowych liczbach, np. 3, 7 i 5.
Wybór najmniejszej liczby bierze się zwykle z pomylenia kierunku znaku. W kodzie są wyłącznie porównania >, więc każda gałąź wybiera wartość większą, a nie mniejszą. Najmniejszą wypisywałby ten sam kod ze znakami <.
Parzystość i nieparzystość w ogóle nie są tu badane. Sprawdza się je resztą z dzielenia, np. $a % 2 == 0, a tego operatora w kodzie nie ma. Wypisana liczba może być parzysta albo nieparzysta, zależnie od danych.
Prześledź przykład: dla a = 3, b = 7, c = 5 pierwszy warunek jest fałszywy, bo 3 nie jest większe od 7. Drugi warunek $b > $c jest prawdziwy, więc kod wypisze 7, czyli największą liczbę.
Przy równych wartościach, np. a = b = 7, kod też wypisze 7, bo porównanie > jest ścisłe i sterowanie przejdzie do dalszych gałęzi.