Robotas sodininkas
Taškai: 12
Bebras nusipirko robotą mažiems medeliams sodinti.Roboto programavimo kalboje yra tokios komandos:
Pradžia: Robotas įjungiamas
Priekin(X): Robotas juda priekin X metrų
Atgal(X): Robotas juda atgal X metrų
Kairėn: Robotas pasisuka kairėn X laipsnių
Dešinėn: Robotas pasisuka dešinėn X laipsnių
Sodink: Sodinamas mažas medelis
Kartok X{komandos}: X kartų kartojamos skliausteliuose esančios komandos
Stok: Robotas išjungiamas
Kvadrato formos sklypą galima apsodinti 16 medelių. Kiekviena sklypo kraštinė yra 8 metrų ilgio ir tarp gretimų medelių turi būti 2 metrų atstumas. Robotas pradeda darbą pradžios langelyje rodyklės kryptimi. Robotas įjungiamas komanda „Pradžia“ ir pabaigoje išjungiamas komanda „Stok“.
Kuri iš pateiktų programų tinka robotui norint apsodinti sklypą, kaip parodyta paveikslėlyje?
Pradžia |
Pradžia |
Pradžia |
Pradžia |
Užduotyje algoritmai siejami su jų vaizdavimo programavimo kalba. Šiuo atveju algoritmą sudaro žingsnių seka, kurią vykdo robotas ir kuri yra suderinta su užduoties reikalavimais. Algoritmo esmė – ciklas cikle, nes reikia apeiti 4 sklypo kraštines ir einant kiekviena jų reikia atlikti tokius pačius veiksmus ir ta pačia tvarka.
Pateiktose programose naudojamas ciklas cikle, t. y. vienas ciklas kito ciklo viduje. Kai turime iteraciją, tai vartojamas paprastas ciklas. Tačiau jei turime reikalų su dvimačiais objektais (kaip šiuo atveju turime sklypą), tai duomenims apdoroti reikalingas ciklas cikle.
Pradžia
Kartok 4{
Kartok 4{Sodink, Priekin(2)},
Dešinėn(90)}
Stok