Numere aleatoare
În procesul de studiere a algoritmilor ciclici, este indicat să se spună despre generarea de numere aleatorii programabil. Cu simplitate aparentă, nu este atât de ușor să obțineți numere aleatorii. Încercați să dictați numerelor dvs. de telefon cu 100 de numere. În mod ideal, fiecare dintre ele trebuie să fie repetate pe teoria probabilității de aproximativ 10 ori, dar fiecare persoană a găsit unele preferințe pentru anumite numere și într-un număr de sute de cifre nu este sansa absolută. Obținerea de numere aleatorii pe computer nu a fost, de asemenea, ușoară, dar în cele din urmă a reușit.
Ca bază pentru crearea oricărei secvențe de numere aleatorii, citirile cronometrului încorporate în computer servesc. Și deoarece sunt diferite în fiecare moment al timpului, obținem un număr mare de numere aleatorii aproape nerepetate într-un anumit interval.
Numerele aleatoare sunt necesare în principal în jocuri pe calculator pentru a asigura imprevizibilitatea jocului pentru o persoană. În plus, ele sunt folosite în activități educaționale și modelarea diferitelor procese matematice, fizice și alte pe computer.
Deci, noul operator este rnd.
Pentru a primi numere aleatorii, trebuie mai întâi să inițiați procesul de generare a unei secvențe de numere aleatorii de către un calculator utilizând operatorul de cronometrare randomizat. Este specificat în program o singură dată și spune computerului că este necesar să se creeze numere aleatorii, luând ca bază indicația timerului.
Apoi, la această secvență derivată de la orice valoare, trebuie să utilizeze RND operatorul (n), care furnizează un număr aleator în intervalul de la 0 la 1. Numărul minim rezultat este 0,0000001 și 0.9999999 maxim. Ca N, orice număr întreg sau număr real poate fi folosit. Acest parametru afectează de asemenea alegerea numerelor aleatorii de către computer. De exemplu, programul:
Poate afișa numărul de 0,367423 și poate fi 0,0034289 și poate fi 0,8912314. De fiecare dată când pornim programul, vom vedea noua valoare.
Dar de multe ori apare problema obținerii unor numere aleatorii într-un anumit interval. Cum să facem acest lucru, vom examina exemple.
Simularea unei aruncări de monede
Trebuie să primim aleator fie numărul 0 ("cozi"), fie 1 ("vultur") de fiecare dată când programul este pornit. Dacă luăm pur și simplu partea intregă din numărul aleatoriu obținut prin rnd (N), vom obține întotdeauna 0.
Să încercăm să multiplicăm rnd (N) cu 2. Ca rezultat, avem numere de la 0.0000002 la 1.9999998. Dacă luăm acum întreaga parte, atunci obțineți 0 sau 1. Programul arată astfel:
Modelarea aruncării unui zar
S-ar părea necesar să se meargă pe calea deja bătut din primul exemplu, și din nou avem nevoie pentru a obține numere de la 1 la 6, multiplicam RND (N) la 6. Dar, dacă te uiți, vei găsi că, în acest caz, vom obține un număr în intervalul de 0.0000006 până la 5.9999994. Partea întreagă luată ne va da numere de la 0 la 5. La 6, nu plecăm niciodată. Ok, multiplicați cu rnd (N) 7. Apoi vom obține numerele de la 0.0000007 la 6.9999993. Acum este 6, dar nu avem nevoie de 0. Ce facem? Foarte simplu - multiplicați cu 6 și adăugați 1!
Întrucât, în viitor, va trebui adesea să ne ocupăm de sarcini care necesită utilizarea numerelor aleatoare, este necesar să practicăm.
Scrieți operatorii pentru a obține numere aleatorii la intervale.
173. De la 10 la 20.
174. De la 50 la 100.
175. De la -35 la 65 de ani.