4. Menekülő

4. Menekülő

4. Példa – Menekülő robot

Írjon olyan programot, amelyet végrehajtva a robot tolat 5 cm-t, ha 15 cm belül észlel maga előtt valamilyen akadályt! Ha nincs ilyen akadály, akkor álljon egyhelyben.

Megoldás

Mit kell csinálnia a robotnak?

  • Ha 15 cm-en belül akadály van → tolat.
  • Ha nincs akadály → áll.

1) Egyszerű elágazás (IF) – de ez még kevés

  • A robot megnézi a távolságot.
  • Ha < 15 cm → tolat 5 cm-t.
  • Ha ≥ 15 cm → nem mozdul.
  • Ez csak egyszer fut le, utána a program véget ér.

🔁 2) Folyamatos figyelés – végtelen ciklus

Az IF-et végtelen ciklusba tesszük:

  • minden körben újra mér
  • ha közel az akadály → tolat
  • ha nincs → áll

Így a robot folyamatosan reagál.

⚠️ 3) Miért nem jó az 5 cm-es tolatás?

Mert a robot így "darabokban" mozog:

  • tolat 5 cm
  • újra mér
  • megint tolat 5 cm
  • stb.

Ez szaggatott, nem folyamatos mozgás.

✔️ 4) Szebb megoldás: IF–ELSE folyamatos motorvezérléssel

  • IF: akadály < 15 cm → motorok negatív sebességgel = folyamatos tolatás
  • ELSE: nincs akadály → stop moving

Így a robot:

  • folyamatosan hátrál, amíg akadályt lát
  • megáll, ha már nincs előtte semmi

🔧 Fontos technikai részlet

  • A negatív motorsebesség = tolatás (a motorok visszafelé forognak).

Vissza