PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu.

Podobné dokumenty
Programovanie I. Úvod do programovania Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM

PODPROGRAMY PROCEDURY A FUNKCE

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

15. Príkazy vetvenia

dovolují dělení velkých úloh na menší = dekompozice

NPRG030 Programování I, 2015/16 1 / :25:32

Iracionálne rovnice = 14 = ±

Základy algoritmizácie a programovania

nastavenie a realizácia vzájomných zápočtov v Money S4 / Money S5

Ak stlačíme OK, prebehne výpočet a v bunke B1 je výsledok.

VECIT 2006 Tento materiál vznikol v rámci projektu, ktorý je spolufinancovaný Európskou úniou. 1/4

Školská sieť EDU. Rozdelenie škôl. Obsah: Deleba škôl podľa času zaradenia do projektu: Delba škôl podľa rýchlosti pripojenia:

Osoba podľa 8 zákona finančné limity, pravidlá a postupy platné od

Navýšenie (brutácia) nepeňažného príjmu v programe Mzdy a personalistika

Riešenie cvičení z 3. kapitoly

Testovanie 5. v školskom roku 2015/2016. Testovanie sa uskutoční 25. novembra 2015 (streda). Žiaci budú testy písať v nasledovnom poradí:

Prevody z pointfree tvaru na pointwise tvar

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

MAIS. Verejný portál - kalendárny rozvrh. Používateľská minipríručka pre používateľov systému MAIS. APZ Bratislava

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

Návod pre výrobcu na výpočet fakturovanej koncovej spotreby

Úroveň strojového kódu procesor Intel Pentium. Adresovanie pamäte

Programovací jazyk Pascal

Textový editor WORD. Práca s obrázkami a automatickými tvarmi vo Worde

Funkcia - priradenie (predpis), ktoré každému prvku z množiny D priraďuje práve jeden prvok množiny H.

Zvyškové triedy podľa modulu

Diplomový projekt. Detská univerzita Žilinská univerzita v Žiline Matilda Drozdová

Studentove t-testy. Metódy riešenia matematických úloh

NEINTERAKTÍVNA KOMUNIKÁCIA

Množiny, relácie, zobrazenia

Ako funguje stav účtu - prehľad o platbách na zdravotné odvody

Užívateľská príručka systému CEHZ. Základné zostavy Farmy podľa druhu činnosti

Vytvorenie účtovnej knihy

AR, MA a ARMA procesy

Objektovo orientované programovanie v C# ERIK KUČERA METÓDY VÝPOČTOVEJ INTELIGENCIE PREDNÁŠKA 3

Pascal základné pojmy

Operačný systém Úvodná prednáška

Automatický timer pre DX7 návod na inštaláciu a manuál

KATEDRA DOPRAVNEJ A MANIPULAČNEJ TECHNIKY TESTOVANIE ŠTATISTICKÝCH HYPOTÉZ

Pred samotnou prácou s objednávkami odporúčame vykonať súvisiace nastavenia cez menu Firma - Nastavenie

Strojový kód, assembler, emulátor počítača

Predaj cez PC pokladňu

CITOVANIE. Ako nebyť plagiátorom. Simona Gavalierová Kurz informačnej gramotnosti

Ministerstvo školstva Slovenskej republiky

MACO i.s. účinná prekážka pre vlamača

7.1 Návrhové zobrazenie dotazu

M úlohy (vyriešené) pre rok 2017

Príklady výpočtu úrokov a poplatkov produktov a služieb Prima banka Slovensko, a.s. (všetky príklady majú iba ilustratívny charakter)

Dodanie tovaru a reťazové obchody Miesto dodania tovaru - 13/1

Pracovné prostredie MS EXCEL 2003.

SKLADOVÁ INVENTÚRA 1 VYTVORENIE INVENTÚRY. 1.1 Nastavenie skladovej inventúry

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

Všeobecne záväzné nariadenie Mesta Trenčianske Teplice č. x/2016 o používaní pyrotechnických výrobkov na území mesta Trenčianske Teplice

Postup pri aktivácii elektronickej schránky na doručovanie pre právnické osoby, ktoré nie sú zapísané do obchodného registra

Limita funkcie. Čo rozumieme pod blížiť sa? y x. 2 lim 3

Microsoft Outlook. Stručný prehľad základných funkcií. Ing.Anna Grejtáková, SPP DFBERG

Finančné riaditeľstvo Slovenskej republiky

Pravdepodobnosť. Rozdelenia pravdepodobnosti

Medzitrh práce. Michal Páleník Inštitút zamestnanosti,

Dátové rozhranie pre výmenu dát v stavebníctve NDS. Verzia 1.1

1. Postup pri výpočte rovnomerných odpisov - 27 ZDP

Import Excel Univerzál

Finančné riaditeľstvo Slovenskej republiky

Úvodná strana IS ZASIELKY Prvky úvodnej stránky:

Matematika Postupnosti


