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

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

Programování v Pascalu Přednáška 2 RNDr. Hana Havelková.

Podobné prezentace


Prezentace na téma: "Programování v Pascalu Přednáška 2 RNDr. Hana Havelková."— Transkript prezentace:

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 Písmeno Podtržítko

10 Podtržítko, číslice, písmeno _ 09AZaz ČísliceAFaf Podtržítko Číslice Písmeno hexadecimální číslice

11 Identifikátor - příklady suma cislo1, cislo2, cislo3 JmenoZakajmeno_zaka CelkovaMzdacelkova_mzda VypocetPrumerneMzdyvypocet_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 andfilenotthen arrayforobjectto asmfunction oftype begingotoorunit caseifpackeduntil constimplementationprocedureuses constructorinprogramvar destructorinheritedrecordwhile divinlinerepeatwith do interfacesetxor downtolabelshl elsemodshr endnilstring

14 Direktivy absoluteassemblerexport externalfarforward indexinterruptname nearprivatepublic residentvirtual 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 e e E+6 Číslice - +. Exp - + e EČíslice Exp

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 'Přednáška z Programování 1' 'Ahoj'#10'jak se máte? '#10'My docela dobře' '' Znak # Číslo 0-255

21 Standardní vstup obvykle z klávesnice procedura Read obecný tvar: Read (p 1, p 2, …, p n ) načte ze vstupu n hodnot a uloží je do proměnných p 1, p 2, …, p n procedura ReadLn obecný tvar: ReadLn (p 1, p 2, …, p n ) načte ze vstupu n hodnot a uloží je do proměnných p 1, p 2, …, p n, přečte se i znak ukončující řádek Příklad1Příklad2Příklad3Pří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říklad1 Příklad2Příklad3

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říklad1 Příklad2Příklad3

24 Standardní výstup obvykle na obrazovku (konzoli) procedura Write obecný tvar: Write (p 1, p 2, …, p n ) zobrazí na výstupu hodnoty výrazů p 1, p 2, …, p n procedura WriteLn obecný tvar: WriteLn (p 1, p 2, …, p n ) zobrazí na výstupu hodnoty výrazů p 1, p 2, …, p n 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 Deklarace proměnných var Seznam identifikátorůtyp :; klauzule absolute kladné celé č. absolute kladné celé č. : identifikátor proměnné

27 jednoduchéstrukturovanépointer ordinálníreálné ▫char ▫boolean ▫celočíselné ▫interval ▫výčet ▫pole ▫záznam ▫množina ▫soubor ▫řetězec Datové typy

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 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 ClrScr; WriteLn('Dobrý den'); NakresliKruh(10,10,20); ReadLn; Identifikátor procedury Identifikátor metody Kvalifikovaný id. metody Identifikátor proc. prom. Seznam skutečných parametrů

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;


Stáhnout ppt "Programování v Pascalu Přednáška 2 RNDr. Hana Havelková."

Podobné prezentace


Reklamy Google