Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Programování v Pascalu Přednáška 2
RNDr. Hana Havelková
2
O čem to bude lexikální jednotky oddělovače, komentáře
standardní vstup standardní výstup deklarace proměnných rychlý přehled typů jednoduché příkazy
3
Program v Pascalu posloupnost lexikálních jednotek (tokenů) oddělenými oddělovači dodržující jistá pravidla syntaxe (syntaktické chyby) sémantika (sémantické chyby) logika (logické chyby)
4
Lexikální jednotky (tokeny)
speciální znaky identifikátory návěští číselné a řetězcové konstanty rezervovaná (klíčová) slova Poznámka: sousedící identifikátory, klíčová slova nebo konstanty musí být od sebe oddělena aspoň jednou mezerou nebo jiným oddělovačem přebytečné mezery a oddělovače řádků jsou překladačem ignorovány nerozlišují velká a malá písmena (case insensitive)
5
Oddělovače prázdné znaky (blanks, white spaces)
mezera, tabulátor, odřádkování, odstránkování znaky s kódem 0 – 31 komentáře
6
Komentáře uzavírají se mezi složené závorky { } mohou být víceřádkové
používají se jako vysvětlení toho, co příslušný kód dělá jako direktiva (specielní příkaz) překladače při testování k vyřazení části kódu z provozu – co je v komentářových závorkách se nekontroluje, nepřekládá, neprovádí
7
Speciální znaky + - * / . , : ; := . . ^
* / . , : ; := ^ = <> < <= > >= ( ) [ ] @ { } $ # (* *) (. .)
8
Identifikátory libovolná délka, rozlišuje se prvních 63 znaků (závisí na překladači) mohou obsahovat pouze písmena, číslice a podtržítka nesmí začínat číslicí nerozlišují se velká a malá písmena označují konstanty, typy, proměnné, funkce, procedury, jednotky smysluplná jména velbloudí notace
9
Identifikátor – syntaktický diagram
Písmeno Číslice Podtržítko
10
Podtržítko, číslice, písmeno
hexadecimální číslice _ 9 A Z a z Číslice A F a f
11
Identifikátor - příklady
suma cislo1, cislo2, cislo3 JmenoZaka jmeno_zaka CelkovaMzda celkova_mzda VypocetPrumerneMzdy vypocet_prumerne_mzdy x_na_treti _soucet_ MAXIMALNI_POCET
12
Klíčová slova mají speciální (vyhrazené) použití
identifikátor nesmí být pojmenovaný stejně jako klíčové slovo
13
Klíčová slova - přehled
and file not then array for object to asm function of type begin goto or unit case if packed until const implementation procedure uses constructor in program var destructor inherited record while div inline repeat with do interface set xor downto label shl else mod shr end nil string
14
Direktivy absolute assembler export external far forward
index interrupt name near private public resident virtual Poznámka: nejsou vyhrazené
15
Návěští označují řádek (příkaz) programu, který může být cílem skoku (příkaz goto) je ukončeno dvojtečkou : jedná se vlastně o identifikátor label Zacatek, Chyba; var a, b, c, x1, x2 : real; begin Zacatek: WriteLn('Kvadratická rovnice'); Write('Zadej a: '); ReadLn(a); if a = 0 then goto Chyba; … Chyba: WriteLn('Nejde o kvadratickou rovnici!!!');
16
Konstanty číselné celočíselné desítkové šestnáctkové reálné řetězcové
17
Celočíselné konstanty
desítkové 3618, -1025, šestnáctkové $321, -$abc, $2C4A Číslice - + Hexadec. číslice $ - +
18
Reálné konstanty Číslice - + . Exp Exp - + e E Číslice 1231.165
19
Řetězcová konstanta posloupnost znaků uzavřená mezi apostrofy
řetězec nemůže být víceřádkový řetězec může být i prázdný tj. mezi apostrofy není nic '' rozlišují se velká a malá písmena řetězec může obsahovat libovolné znaky s ASCII kódem tj. i znaky s českou diakritikou netisknutelné znaky grafické znaky
20
Řetězce ' # Znak Číslo 0-255 'Přednáška z Programování 1'
'Ahoj'#10'jak se máte? '#10'My docela dobře'
21
Standardní vstup obvykle z klávesnice procedura Read
obecný tvar: Read (p1, p2, …, pn ) načte ze vstupu n hodnot a uloží je do proměnných p1, p2, …, pn procedura ReadLn obecný tvar: ReadLn (p1, p2, …, pn) načte ze vstupu n hodnot a uloží je do proměnných p1, p2, …, pn, přečte se i znak ukončující řádek Příklad1 Příklad2 Příklad3 Příklad4
22
Vstup čísel a řetězců v jednom
čteme-li v jednom vstupu čísla i řetězce a řetězec není jako poslední v seznamu, může se stát, že číselné hodnoty následující po řetězci se již neuloží do svých proměnných, ale budou v podstatě spolknuty řetězcem a program dále čeká na vložení těchto hodnot nastane chyba vstupu, neboť do čísla se ukládá část řetězce Příklad2 Příklad3 Příklad1
23
Vstup několika řetězců najednou
čteme-li v jednom vstupu více řetězců, může se stát, že první řetězec spolkne veškerý vstup až do konce řádku, takže ostatní řetězce zůstanou prázdné dojde k chybnému rozdělení vloženého textu do jednotlivých řetězců – řetězce na začátku seznamu parametrů procedury ReadLn jsou správně naplněny a ostatní špatně nebo vůbec Příklad2 Příklad3 Příklad1
24
Standardní výstup obvykle na obrazovku (konzoli) procedura Write
obecný tvar: Write (p1, p2, …, pn ) zobrazí na výstupu hodnoty výrazů p1, p2, …, pn procedura WriteLn obecný tvar: WriteLn (p1, p2, …, pn ) zobrazí na výstupu hodnoty výrazů p1, p2, …, pn a poté odřádkuje Poznámka: WriteLn bez parametrů pouze odřádkuje – lze použít i opakovaně
25
Standardní výstup - příklad
var a, b : integer; x : real; nadpis : string; begin a := 9165; b := 718; nadpis := 'Výstup na obrazovku'; WriteLn(nadpis); WriteLn; WriteLn('a = ', a, 'b = ', b); x := a / b; WriteLn('Reálný podíl = ', x :10:4); WriteLn('Celočíselný podíl = ', a div b); … end.
26
Seznam identifikátorů identifikátor proměnné
Deklarace proměnných var Seznam identifikátorů typ : ; klauzule absolute klauzule absolute kladné celé č. absolute : identifikátor proměnné
27
Datové typy jednoduché strukturované pointer ordinální reálné char
boolean celočíselné interval výčet pole záznam množina soubor řetězec
28
Deklarace proměnných – příklady
var jmeno, prijmeni : string[20]; nadpis : string; pocet : integer; cislo, soucet, prumer : real; odpoved : char; platnost : boolean; odkaz_na_jmeno : string absolute jmeno; Crt_Mode : byte absolute $0040 : $0049;
29
Jednoduché příkazy přiřazovací příkaz volání procedury příkaz goto
30
Identifikátor proměnné
Přiřazovací příkaz hodnota výrazu na pravé straně se dosadí do proměnné na straně levé event. zajistí vrácení funkční hodnoty výraz na levé straně musí být kompatibilní vůči přiřazení s typem proměnné vlevo nebo s typem funkční hodnoty typy jsou shodné typ výrazu je podtypem typu proměnné (fční hodnoty) do proměnné typu real lze dosadit celočíselný výraz do proměnné typu integer lze dosadit výraz typu byte … do proměnné typu string lze dosadit výraz typu char Identifikátor proměnné := Výraz Identifikátor funkce
31
Přiřazovací příkazy - příklady
var hotovo : boolean; realny_podil : real; cislo : byte; suma, x, y, a, b : integer; celociselny_podil : integer; realny_podil := x / y; celociselny_podil : = x div y ; suma := suma + cislo; hotovo := (a=0) or (b=0);
32
Volání procedury Identifikátor procedury Identifikátor metody
Kvalifikovaný id. metody Identifikátor proc. prom. Seznam skutečných parametrů ClrScr; WriteLn('Dobrý den'); NakresliKruh(10,10,20); ReadLn;
33
Příkaz goto příkaz skoku – přenese provádění programu na místo (příkaz) označený návěštím používat jen výjimečně Návěští goto
34
Příklad goto goto Konec;
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.