$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \newcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$
Uvod - Priručnik za JavaScript / Projekat - Robot i funkcije

Projekat - Robot i funkcije

  • Dozvoljeno polaganje
  • -
  • Nema
  • Jovan Popović
  • 2/10/2017

Sada ćemo da programiramo robota koji treba da izbegne prepreke i dođe do zelenog polja.

JSDares

Robot razume sledeće tri naredbe:

  • desno() - ova naredba govori robotu da treba da se okrene desno
  • levo() - ova naredba govori robotu da treba da se okrene levo
  • napred( broj ) - ova naredba govori robotu da treba da ode zadat broj polja napred, na primer:
    • napred(1) - govori robotu da treba da ode jedno polje napred
    • napred(2) - govori robotu da treba da ode dva polja napred

Potrebno je da mu zadajete ove naredbe kako bi sa početne pozicije na tabli došao do svakog zelenog polja, tako što ga usmeravate u željenom pravcu i pokrećete određen broj polja unapred.

Projektni zadaci

Zadatak 1

Robot na slici treba da zaobiđe zid i dođe na zeleno polje.

JSDares

Prikazan je deo programa koji ga vodi od početne pozicije do polja koje je bliže zelenom polju:

napred()
levo()
napred(2)
desno()
napred(2)

Dodajte još dve naredbe u program tako da robot počevši od nove (gornje) pozicije dođe do zelenog polja.

Zadatak 2

Robot na slici treba da zaobiđe zid i dođe na zeleno polje.

JSDares

Neko je pokušao da napiše program koji ga vodi do zelenog polja, ali je pogrešio i rekao mu da ide tri polja napred pa je udario u zid, pre nego što je stigao da se okrene udesno.

napred(3)
desno()

Ispravite ovaj program tako da robot ne udari u zid i dodajte još pet naredbi u program, tako da robot dođe do zelenog polja. Probajte ovaj primer na: JSDares - Another wall.

Zadatak 3

Robot na slici treba da zaobiđe tri zida i dođe na zeleno polje.

JSDares

Prikazan je deo programa koji ga vodi do pola puta.

napred(4)
levo()
napred()
levo()
napred(2)
desno()
napred()
desno()
napred(2)

Dodajte još naredbi u program tako da robot dođe do zelenog polja. Probajte ovaj primer na: JSDares - Moving some more.

Zadatak 4

Robot na slici treba da dođe do sva tri zelena polja.

JSDares

Neko je počeo da piše program ali je pogrešio, poslao ga tri polja napred pa je robot udario u zid.

// Završi program
napred(3)

Napišite novi program koji će dovesti robota do svih zelenih polja (predlog: pošaljite ga desno). Probajte ovaj primer na: JSDares - Multiple goals.

Zadatak 5

Robot na slici treba da dođe do svakog zelenog polja.

JSDares

Neko je počeo da piše program ali je pogrešio i robot je skrenuo na pogrešnom mestu.

napred(3)
desno()
napred(3)
desno()
napred(2)
desno()
napred()
desno()
napred()
levo()
napred()

Napišite novi program koji će dovesti robota do svih zelenih polja. Probajte ovaj primer na: JSDares - Manipulation.  

Zadatak 6

Robot je u lavirintu i treba da izađe iz njega.

JSDares 

Napišite program koji će dovesti robota do zelenog polja. Probajte ovaj primer na: JSDares - Spiraling out of control.