Umíte pascalsky - 4.lekce ... |
Umíte pascalsky? 4.lekce |
Vytisknout |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Základní příkazy V dnešní lekci se začneme zabývat příkazy jazyka Pascal. Základní příkazy v Pascalu lze rozdělit takto:
Jednoduché příkazy O přiřazovacím příkazu jsme si řekli v minulé lekci. Příkaz procedury Příkaz procedury slouží k aktivaci (vyvolání) procedur (podprogramů) standartních nebo programátorem definovaných.Mezi standartní patří již poznané procedury pro vstup a výstup: write(parametry) a read(parametry). Programátorem definované se musí nejprve deklarovat (poznáme později) a pak je aktivujeme názvem s parametry, např.: Hledej(parametry),Vypocet_obsahu(parametry) atd. Prázdný příkaz Prázdný příkaz není tvořen žádným znakem a neodpovídá mu žádná akce. Umožňuje použít zápisy, které by jinak byly chybné. Např. za posledním příkazem v programu můžeme napsat středník a potom end. , protože za tímto středníkem se právě nachází onen prázdný příkaz. Příkaz skoku Příkaz skoku má tvar: goto návěští a přikazuje pokračovat při realizaci algoritmu na řádku uvozeném návěštím. Tento příkaz se snažíme z repertoáru vypusit, protože snižuje čitelnost, přehlednost programu. Strukturované příkazy Jsou to příkazy, které jsou vytvořeny z dalších příkazů, tedy mají nějakou vnitřní strukturu. Složený příkaz Z posloupnosti příkazů lze vytvořit jediný příkaz, tzv. složený příkaz. Má tvar: begin příkaz1; příkaz2; ... příkazn end Používáme ho tehdy, jestliže nám syntaxe Pascalu přikazuje na určitém místě programu použít pouze jediný příkaz a my jich potřebujeme provést více. Podmíněný příkaz příkaz If - umožňuje podmíněné provedení nějakého příkazu příkaz case - umožňuje provedení jednoho příkazu z několika alternativních Příkaz If Umožňuje vybrat k realizaji jeden ze dvou příkazů na základě splnění nebo nesplnění určité podmínky. Může být úplný nebo neúplný (jedna z akcí schází). a) neúplný příkaz if má tvar: if podmínka then příkaz podmínka je výraz typu boolean, příkaz je jediný příkaz. Realizace: Když má podmínka hodnotu true, vykoná se příkaz, když má hodnotu false, nevykoná se nic, příkaz je bez účinku. Příklad: if cislo>0 then vysledek:=sqrt(cislo) Je-li proměnná cislo kladná, pak do proměnné vysledek ulozi druhou odmocninu z cisla jinak neprovede nic. b) úplný příkaz if má tvar: if podmínka then příkaz1 else příkaz2 Realizace: Když má podmínka hodnotu true, vykoná se příkaz1, když má hodnotu false, vykoná se příkaz2. Příklad: if cislo<0 then hodnota:=(-1)*cislo else hodnota:=cislo Je-li proměnná cislo záporná, do hodnoty uloží cislo opačné, jinak do hodnoty uloží cislo - výpočet absolutní hodnoty z proměnné cislo. Poznámky: 1) před else nesmi být středník 2) chceme-li za then nebo else napsat více příkazů, musíme je pomocí begin a end převést na jeden složený příkaz if cislo>0 then begin soucet:=cislo + 5; soucin:=cislo*3 end 3) použijeme-li vícekrát if za sebou, pak else patří vždy nejbližšímu (volnému) then. if cislo>0 then if cislo>5 then vysledek:=100 else vysledek:=0 else se vztahuje k podmínce x>5, tedy je-li x>0 a x<5 pak se do vysledku ulozi 0. Lepší je ovšem použivat begin a end (zvyšuje čitelnost) a napsat to takto: if cislo>0 then begin if cislo>5 then vysledek:=100 else vysledek:=0 end Příklady: Příklad1: Jsou dána tři různá reálná čísla cislo1, cislo2, cislo3. Sestavte program, který určí největší z těchto daných čísel. Myšlenka (hrubý algoritmus): 1) porovnáme první dvě čísla, větší z nich označíme Max 2) toto Max porovnáme s třetím číslem cislo3, bude-li cislo3 větší, bude to nové Max Program tedy může vypadat takto:
Příklad2: Sestavte program pro vyřešení lineární rovnice ax + b = 0. Příklad: Rovnice 3x-5=0 dává řešení x=5/3 Rovnice 0x-5=0 dává 0x=5 a ta nemá řešení Rovnice 0x-0=0 dává 0x=0 a zde je řešením každé číslo. Myšlenka (hrubý algoritmus): 1) je-li a=0 pak závisí řešení na b, je-li i b=0 pak je řešením každé číslo jinak nemá řešení 2) není-li b=0, určíme řešení jako -b/a A zde je program:
Domácí úkol: Sestavte program Kvadrat_Rovnice, který vyřeší kvadratickou rovnici ax2 + bx + c = 0 v oboru reálných čísel. 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. |