Dlaczego pseudolosowe, a nie losowe?
Niejednokrotnie w programowaniu będziemy wykorzystywać przypadkowe
liczby wybrane przez interpreter. Posłżymy się funkcją rand();
Otrzymane w ten sposób liczby nie są w istocie losowe, lecz są
wynikiem działania pewnego algorytmu deterministycznego. Dlatego też
określa się je często mianem liczb pseudolosowych. W efekcie
otrzymamy jednak liczby z zadanego zakresu, wybór ich jednak dokona
komputer.
Funkcja rand();
Sprawdźmy wynik działania następującego skryptu:
<?php
$losowa=rand();
echo"Wyświetlam wylosowaną liczbę: $losowa";
?>
Wynikiem działania skryptu będzie wyświetlenie
przypadkowej liczby. Jeżeli chcemy uzyskać liczbę z określonego
zakresu, należy podać dwa parametry funkcji rand();
<?php
$losowa=rand(1,5);
echo"Wyświetlam wylosowaną liczbę z zakresu 1 - 5: $losowa";
?>
Ćwiczenie 6_1 (*)
- Lotto
-
Należy umieścić na swoim koncie WWW plik
06_01.php (do pobrania tutaj
06_01.zip).
-
Należy uruchomić skrypt i obejrzeć efekt jego działania.
-
Należy przeanalizować budowę skryptu zwracając szczególną uwagę
na objaśnienia umieszczone w komentarzach.
W miarę poznawania funkcji PHP zaprezentowany kod ulegnie
znacznemu skróceniu.
-
Należy rozbudować dostarczony skrypt - wybrać 6 liczb z
49? (życzymy wysokiej wygranej).
-
Skrypt powinien dokonać losowania tylko wtedy, gdy użytkownik
zaznaczy 6 liczb. W przeciwnym wypadku użytkownik powinien być
poinformowany o niemożności przeprowadzenia losowania.
Zadanie 6 - Program do nauki tabliczki mnożenia
- Naley przygotować plik o nazwie zadanie06.php i opublikować
go na swoim koncie.
- Przykad wykonania zadania znajduje się
tutaj (wymagane
poczenie z Internetem)
Wskazwki do zadania
Cz z formularzem - losuje dwie liczby z zakresu (1-10) i prosi
uytkownika o podanie iloczynu tych liczb.
Przekazuje do kolejnego etapu (ten sam plik) następujące zmienne:
$losowa1 $losowa2 $wynik
Drugi etap - porównuje $wynik i iloczyn przesłanych liczb ($losowa1
i $losowa2), jeżeli wartości są takie same, powiększa o jeden
zmienn $licznik_dobrych.
Drugi etap - bez względu na to, czy wynik jest prawidłowy, czy
nieprawidłowy, zwiększa o jeden zmienną $licznik_odpowiedzi
Drugi etap - po wciśnięciu klawisza "Nowe zadanie" przekazuje do
etapu pierwszego zmienne $licznik_dobrych i $licznik_odpowiedzi
Pierwszy etap - jak wyżej, oprócz tego w ukrytych polach formularza
przekazuje do etapu drugiego zmienne $licznik_dobrych i $licznik_odpowiedzi,
co umożliwia ciągłe zliczanie liczby poprawnych i wszystkich
odpowiedzi.
Aby zaokrąglić do dwóch miejsc po przecinku obliczony procent
poprawnych odpowiedzi, można wykorzystać następującą funkcją:
$procent=sprintf("%01.2f", $procent);
|