Podstawy PHP i MySQL
Temat 6 - Liczby pseudolosowe
Powrót do spisu tematjw


W tym rozdziale:

  1. Działanie funkcji rand();
  2. Zaokrąglanie wartości zmiennych liczbowych
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

  1. Należy umieścić na swoim koncie WWW plik 06_01.php (do pobrania tutaj 06_01.zip).
  2. Należy uruchomić skrypt i obejrzeć efekt jego działania.
  3. 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.
  4. Należy rozbudować dostarczony skrypt - wybrać 6 liczb z 49? (życzymy wysokiej wygranej).
  5. 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

  1. Naley przygotować plik o nazwie zadanie06.php i opublikować go na swoim koncie.
  2. Przykad wykonania zadania znajduje się tutaj (wymagane poczenie z Internetem)

Wskazwki do zadania
Cz z formularzem - losuje dwie liczby z zakresu (1-10) i prosi uytkownika 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);

 

Do zapamiętania

 

 


Powrót do spisu tematów