Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Algoritmizace a programování Podprogramy v Delphi - 10

Podobné prezentace


Prezentace na téma: "Algoritmizace a programování Podprogramy v Delphi - 10"— Transkript prezentace:

1 Algoritmizace a programování Podprogramy v Delphi - 10
IKT Algoritmizace a programování Algoritmizace a programování Podprogramy v Delphi - 10 Mgr. Josef Nožička

2 Anotace Materiál seznamuje s žáky s významem podprogramů v programovacím jazyce. Musí být doplněn výkladem. Autor Mgr. Josef Nožička (Autor) Jazyk Čeština Očekávaný výstup 26–41-M/01 Elektrotechnika 78-42-M/01 Technické lyceum Speciální vzdělávací potřeby - žádné - Klíčová slova Podprogram, procedura, funkce Druh učebního materiálu Prezentace Druh interaktivity Kombinované Cílová skupina Žák Stupeň a typ vzdělávání odborné vzdělávání Typická věková skupina let Vazby na ostatní materiály Je součástí IKT.

3 Význam podprogramů v prog. jazyce
Podprogramy jsou základním nástrojem hierarchického členění programu. Používají se ze 2 hlavních důvodů. Z důvodu lepší přehlednosti programy (je-li program rozsáhlý co do délky zdrojového kódu) Je-li třeba nějakou činnost provádět vícenásobně na různých místech programu, je vhodné ji napsat jako podprogram, který bude a na příslušná místech programu vyvolán.

4 Typy podprogramů Programovací jazyk Delphi rozlišuje 2 typy podprogramů, a to procedury a funkce. Procedura může vracet libovolný počet výsledků a je volána jako samostatný příkaz. Naproti tomu funkce vrací vždy jeden výsledek, jehož odpovídající datový typ je uváděn v hlavičce funkce. Volání funkce nemůže být na rozdíl od procedury samostatným příkazem, ale musí být vždy součástí jiného příkazu.

5 Procedury Obecná definice procedury:
procedure jméno (seznam parametrů); {deklarace lokálních proměnných;} begin tělo procedury; end; Poznámky: Úsek deklarace lokálních proměnných (případně s ním související definice vlastních datových typů) je nepovinný. Stejně tak je nepovinný seznam parametrů.

6 Procedury bez parametrů
Jsou procedury, které ve své hlavičce (první řádek definice procedury) mají uvedeny pouze své jméno a seznam parametrů zde chybí. Příklad procedury bez parametrů: procedure pozdrav; begin showmessage (‘Dobrý den!’); end; V hlavním programu je taková procedura volána samostatným příkazem, který spočívá pouze v uvedení jejího jména (v tomto případě pozdrav; )

7 Procedury s parametry Jsou procedury, které ve své hlavičce mají uvedeny kromě své jména i seznam takzvaných formálních parametrů. Používají se pro zvýšení univerzálnosti procedur. Příklad procedury s parametry: procedure prepona (a,b:real;var c:real); begin c:=sqrt(a*a + b*b); end; Poznámka: Klíčové slovo var, uvedené před proměnnou c, vyjadřuje, že se jedná o výstupní parametr (parametr – odkaz). Pokud bychom slovo var před příslušným parametrem nenapsali, nedošlo by ke správnému předání výstupní hodnoty zpět do programu.

8 Procedury s parametry II.
Při volání této procedury je třeba uvést nejen její název, ale i seznam skutečných parametrů, uvedených v závorce za jménem procedury. Seznam těchto parametrů musí přitom co do pořadí i do typové kompatibility odpovídat parametrům formálním. Volání procedury z předchozího programu: begin writeln (’Zadej velikosti odvěsen:’); readln(x,y); prepona(x,y,z); writeln (’Prepona =’,z); end.

9 Funkce Jsou podprogramy, které v Delphi vracejí vždy jednu výstupní hodnotu, která se přiřazuje do jejího jména. (Na rozdíl od procedur, kde počet výstupních hodnot může být libovolný). Příklad funkce: function prepona (a,b:real):real; begin prepona:=sqrt(a*a + b*b); end; Volání funkce na rozdíl od volání procedury není samostatný příkaz, ale je vždy součástí nějakého výrazu. Příklad volání: z:=prepona(x,y);

10 Rekurzivní procedury a funkce
Jsou podprogramy, které ve svém těle volají sami sebe. Jejich použití v programu většinou výrazně zmenší počet řádků zdrojového kódu, na druhou stranu jejich realizace může být pro počítač paměťově náročná. Příklad rekurzivní funkce: {funkce pro výpočet faktoriálu} function faktorial (n:integer):longint; begin if n<=1 then faktorial:=1 else faktorial:=n*faktorial(n-1); end;

11 Zdroje KADLEC, Václav. Učíme se programovat v Delphi a jazyce Object Pascal. Praha: Computer Press, 2001, ISBN PÍSEK, Slavoj. Delphi-začínáme programovat: podrobný průvodce začínajícího uživatele. Praha: Grada, 2002, ISBN


Stáhnout ppt "Algoritmizace a programování Podprogramy v Delphi - 10"

Podobné prezentace


Reklamy Google