Podprogramy (subroutines) Pojmenované kousky programu, které –tvoří logicky ucelené části –se v programu opakují Jsou zapsány na jednom místě a v případě.

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
Seznamy Seznam = očíslovaná posloupnost skalárů Zápis seznamu do kulatých závorek: ("máslo")# jednočlenný seznam (1,2,3)# seznam se 3 členy ("jedna",2,3,"osm",100,$pozdrav)
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
Základy html pro úplné začátečníky.
Jak na web První krůčky Lukáš Reindl. Co je potřeba Budeme potřebovat počítač, na kterém běží alespoň nějaký jednoduchý textový editor (ve Windows Notepad.
IES – jak na to *** Základní ovládání U stránek s nadpisy různé úrovně se automaticky vytváří obsah Toto je klíčové tlačítko. Klepněte a můžete ihned.
1 Konstanty a proměnné Konstanta = něco, co se nemění, je konstantní. (constant) Př. konstant: 4, -23, "pepř", "Ať žije král!" Proměnná = něco, co se mění,
Algoritmizace a programování Podprogramy v Delphi - 10
PHP Zpracování formuláře v PHP - 11 Mgr. Josef Nožička IKT PHP
Středoevropské centrum pro vytváření a realizaci inovovaných technicko-ekonomických studijních programů Registrační číslo CZ.1.07/2.2.00/ Tento.
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
If-else, do-while, switch, operátory
Programování v C++ Cvičení.
Principy překladačů Mezikód Jakub Yaghob.
MATLAB® ( Funkce v Matlabu ).
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
Základy Visual Basicu.
PHP PHP – základy syntaxe (část 1) - 03 Mgr. Josef Nožička IKT PHP
Algoritmizace a programování Podmíněné a cyklické příkazy- 08
Procedury a funkce Základní charakteristika a použití v programu.
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
PB161 Jmenné prostory, I/O proudy PB161 | Jmenné prostory, IO proudy PB161 – Programování v jazyce C++ Objektově Orientované Programování.
PHP – Základy programování
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Funkce a procedury Funkce jsou v PHP nezbytným programovacím prostředkem. Funkce jsou v PHP nezbytným programovacím prostředkem. Procedura vykonává nějakou.
Programovatelné automaty CV podprogramy a funkční bloky 12
Počítače a programování 1
JavaScript Podmínky, cykly a pole.
Cvičení.
CSS styly Kaskádové styly (CSS – Cascading Style Sheets) jsou prostředkem, který zajišťuje jednotný vzhled publikovaných stránek. Technologii CSS podporují.
5. Procedury a funkce Procedura je samostatně odladěný algoritmus, v programu může být volána vícekrát. Dvojí terminologie - rozlišujeme procedury a funkce.
Proměnná typu "pole" Mezi proměnné typu "pole" patří všechny superglobální proměnné. Mezi proměnné typu "pole" patří všechny superglobální proměnné. To.
VISUAL BASIC PRALG.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
Algoritmizace a programování Binární soubory - 14 Mgr. Josef Nožička IKT Algoritmizace a programování
Odkaz (reference)‏ Skalární proměnná, která obsahuje adresu jiné proměnné Adresa je místo v paměti počítače, kam se ukládají data. Odkaz je skalární proměnná,
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
WinBase tiskové sestavy Návod Postupy Příklady.
JavaScript Funkce.
TYPOGRAFICKÉ PRAVIDLA
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
2 UDÁLOSTI ONMOUSEOVER, ONMOUSEOUT Odkaz Událost je část kódu vyvolana za určité (uživatelem vyvolané) situace (kliknutí myší, přejetím kurzorem myši,
UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Pole Arrays.
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES CYKLY V PHP.
Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B3 Autor Ing. Jiří Kalousek Období vytvoření listopad.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Tvorba vlastních funkcí VBA Microsoft Excel
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Programování OPERÁTOR SIZEOF, FUNKCE, POLE JAKO PARAMETRY FUNKCÍ ERIK KRÁL.
Makra v Excelu syntaxe. Zápis nahraného makra SubEnd Sub O klíčová slova Sub a End Sub – začátek a konec makra O komentáře O text za znakem ', až do konce.
Inf Cykly ve vývojových diagramech
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Definiční obor a obor hodnot
Programovací jazyk C Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
Databázové systémy a SQL
Oblast platnosti identifikátoru (1)
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Podprogramy.
MU002 – Informační technologie Základy algoritmizace 5/13
Transkript prezentace:

Podprogramy (subroutines) Pojmenované kousky programu, které –tvoří logicky ucelené části –se v programu opakují Jsou zapsány na jednom místě a v případě potřeby se volají Hlavní výhody –šetří práci, protože se píšou jen jednou –jsou při každém volání stejné –přehlednost hlavního programu

Kdy? Když určitou část programu použijeme více než jednou –např. tisk hlavičky na každou stránku výstupu Když chceme učinit program přehlednějším –program může v ideálním případě vypadat třeba takto: #!/usr/bin/perl nastaveni(); cteni_vstupu(); vlastni_vypocet(); vystup();

Jak? Definice podprogramu –klíčové slovo sub –jméno podprogramu (stejná pravidla jako pro proměnné, pole a asoc. pole) –blok s kódem (tělo podprogramu) sub vystup { print “Toto je výstupem podprogramu vystup.\n”; } Volání podprogramu: &vystup; nebo vystup(); (radši)

Kam? Téměř kamkoli Podprogramy se obvykle zapisují NA KONEC hlavního programu Mohou se napřed deklarovat sub vystup; a vlastní kód zapsat až později (na konec). Pak se mohou volat bez závorek, ale psaní závorek je dobré, protože z toho je jasně vidět, že jde o podprogram.

Funkce x podprogram Obecně Funkce dostane určitý počet argumentů (může být i nulový) a na konci vydá výstupní hodnotu – může být definovaná uživatelem, nebo součástí jazyka (takovým se někdy říká operátory – např. substr) Podprogram je podobný funkci, ale definuje ho vždy uživatel a nemusí vydat žádnou výstupní hodnotu, jen něco udělá. V Perlu – rozdíl nezávisí na výstupních hodnotách Funkce a operátory poskytuje Perl. Podprogramy (skripty) píše uživatel.

Předávání parametrů Parametry se předávají podprogramům stejně jako funkcím, tedy v závorce Parametrů může být libovolně mnoho Parametry se přiřadí do speciálního které se automaticky vytvoří pro každý podprogram. soucet(34, 2345, 98, 100); soucet(5..15); sub soucet { my $soucet = 0; foreach $k {$soucet += $k;} print "Součet čísel je $soucet.\n"; }

Výstupní hodnota Každý podprogram má výstupní hodnotu - hodnota posledního příkazu, který je v něm proveden. –tedy v našem příkladu je to výsledná hodnota $soucet Může se napsat jako poslední příkaz podprogramu Nebo pomocí return (nemusí být poslední v bloku) Volání: sub soucet { my $soucet = 0; foreach $k {$soucet += $k;} $soucet; } return $soucet; $vysledek = soucet(34, 2345, 98, 100);

Lokální a globální proměnné Podprogram je zapsán v (alespoň jednom) bloku Uvnitř podprogramu je rozumné používat lokální proměnné deklarované jako my Jestliže Perl nenajde nějakou proměnnou v příslušném bloku, hledá globální proměnnou stejného jména deklarace our – není třeba, jen když je use strict; $a = "Pepa"; $b = podprogram(4); print $a; # co se vytiskne? my $a = "Pepa"; $b = podprogram(4); print $a; # co se vytiskne?

Lokální proměnné – deklarace local mylocal my $my = "A"; our $local = "B"; b(); a(); b(); sub a { my $my = "C"; local $local = "D"; b(); } sub b { print “MY: $my\n"; print "LOC: $local\n"; } AB CD AD AB sub a : sub b : AB

Lokální proměnné – deklarace local mylocal my $my = "A"; our $local = "B"; b(); a(); b(); sub a { $my = "C"; local $local = "D"; b(); } sub b { print “MY: $my\n"; print "LOC: $local\n"; } CB CD CD AB sub a : sub b : AB

Lokální proměnné – deklarace local mylocal my $my = "A"; our $local = "B"; b(); a(); b(); sub a { my $my = "C"; local $local; b(); } sub b { print “MY: $my\n"; print "LOC: $local\n"; } AB C A AB sub a : sub b : AB

my $my = "A"; our $local = "B"; b(); a(); b(); sub a { my $my = "C"; local $local = "D"; b(); } sub b { print “MY: $my\n"; print "LOC: $local\n"; } Lokální proměnné – deklarace local odložení hodnoty proměnné {$my = "A";} $local = "B"; b(); a(); b(); sub a { my $my = "C"; local $local = "D"; b(); } sub b { print “MY: $my\n"; print "LOC: $local\n"; } my $my = "A"; our $local = "B"; b(); a(); b(); sub a { my $my = "C"; local $local; b(); } sub b { print “MY: $my\n"; print "LOC: $local\n"; }

Kromě nejjednodušších příkladů není vhodné používat přímo. Vyplatí se přiřadit jednotlivé prvky pole vlastním (lokálním) proměnným sub jmeno_zkratka { my ($jmeno, $prijmeni) my $jm = substr($jmeno,0,1); return ($jm, ". ", $prijmeni); } my $jmeno = my $prijmeni = Jiné způsoby (Podobně se zachází s parametry programu – my $jmeno = $_[0]; my $prijmeni = $_[1];

Rekurze Pes jitrničku sežral Podprogram volá sám sebe –hlídat parametry –hlídat konec, aby nedošlo k nekonečnému vnořování Příklady ?