Upotreba podataka

Slučajnost na djelu

     
 

Jeste li kad šetali gradom i slučajno sreli prijatelja kojeg niste vidjeli već godinama? Slučajnosti se često događaju u svakodnevnom životu, no u programiranju su mnogo rjeđe. Zapravo, želimo li slučajnost u programu, moramo je sami isprogramirati. Hmm, pa tko kaže da je to onda slučajno.

Logo može, umjesto vas, smisliti neki prirodan broj između nule i broja koji zadate. Za takve slučajne brojeve upotrijebit ćete naredbu RANDOM.

Primjerice RANDOM 5 daje neki od brojeva 0, 1, 2, 3, 4 ili 5.

Slučajne brojeve koristit ćete u programima za koje želite da se ponašaju nepredvidivo. To znači da crtež ili ispis ovisi o tom slučajno određenom broju, a ne o nekoj vrijednosti koju zadajete vi.

Primjer 13. Provjera slučajnosti

Tina je malo sumnjičava prema tim slučajnim brojevima. Najjednostavnije ćete je uvjeriti da napišete program slucajni koji ispisuje 5 slučajnih brojeva između 0 i 60 - pa da vidimo jesu li isti ili ne.
Za ispis takvog slučajnog broja napišite ovo:
print random 60.


Jedan od ispisa programa slucajni

Nakon što riješite i provjerite zadatak, pogledajte naš prijedlog rješenja.

Pokaži mi rješenje.

Primjer 14. Slučajna spirala

Napišite program spirala :s koji će crtati peterokutnu spiralu kojoj je prva stranica zadana sa :s, a svaka sljedeća veća za 10. Broj stranica spirale je slučajan broj :x između 1 i 70


spirala 20

Tina vam predlaže da pogledate program za šesterokutnu spiralu i prilagodite ga ovom primjeru.
Obzirom da naredba repeat ne prihvaća 0 puta ponavljanja, potrebno je broj stvoren s RANDOM povećati za 1 tako da budemo sigurni da je slučajni broj najmanje broj 1.

Dakle, na početku programa napišite:
make "x (random 69) +1
Pritom su okrugle zagrade obavezne!

Nakon što riješite i provjerite zadatak, pogledajte naš prijedlog rješenja.

Pokaži mi rješenje.

J Šalabahter:

  • RANDOM 6 - na slučajan način zadaje jedan od brojeva 0, 1, 2, 3, 4, 5 ili 6
  • ako želite da slučajni brojevi počnu od 2, onda nakon random još dopišite +2,
    primjerice make "x (random 60) + 2