Numere aleatorii Qbasic

# Numere aleatoare

Un număr aleator este un număr ale cărui valori nu pot fi cunoscute în avans. Un exemplu clasic este numărul de puncte care scad atunci când rotiți un zar.

În Quick Basic, există o funcție RND care returnează o valoare aleatorie din intervalul (0, 1). O vom cunoaște mai bine. Să compunem programul de ieșire al primelor 5 numere aleatorii pe ecran.







Dacă vom executa acest program de mai multe ori, vom fi surprinși să aflăm că aceeași secvență de numere "aleatoare" este produsă pe ecran! Acest lucru se datorează faptului că, de fapt, fiecare număr aleatoriu următor este obținut de la cel precedent utilizând o formulă inteligentă care imită lipsa de regularitate în secvența de numere. Și din moment ce primul număr al secvenței este același, restul numerelor va fi repetat.







Pentru a obține secvențe diferite, trebuie să luați o nouă "semințe" de fiecare dată când începeți. Pentru a schimba "semințele" folosiți comanda RANDOMIZE TIMER.

RANDOMIZE primește de la funcția TIMER o valoare de timp a sistemului și formează o "semințe" pentru RND. Data viitoare când programul este rulat, funcția TIMER returnează o altă valoare și se produce o altă secvență de numere.

Sarcina. Obțineți un număr întreg aleatoriu x în intervalul de la 1 la N

Soluția. Înmulțim inegalitatea 0 0. Atunci când se înmulțește cu un număr pozitiv, semnul inegalității este păstrat, deci 0 x = INT (N * RND) + 1

Sarcina. "Lumină" pe ecran (în modul text) 100 de stele.

Soluția. Pentru fiecare asterisc, selectăm aleatoriu numerele de linie și poziții. Având în vedere că liniile de pe ecranul de text 25 și pozițiile 80, obținem programul

Valoarea virgulă după instrucțiunea PRINT este necesară pentru a anula traducerea liniei după ieșirea asteriscului, în caz contrar întreaga imagine se va mișca în sus când se afișează ultima linie a ecranului.

Sarcină. Modificați programul astfel încât să afișeze 1000 de puncte de culoare aleatorie în modul grafic. Înlocuiți punctele cu cercuri sau dreptunghiuri.





Articole similare

Trimiteți-le prietenilor: