Naredbe koje koristimo kako bi ponavljali jednu ili više naredbi zovemo PETLJE.
U programskom jeziku LOGO postoji više vrsta petlji (REPEAT, FOR I WHILE petlja).
REPEAT PETLJA:
Prisjetimo se kako se izgleda program koji crta kvadrat stranice 100 točkica (piksela):
to kvadrat
fd 100 rt 90
fd 100 rt 90
fd 100 rt 90
fd 100 rt 90
end
U tom programu se naredbe fd 100 rt 90 ponavljaju 4 puta (jer je kvadrat geometrijski lik koji ima četiri stranice jednakih duljina i četiri prava kuta)
Isti program možemo napisati pomoću REPEAT petlje:
to kvadrat1
repeat 4 [fd 100 rt 90]
end
Broj iza riječi REPEAT označava koliko će se puta izrvšiti one naredbe koje napišemo poslije broja u uglatim zagradama.
Isti program možemo napisati i pomoću FOR petlje:
to kvadrat2
for [i 1 4][fd 100 rt 90]
end
U FOR petlji koristimo varijablu (u našem programu kvadrat2 se zove i) koja broji korake i opet označava koliko će se puta izvršiti naredbe napisane u drugoj uglatoj zagradi.
Kod pisanja programa važno je uočiti koji se dio ponavlja, a zatim izabrati koju od petlji koristiti.
Pogledajmo na primjeru:
PRIMJER:
Napiši program STEPENICE koji crta 10 stepenica kao na slici.
Program:
to stepenice
repeat 10 [fd 20 rt 90 fd 20 lt 90]
end
ili koriteći FOR petlju
to stepenice
for [i 1 10] [fd 20 rt 90 fd 20 lt 90]
end
Iskoristimo napisani program kako bi napisali program STEPENICE_2 koje izgledaju kao na slici (udaljenost stepenica je 50 piksela)
Koji je sad dio koji se ponavlja?
STEPENICE
Koliko puta se ponavljaju?
5
Ne zaboravi:
treba se vratiti na mjesto od kuda se počinju crtati iduće stepenice
Kako ćemo za pisanje programa koristiti napisani program STEPENICE, novi program pišemo u ISTOM editoru.
to stepenice_2
repeat 5 [stepenice pu bk 200 rt 90 bk 150 lt 90 pd]
end
Evo još nekoliko rješenih primjera (pokušaj sam napisati programe koristeći obe petlje)
Zadaci:
Napiši programe TROKUT_1, TROKUT_2, TROKUT_3, TROKUT_4 koji crtaju jednakostranične trokute duljine stranica 40 piksela kao na slikama:
Koristeći napisane programe napiši program STRELICE I BOR koji crtaju 5 takvih trokuta jedan do drugoga.