Baltíkov pomocník (procedúra)
 
sidlisko.bpr
hladaj.bpr-rekurzia
kvadra.bpr
príklady
 

V Baltíkove boli veľké záplavy. Mnohý Baltíkovi kamaráti nemajú kde bývať, a tak sa Baltík rozhodol, že pre nich postaví sídlisko domčekov.
  1. Postaviť domček viete. 
  2. Aby to nevyzeralo ako radová zástavba, tak Baltíkovi priraďte súradnice náhodne. Aby sa vám nestalo, že na obrazovke budete mať iba polovicu domčeka, dajte rozpätie X-ovej súradnice 0..12, a aby vám nechýbala náhodou strecha, Y-ovej 1..9.
  3. Čarujte ďalší domček. .
  4. Zase priraďte súradnice, čarujte domček. Ako vidno, tieto dve činnosti sa budú neustále opakovať. Dalo by saich uzavrieť do bloku s počítaným opakovaním, ale je tu aj iná možnosť.
  5. Stlačte tlačítko Vybrat pomocníka se zeznamu , otvorí sa vám tabuľka Pomocníci, klepnite na prvok Vložit definici pomocníka do programu  a vložte ho nad .
  6. Pomocník musí mať meno. Keďže bude stavať domy, vložte si vedľa  trpaslíka s lopatkou .
  7. Upravte si svoj program, aby vyzeral takto. Zrejme v ňom máte viac príkazov ako  je potrebné. 
  8. Pomocníka máte definovaného, ešte ho použiť. Klepnite znova na . Ako vidíte, v tabuľke vám pribudla definícia pomocníka, ktorého používate v programe. Keď myškou ukážete na definíciu vášho pomocníka , definícia sa zmení na prvok Vložit volání tohoto pomocníka . Klepnite naň a vložte ho za priraďovanie súradníc Baltíkovi. .
  9. Uzavrite priraďovanie súradníc Baltíkovi a volanie pomocníka  do bloku, a nechajte ho 5 krát opakovať. .




Tabulka pomocníků.



Baltík vyčaruje náhodne  v dolnom riadku scény. Baltík dôjde k tulipánu, zoberie ho, vráti sa do VP a vyčaruje ho. Problém je v tom, že Baltík presne nevie, kde sa  vyčaroval, takže Baltík nevie koľko krokov má urobiť.
  1. Najprv vložte do programu náhodné čarovanie 
  2. Problém počtu krokov k  budete riešiť pomocou pomocníka, ktorý volá sám seba. Baltík ide k , prečaruje ho , otočí sa čelom vzad a ide späť. Koľko krokov urobí k , toľko ich urobí aj späť. Definujte pomocníka .
  3. Keď pred Baltíkom nie je predmet, urobí krok a znova zisťuje či pred ním nie je predmet. Inak čaruje  a otočí sa čelom vzad.  Ten krok na konci je vlastne krok späť. Toľko koľko krát sa zavolá , toľko sa urobí krokov späť.


 


Baltíkův pomocník (procedura). Keďže v ďalšom príklade budete počítať korene kvadratickej rovnice, prečítajte si aj stránku Matematické funkce, časť Obecná mocnina a odmocnina.



Všeobecný tvar kvadratickej funkcie je ax2+bx+c=0. Korene sa vypočítavajú pomocou vzorca x1=(-b+V-(b2-4ac))/2a, x2=(-b-V-(b2-4ac))/2a. (b2-4ac) musí byť väčšie ako 0, kvôli tomu, že je pod odmocninou.
  1. Najprv potrebujete načítať parametre kvadratickej rovnice. 
  2. Na výpočet koreňov použijete pomocníka , keďže budete pracovať s parametrami kvadratickej rovnice, musíte ich uviesť v definícii pomocníka. Výstupom z tohto pomocníka budú reálne korene rovnice, ktoré bude používať buď hlavný program, alebo ďalší pomocník. Preto ich v definícii pomocníka treba taktiež uviesť.
  3. Do lokálnej premennej (b2-4ac). Keď , na prázdnu obrazovku sa vypíše text:  "Kvadratická rovnica nemá  reálne korne." Ukončí sa pomocník a taktiež celý program. 
  4. Ešte vypočítajte korne rovnice. 
  5. Na výpis vám poslúži ďalší pomocník. 
  6. Nezabudnite na koniec hlavného programu vložiť volanie vašich pomocníkov.






Príklady:
  1. Zmeňte program hladaj.bpr, na hladaj2.bpr tak aby sa čaroval pred Baltíkom ľubovoľný predmet. Keď Baltík dôjde k predmetu, zapamätá si jeho číslo v premennej , odovzdá ho hlavnému programu a na konci vyčaruje tento predmet pred seba.



Možné riešenia príkladov:

1.