2. Vetvenie v algoritmoch (v programovacom jazyku Logo alebo Pascal)

• Prečo a v akých situáciách používame podmienený príkaz? Uveďte motivačné príklady, ktoré vedú k použitiu podmienených príkazov.

Niekedy v programe chceme, aby vykonal rôzne príkazy v závislosti od vstupných údajov, prípadne v závislosti od momentálneho stavu bežiacej aplikácie. V každom vyššom programovacom jazyku existuje nejaká forma podmieneného príkazu. Ako motivačné príklady slúžia všetky hry kde sa snažíme dostať objekt z bludiska – môžeme porovnávať na základe farby bodu, alebo zrážkou s iným objektom, alebo ak by sme chceli počítať hody mincou a rátali sme koľko krát spadne ktorá strany mince.

• Vysvetlite princíp fungovania podmieneného príkazu (podmienka, podmienený výraz, vnorené podmienené príkazy).

Tvar podmieneného príkazu v Logo  má tvar:

ak podmienka [príkazy]     // ak je splnená podmienka potom vykonaj príkazy

ak2 podmienka [Postupnosť_príkazov1][ Postupnosť_príkazov2]     

Podmienka je výraz, ktorý vždy nadobúda jednu z 2 logických hodnôt. true (výraz je pravdivý) alebo false (výraz je nepravdivý)

  • Postupnosť_príkazov1 sa vykoná v prípade, keď je podmienka pravdivá.
  • Postupnosť_príkazov2 sa vykoná, keď je podmienka nepravdivá.

Vnorený podmienený príkaz je vtedy ak prvá podmienka sa vetví ďalej

ak2 podmienka [ ak2 podmienka [príkazy_ pravda][príkazy_nepravda]]

                           [ Postupnosť_príkazov2]

• Ilustrujte použitie vetvenia na konkrétnom algoritme.

Rozhodovanie – príkaz ak

1.     Navrhnime projekt, v ktorom sa bude mucha snažiť dostať sa von z fľaše

  • pomocou Panelu kreslenia vyberme hrubé modré pero a nakreslime fľašu
  • korytnačke otvorme rodný list, klikneme na tlačidlo Tvar a zo súborov otvoríme mucha.lgf.
  • ešte odznačme príkaz Pero dolu – korytnačka nebude kresliť

2.      Príkaz, ktorým sa bude mucha snažiť dostať von, musí:

  • posúvať korytnačku dopredu
  • zisťovať, či nenarazila na stenu (modrú čiaru) – v takom prípade ju do steny nevpustiť, resp. ju vrátiť späť
  • otáčať ju tak, aby jej pohyb vyzeral chaoticky

3.      Ako zistiť, či nenarazila na stenu?

  • narazenie korytnačky do steny  budeme zisťovať podľa farbu bodu na ktorom stojí  pomocou základného príkazu farbaBodu.

Vyskúšajme si tento príkaz pre muchu ? zobraz farbaBodu
biela

  • základný príkaz zobraz nám vypíše, aká farba sa práve teraz nachádza pod muchou, teraz je to biela.
  • presuňme korytnačku na fľašu a otestujme farbu bodu ( má byť modrá)
  • na rozhodovanie slúži príkaz ak

  • teraz už vieme, že v podmienke pre príkaz ak sa zrejme budeme pýtať na modrú farbu a podľa toho sa rozhodneme, či muche dovolíme ísť na toto miesto, alebo nie. Ak narazila na stenu (vošla na ňu), vrátime ju späť na pôvodné miesto – nebojme sa, nebude vidieť, že sa bola “pozrieť” v stene pretože mucha je veľmi rýchla

Samotný príkaz chodVon potom môžeme zapísať:
                                                                           viem chodVon
do 5
ak farbaBodu=”modrá [vz 5]
vl ?
koniec

  • na to, aby sa mucha snažila neustále vychádzať von, použijeme opäť motorček:
                                                                                     ? každých 30 [choďVon]
Reklamy

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Odhlásiť sa / Zmeniť )

Connecting to %s