KWALIFIKACJA INF3 - CZERWIEC 2022

PYTANIE NR 5.
W języku JavaScript metoda Math.random() ma za zadanie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Metoda Math.random() w JavaScript zwraca liczbę pseudolosową z zakresu od 0 (włącznie) do 1 (wyłącznie). Nie służy do zaokrąglania ani do porównywania napisów. Zaokrąglanie realizują inne metody obiektu Math, np. Math.round() i Math.ceil().

Pełne wyjaśnienie:

Math.random() to wbudowana metoda JavaScript, której zadaniem jest zwrócenie liczby pseudolosowej. W praktyce oznacza to, że otrzymujesz wartość typu number, która jest "losowa" w sensie algorytmicznym (generowana przez mechanizm środowiska uruchomieniowego), a nie wynik prawdziwego zjawiska fizycznego.

W typowych implementacjach (zgodnie z powszechnie przyjętym opisem tej metody) zwracana wartość mieści się w przedziale od 0 (włącznie) do 1 (wyłącznie). Dlatego często, aby wylosować liczbę całkowitą z danego zakresu, łączy się ją z przeskalowaniem oraz zaokrągleniem, np. przez użycie Math.floor() lub Math.ceil().

Dlaczego pozostałe odpowiedzi są błędne?

  • "zwrócić zaokrągloną liczbę." – zaokrąglanie to inna operacja matematyczna. Do tego służą metody takie jak Math.round() (zaokrąglenie do najbliższej liczby całkowitej) albo Math.floor()/Math.ceil() (w dół / w górę). Sama Math.random() nie wykonuje zaokrąglania.
  • "porównać dwa napisy." – porównywanie stringów realizuje się operatorami (np. ===, <, >) lub metodami związanymi z typem String. Obiekt Math dotyczy funkcji matematycznych na liczbach, nie operacji tekstowych.
  • "zaokrąglić liczbę do najbliższej większej całkowitej." – to opis działania Math.ceil(). Jest to częsty błąd wynikający z tego, że obie metody należą do obiektu Math, ale mają zupełnie inne zastosowania.

Wskazówka egzaminacyjna: w zadaniach o API JavaScript zwracaj uwagę na nazwę metody i jej semantykę. random sugeruje losowość, a ceil/round/floor sugerują zaokrąglanie. To pomaga szybko wykluczać odpowiedzi z niepasującej kategorii.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Math.random() zwraca liczbę pseudolosową typu number, zwykle z zakresu od 0 (włącznie) do 1 (wyłącznie). Wynik nie jest liczbą całkowitą, więc do losowania całkowitych wartości trzeba go przeskalować i zaokrąglić.
Wynik jest generowany algorytmicznie przez silnik JavaScript, a nie przez prawdziwe zjawisko losowe. Dlatego jest to pseudolosowość: wartości wyglądają na losowe, ale są efektem działania generatora w środowisku uruchomieniowym.
Typowo używa się przeskalowania i zaokrąglenia: mnożysz wynik Math.random() przez rozmiar zakresu, a potem stosujesz np. Math.floor() i dodajesz przesunięcie. Ważne, by kontrolować, czy górna granica ma być włączona.
Nie jest to bezpieczne kryptograficznie źródło losowości. Do celów bezpieczeństwa (hasła, tokeny sesji, klucze) stosuje się mechanizmy kryptograficzne dostępne w środowisku, a nie ogólną metodę z obiektu Math.
Math.random() generuje liczbę pseudolosową, a Math.round() zaokrągla podaną liczbę do najbliższej całkowitej. To inne kategorie funkcji: pierwsza tworzy wartość, druga ją przekształca.
Math.ceil() zaokrągla zawsze w górę do najbliższej liczby całkowitej, a Math.round() do najbliższej (w górę lub w dół zależnie od części ułamkowej). ceil przydaje się, gdy chcesz uniknąć zaniżenia wyniku.
W typowym opisie tej metody wynik jest z przedziału [0, 1), czyli 0 może się pojawić, a 1 nie. Dlatego przy budowaniu zakresów całkowitych zwykle dobiera się wzór tak, by nie "wychodzić" poza górną granicę tablicy lub zakresu.
Najczęstszy błąd to użycie złego zaokrąglenia i wylosowanie indeksu spoza zakresu. Stosuje się przeważnie Math.floor(Math.random() * długość), aby uzyskać wartości od 0 do długość-1. Trzeba też pamiętać, że tablice są indeksowane od zera.
Mylenie losowania z zaokrąglaniem. Obie grupy funkcji są w obiekcie Math, ale tylko random generuje wartość, a round/ceil/floor zmieniają podaną liczbę. Warto kojarzyć nazwy z działaniem.
Do zaokrąglania używa się m.in. Math.round() (do najbliższej całkowitej), Math.floor() (w dół) oraz Math.ceil() (w górę). Math.random() nie jest metodą zaokrąglania, tylko generowania wartości.
info

Statystycznie 83% uczniów zna prawidłową odpowiedź. średnio łatwe

Według specjalistów z branży: "Metoda Math.random() w JavaScript zwraca liczbę pseudolosową z zakresu od 0 (włącznie) do 1 (wyłącznie)."

Źródła:

  • MDN Web Docs: "Math.random()" (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random (dostęp: 2026-02-27)
  • MDN Web Docs: "Math.round()" (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round (dostęp: 2026-02-27)
  • MDN Web Docs: "Math.ceil()" (JavaScript) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MDN: opis Math.random() i przykłady użycia
  • Dokumentacja MDN: porównanie Math.round(), Math.ceil(), Math.floor()
  • Materiały kursowe z podstaw JavaScript dotyczące obiektu Math

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego