2014 2015 2016 2017 2018
BEBRO konkurso užduotys 2018

 

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
Kartok 4{
Kartok 4{SodinkPriekin(2)},
Dešinėn(90)}
Stok
 

Pradžia
Kartok 4{
Kartok 4{Sodink, Priekin(2)},
Kairėn(90)}
Stok
 

Pradžia
Kartok 4{
Kartok 4{Priekin(1), Sodink},
Dešinėn(90)}
Stok
 

Pradžia
Kartok 4{
Kartok 4{Priekin(2)Sodink},
Kairėn(90)}
Stok
 

Paaiškinimas

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.

Atsakymas

Pradžia
Kartok 4{
Kartok 4{SodinkPriekin(2)},
Dešinėn(90)}
Stok