Umíte pascalsky - 10.lekce ... |
Umíte pascalsky? 10.lekce |
Vytisknout |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funkce Jako funkce se zapisují algoritmy, jejichž provedením se vypočte hodnota určitého typu, který je uveden v hlavičce funkce jako typ funkce. Tato vypočtená hodnota se hlavnímu programu předává pomocí identifikátoru (názvu) funkce, proto se musí v těle funkce vyskytovat přiřazovací příkaz, kterým se hodnota přiřazuje identifikátoru funkce (identifikátor funkce na levé straně přiřazovacího příkazu). Deklarace funkce má tedy tvar: function Jméno_funkce: typ funkce; deklarace lokálních objektů; begin příkazy; {výpočet hodnoty} Jméno_funkce := vypočtená hodnota; {povinné přiřazení} end; Příklad: function Pocitej (cislo1,cislo2:integer): integer {funkce Pocitej má dva vstupní parametry cislo1 a cislo2} Volání funkce - zápis funkce - se skládá pouze ze jména funkce a představuje hodnotu, která je výsledkem provedení těla funkce. Proto může být volání funkce použito vždy v nějaké konstrukci, která předepisuje, co se s výslednou funkční hodnotou provede - v příkazu přiřazení, příkazu tisku, ve výrazu apod. (ne samostatně na řádku jako volání procedury!!!) Tedy například: cislo := Jméno_funkce; write{Jméno_funkce); Příklad: writeln(Pocitej (prvmi,druhe)); {prvni, druhe jsou skutečné parametry (globální proměnné)} Příklad: Ukážeme si deklaraci funkce pro výpočet obsahu trojúhelníka (pomocí strany a výšky) a její vyvolání v hlavním programu.
Ještě než přistoupíme k dalšímu příkladu, ukážeme si, jak může uživatel řídit běh programu. Program opakovaně napíše nabídku činností, uživatel si vybere a po zadání příslušné hodnoty provede zvolenou činnost. Lze to zapsat například takto:
Příklady: Příklad1: Sestavte program, který opakovaně podle volby uživatele umožňuje zadat strany obdélníka, vypočítat jeho obvod, vypočítat jeho obsah. řešte užitím procedur a funkcí. Myšlenka (hrubý algoritmus): Úlohu rozložíme na tři podúlohy: Nacteni; procedura Obvod; funkce Obsah; funkce které nadeklarujeme formou podprogramů a pak se budou opakovaně vyvolávat podle volby uživatele v hlavním programu: opakuj nabídka činnpostí výběr činnosti provedení zvolené činností (Nacteni-Obvod-Obsah) Výsledný program by mohl vypadat takto:
Domácí úkol: Sestavte program Trojuhelnik, který opakovaně podle volby uživatele umožňuje zadat odvěsny pravoúhlého trojúhelníka, vypočítat jeho přeponu, obsah a obvod. Řešte užitím procedury Nacti, funkcí Prepona, Obsah a Obvod. . On-line účast na řešení úkolu Pomocí volby Řešit můžete (po přihlášení) odeslat vaše řešení domácího úkolu (každý úkol smíte řešit jen jednou). Volbou Hodnocení si přečtete hodnocení a komentář od vyučujícího. Dotaz nebo připomínku můžete opakovaně zasílat pomocí tlačítka Dotazy, Komunikace (na levém okraji) zobrazuje příklad možné komunikace s vyučujícím. |