R11 extremo. Odolný mobilní telefon pro dvě SIM karty. Návod k funkci SOS locator Návod na použitie SOS locator

TomTom Referenčná príručka

MATLAB (1) - úvod do programovania vedeckých problémov. LS 2017, 8.predn.

Kontrola väzieb výkazu Súvaha a Výkaz ziskov a strát Príručka používateľa

Téma : Špecifiká marketingu finančných služieb

M R2454 SK

Technická univerzita v Košiciach

Sledovanie nadčasov, vyšetrenia zamestnanca a sprievodu

Suma celkom odloženého daňového záväzku Suma celkom odloženej daňovej pohľadávky

Skákalka. Otvoríme si program Zoner Callisto, cesta je Programy Aplikácie Grafika Zoner Callisto.

ECB-PUBLIC ROZHODNUTIE EURÓPSKEJ CENTRÁLNEJ BANKY (EÚ) 2018/[XX*] z 19. apríla 2018 (ECB/2018/12)

Blokové a prúdové šifry

Zoznam povinných merateľných ukazovateľov národného projektu Zelená domácnostiam

Operačná analýza 2-12

ZÁKLADY TEÓRIE GRAFOV

7.CVIČENIE. Základy HTML

Preprava lítiových batérií. Začať

Modul PROLUC Podvojné účtovníctvo

OCHRANA INOVÁCIÍ PROSTREDNÍCTVOM OBCHODNÝCH TAJOMSTIEV A PATENTOV: DETERMINANTY PRE FIRMY EURÓPSKEJ ÚNIE ZHRNUTIE

Názov projektu: Čítaj viac a dvere k poznaniu sa samy otvoria. Kód projektu: METODICKÝ LIST

VYSPORIADANIE PREHRADENÝCH ZÁVÄZKOV A POHĽADÁVOK

UŽÍVATEĽSKÁ PRÍRUČKA K DIGIPASS MOBILE

Zásady volieb do Akademického senátu STU

Kompenzačný plán. ( Región Európa ) Platný od Úprava PV/BV pri všetkých súčasných produktoch. Cena produktov bude zachovaná.

Ministerstvo zdravotníctva SR

Postup registrácie certifikátov do Windows

Zápisnica o vyhodnotení ponúk- časť Kritériá

RIEŠENIE NIEKTORÝCH ÚLOH LINEÁRNEJ ALGEBRY V PROSTREDÍ MS EXCEL. 1. Zadáme prvky matice A a B do buniek pracovného hárku zošita MS Excel

Externé zariadenia Používateľská príručka

Inventúra účtov- základný popis.

Verifikácia a falzifikácia

Elektronické jednotné kontaktné miesto v SR. Ministerstvo vnútra SR odbor živnostenského podnikania

Názov: Osmóza. Vek žiakov: Témy a kľúčové slová: osmóza, koncentrácia, zber dát a grafické znázornenie. Čas na realizáciu: 120 minút.

AKADEMICKÝ INFORMAČNÝ SYSTÉM

Transkript:

PODPROGRAMY Podprogram je relatívne samostatný čiastočný algoritmus (čiže časť programu, ktorý má vlastnosti malého programu a hlavný program ho môže volať) Spravidla ide o postup, ktorý bude v programe opakovaný viackrát, a to na rôznych miestach príkazovej časti programu Podprogram sa využíva v prípade, ak sa v programe vyskytuje nejaká úplne rovnaká postupnosť príkazov viackrát na rôznych miestach, alebo sa potrebuje zvýšiť prehľadnosť programu, alebo ak sa v programe vyskytuje podobná postupnosť príkazov odlišujúca sa iba niektorými parametrami Podprogram sa využíva aj v prípade, ak je riešenie formulované rekurzívne Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu Pascal deklaruje svoje podprogramy v časti deklarácií v dvoch podobách : hlavička podprogramu podalgoritmus hlavička podprogramu deklaračná časť podalgoritmus Hlavička podprogramu 1 určuje typ podprogramu, to znamená, že hovorí, či je podprogram funkciou alebo procedúrou, 2 dáva programu meno, 3 špecifikuje formálne parametre (určuje ich počet, meno a typ) Existujú dve formy podprogramov, ktoré sa líšia spôsobom použitia: Procedúra, realizuje čiastkový algoritmus, ktorého výsledkom môže byť viac alebo aj žiadna hodnota a môže komunikovať so svojím okolím (volajúcou jednotkou) prostredníctvom vstupných a výstupných parametrov Funkcia, používa sa vtedy, keď potrebujeme zostaviť čiastkový algoritmus, ktorého volaním sa získava funkčná hodnota Po svojom ukončení vracia do volajúceho programu práve jednu výslednú hodnotu, ktorá bola funkciou vypočítaná používa k tomu svoje meno Podprogramy môžu pracovať s objektmi troch druhov : s globálnymi premennými Sú to premenné, ktoré sú deklarované v hlavnom programe a sú viditeľné v celom programe aj vo všetkých procedúrach a funkciách s lokálnymi premennými Lokálne premenné sú také, ktoré sú deklarované vo vnútri podprogramu v deklaračnej časti a ich platnosť je obmedzená iba na príkazovú časť podprogramu, čiže je viditeľná len v tomto module Lokálna premenná v príkazovej časti podprogramu ruší všetky premenné a formálne parametre rovnakého mena deklarované v hlavnom programe s formálnymi parametrami Formálne parametre zastupujú v podprograme triedu objektov, pre ktorý je postup zostavený V príkazovej časti podprogramu predstavujú objekty, s ktorými príkazy operujú

