Strona główna › Pytania INF.03 › Pytanie 993
INF.03 · pytanie #993
Wskaż metodę biblioteki Math języka JavaScript, która dla parametru x = 2.8 zwróci wartość 2.
- Asqrt(x)
- Bfloor(x)
- Cceil(x)
- Dexp(x)
Poprawna odpowiedź: B. floor(x)
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Poprawna jest metoda Math.floor(x), ponieważ w JavaScript odpowiada ona za zaokrąglenie liczby w dół do najbliższej liczby całkowitej. Dla x = 2.8 wynik Math.floor(2.8) to 2, bo funkcja „odcina” część ułamkową i schodzi do najbliższej liczby całkowitej mniejszej lub równej podanej wartości. To zachowanie jest zdefiniowane w specyfikacji ECMAScript i jest spójne we wszystkich nowoczesnych przeglądarkach oraz środowiskach typu Node.js. W praktyce Math.floor bardzo często wykorzystuje się przy pracy z indeksami tablic, generowaniu losowych liczb całkowitych czy przy obliczeniach, gdzie fragment ułamkowy nie ma znaczenia, np. liczba stron, liczba pełnych paczek produktu, paginacja rekordów. Typowy wzorzec to na przykład Math.floor(Math.random() * 10), który daje liczby całkowite z zakresu 0–9. Warto też świadomie odróżniać Math.floor od innych metod zaokrąglania: Math.ceil(2.8) zwróci 3, bo zaokrągla „w górę”, a Math.round(2.8) również zwróci 3, bo zaokrągla do najbliższej liczby całkowitej. Z mojego doświadczenia w JS często używa się właśnie floor tam, gdzie ważna jest przewidywalność w dół, np. przy obliczaniu indeksów czy dzieleniu na równe segmenty, żeby nie wyjść poza zakres. Warto też pamiętać, że Math.floor działa poprawnie również dla liczb ujemnych, ale tam „w dół” oznacza w kierunku −∞, więc Math.floor(−2.8) da −3, co czasem potrafi zaskoczyć, jeśli ktoś myśli tylko o „obcięciu” części po przecinku.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.