Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Która z podanych funkcji napisanych w PHP oblicza sumę połowy a oraz połowy b?
Odpowiedzi
Informacja zwrotna
Funkcja 'function licz($a, $b) { return $a/2 + $b/2; }' jest naprawdę w porządku. Dokładnie wykonuje to, co pytanie wymaga: sumuje połowy zmiennych a i b. W PHP dzielenie robimy przez operator '/', a tu obie liczby są dzielone przez 2, więc dostajemy ich połówki. Potem te połówki dodajemy, co się zgadza z tym, o co chodzi w zadaniu. Na przykład, jak a = 6 i b = 4, to funkcja zwraca (6/2) + (4/2) = 3 + 2 = 5. Takie podejście jest super, bo kod jest czytelny i prosty. W ekipach programistycznych, gdzie różni ludzie mogą pracować nad tym samym kodem, to ma duże znaczenie. Nazwa 'licz' też jest całkiem zrozumiała i dobrze pasuje do tego, co ta funkcja robi, więc później można łatwo z niej korzystać czy zmieniać ją, jak będzie potrzeba.
Jak spojrzymy na błędne odpowiedzi, to widać, że pojawiło się kilka typowych problemów. Często wynika to z mylnego rozumienia operacji matematycznych i niewłaściwego użycia operatorów. Na przykład, jeśli ktoś wybrał odpowiedź zwracającą 2/$a + 2/$b, to zamiast obliczać połówki, funkcja daje wartości odwrotne, co mija się z celem pytania. To może być spowodowane niezrozumieniem, jak działają operatory. Inna odpowiedź, która zwraca ($a/2 + $b)/2, dodaje jeszcze jedno dzielenie przez 2, co daje niepoprawny wynik, bo to już nie jest suma połowy a i b, ale połowa sumy tych połów. Z kolei odpowiedź, która zwraca $a/2 + $b, dodaje połówkę a do całej wartości b, co też niezgodne z tym, co powinno być zrobione. W programowaniu kluczowe jest rozumienie, jak działają operacje i ich poprawne zastosowanie. Te błędy pokazują, jak ważne jest dokładne analizowanie wymagań i korzystanie z testów jednostkowych, żeby upewnić się, że wszystko działa, zanim kod zostanie wdrożony. W codziennym programowaniu warto też dodawać komentarze w kodzie, bo to ułatwia innym zrozumienie, co autor miał na myśli.