Mechanizmus volania : Súčasťou volania podprogramu sú skutočné parametre Pri volaní sa zadané skutočné parametre dosadia za zodpovedajúce formálne parametre Postup popísaný na formálnych parametroch sa tak aplikuje na objektoch určených pri volaní ako skutočné parametre Pre jednotlivé volania podprogramu môžeme dosadzovať skutočné parametre a tým je postup aplikovaný na rôzne objekty programu Deklarácia funkcie: function MENO( zoznam formálnych parametrov) : typ_výstupu; var const procedure deklarácia lokálnych objektov function type príkaz; telo funkcie MENO:= výsledok; Telo funkcie musí obsahovať aspoň jeden priraďovací príkaz s menom funkcie na ľavej strane Hodnota, ktorá bola pridelená identifikátoru funkcie ako posledná, je výslednou hodnotou funkcie Volanie funkcie môže nastať len na takom mieste programu, kde sa očakáva nejaká hodnota Volanie podprogramu v programe má tvar: MENO ( p1,p2,,pn) ; p 1,p 2,,p n sú skutočné parametre Príklad: program fun1; var x,y,vysledok:real; function SUCET(A,B:real):real; premenné x,y sa použijú ako skutočné parametre pre vyvolanie funkcie SUCET formálne parametre typ hodnoty, ktorú funkcia vracia SUCET:=A+B; writeln('zadaj dve cisla:'); readln(x,y); vysledok:=sucet(x,y); writeln('x+y=',vysledok:5:2); readln výsledok vypočítaný funkciou musí byť priradený menu funkcie SUCET vyvolanie funkcie so skutočnými parametrami

Príklad: Vytvorte podprogram na výpočet mocniny x n, kde x je reálne číslo a n prirodzené číslo Keďže výsledkom výpočtu je jedna jednoduchá hodnota, môžeme použiť funkciu, na výpočet mocniny použijeme cyklus so známym počtom opakovaní: x n = xxx x function MOCNINA (X : real; N : integer ) : real; var MOC : real; I : integer; MOC := 1; for I:=1 to N do MOC :=MOC * X; MOCNINA := MOC; Príklad: 1 Vytvorte program, ktorý vypočíta faktoriál celého čísla 2 Napíšte program výpočtu kombinačného čísla Úlohu riešte pomocou podprogramu (pozor na preplnenie!) Kombinačné číslo je definované: C(n,k) = n! / ((n-k)! * k!)=123(n-k)n/123(n-k)123k=(n-k+1)(n-k+2)n/123k 3 Napíšte program, ktorým nájdete najväčšieho spoločného deliteľa N zadaných čísel Úlohu riešte pomocou podprogramu Euklidovho algoritmu

Procedúra Štruktúra: PROCEDURE_meno procedúry(definícia vstupných parametrov); CONST_definovanie konštánt procedúry; BEGIN príkaz; { telo procedúry } END; TYPE_definovanie nových typov premenných; VAR_definovanie lokálnych premenných pre procedúru; Podľa použitých objektov možno definovať procedúry: bez parametrov a lokálnych objektov program na výmenu hodnôt, kde použijeme procedúru VYMENA var A, B, POM: integer; procedure VYMENA; POM: = A; A: = B; B: = POM; VYMENA; v programe sa procedúra deklaruje ešte pred samotným telom programu, globálne premenné

bez parametrov s lokálnymi parametrami var A, B: integer; procedure VYMENA; var POM: integer; POM: = A; A: = B; B: = POM; VYMENA; v programe sú premenná A,B globálne premenné a POM je lokálna premenná, ktorej platnosť a životnosť je iba v procedure: VYMENA

procedúry s parametrami v programe sa odovzdávajú parametre procedúre hodnotou, tzn iba hodnota, akú premenná obsahuje nie celá premenná var A, B: integer; procedure VYMENA( X,Y: integer); var POM: integer; POM: = X; X: = Y; Y: = POM; A: = X; B: = Y; VYMENA(A,B); toto sa používa, keď chceme používať vzorce, úpravy a nechcem meniť pôvodné premenné

odovzdávanie parametrov referenciou, odovzdám celú premennú, jej hodnotu aj adresu var A, B: integer; procedure VYMENA(var: X,Y: integer); var POM: integer; POM: = X; X: = Y; Y: = POM; VYMENA(A,B);