Średnia arytmetyczna jest ilorazem sumy wartości i liczby elementów. Nawet gdy wszystkie dane wejściowe są całkowite, wynik średniej nie musi być całkowity. Przykład: (1 + 2) / 2 = 1,5. Taki wynik wymaga zapisu części ułamkowej, dlatego w programowaniu stosuje się typy zmiennoprzecinkowe (liczby rzeczywiste).
W zestawie odpowiedzi typ real oznacza typ przeznaczony do przechowywania liczb rzeczywistych (z częścią ułamkową), więc jest właściwy do reprezentacji średniej.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- longint – to typ całkowity. Zapisze 1,5 jako 1 (obcięcie) albo wymusi inne niepożądane zachowanie zależne od języka/konwersji, tracąc część ułamkową.
- integer – również typ całkowity, zatem ma ten sam problem: brak możliwości przechowania części po przecinku.
- byte – typ całkowity o małym zakresie. Oprócz braku ułamków może szybko doprowadzić do przepełnienia przy sumowaniu większej liczby wartości.
W praktyce (szczególnie w nowoczesnych językach) spotkasz nazwy takie jak float lub double, ale idea jest identyczna: do średniej wybierasz typ, który przechowuje ułamki. Dodatkowo warto pamiętać o rzutowaniu: gdy dzielisz liczby całkowite, upewnij się, że dzielenie jest wykonywane w arytmetyce rzeczywistej, aby nie utracić części ułamkowej.