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

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

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

Podobné prezentace


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

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

2 Výrazy tvořeny kombinací operátorů, operandů (a oddělovačů) většina operátorů je binárních, některé jsou unární pořadí vyhodnocení složitých výrazů je dáno prioritou operátorů Pravidla: operand mezi dvěma operátory s různou prioritou se váže k operátoru s vyšší prioritou operand mezi dvěma operátory se stejnou prioritou se váže k tomu vlevo – vyhodnocování operací zleva výrazy uvnitř závorek jsou vyhodnoceny přednostně

3 Priorita operátorů not 2.*, /, div, mod, and, shl, shr 3.+, -, or, xor 4.=, <>,, =, in

4 Aritmetické operátory +, -unární *, /, mod, divbinární +, - binární

5 Relační operátory =, <> =

6 Bitové operátory dají se aplikovat na celočíselné typy notbitová negace andbitový součin orbitový součet xorbitová nonekvivalence shlposun vlevo shrposun vpravo

7 Logické operátory dají se aplikovat na boolean typ notnegace andlogický součin (konjunkce) orlogický součet (alternativa) xornonekvivalence

8 Tabulka pravdivostních hodnot aba and ba or ba xor bnot a true false truefalse true false truefalsetrue false true

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

10 Ordinální datové typy popisují konečnou uspořádanou množinu hodnot mají vždy minimální a maximální hodnotu každé hodnotě z oboru hodnot tohoto typu je přiřazeno ordinální číslo udávající v podstatě pořadí hodnot (celá čísla jsou zobrazena sama na sebe) funkce pracující s ordinálními hodnotami Ord – vrací ordinální hodnotu Pred – vrací předchozí hodnotu Succ – vrací následnou hodnotu Ord('A')vrací 65 Pred ('C')vrací 'B' Succ(10)vrací 11 je-li x < y, platí Ord(x) < Ord(y)

11 Celočíselné typy typrozsahvelikost byte02551B shortint B integer B word B longint B Specielní operátory: div celočíselné dělení mod zbytek po celočíselné dělení

12 Funkce pracující s celočíselnými typy abs(n)absolutní hodnota dec(n)dekrement – snížení hodnoty n o 1 dec(n, i)dekrement – snížení hodnoty n o i inc(n)inkrement o 1 inc(n, i)inkrement o i sqr(n)druhá mocnina n Převedení reálných čísel na celá int(x)celá část x round(x)zaokrouhlení x trunc(x)useknutí desetinné části

13 Typ boolean pouze hodnoty true a false logické operátory and or xor not relační operátory, =, <> = succ (false) = true pred (true) = false ord (false) = 0 ord (true) = 1 false < true Ord(false)

14 Typ char hodnotou je znak (kódování dle ASCII) znak zapisujeme mezi apostrofy 'A', 'B', '0', 'č' platí: '0' < '1' < '2' <.. < '9' succ('0') = '1', succ('1') = 2 … 'A' < 'B' < … < 'Z' < … < 'a' < 'b' < … < 'z' ord('0') = 48, ord('A') = 65, ord('Z') = 90, ord('a') = 97

15 Funkce související s typem char ord(c)ordinalita – vlastně ASCII kód chr(n)znak odpovídající ASCII kódu n succ(c) pred(c) Platí: ord(chr(ASCII_kod)) = ASCII_kod chr(ord(znak)) = znak

16 Výčtový typ je uživatelsky definovaný definuje se seznamem identifikátorů reprezentujících hodnoty tohoto typu jde o seznam pojmenovaných konstant první konstanta má hodnotu 0, druhá 1, … výskyt identifikátoru představuje jeho zavedení jako identifikátoru konstanty příslušného typu výčtový typ je ordinální – na operandy (téhož) výčtového typu mohou být aplikovány relační operátory standardní funkce ord (x), succ (x), pred(x) výčtový typ nelze přímo použít na vstupu ani výstupu

17 Příklad výčtového typu type Dny = (po, ut, st, ct, pa, so, ne); Barvy = (modra, cervena, zelena, bila, cerna) ; Karty = (zelena, cervena, kule, zaludy); Hodnoceni = (vyborne, velmi_dobre, dobre, nedostatecne) ; var den : Dny; karta : Karty; begin den := st; karta := zaludy; … end.

18 Typ interval představuje souvislou podmnožinu nějakého ordinálního typu dolní i horní mez podmnožiny udávají dvě konstanty (konstantní výrazy) ordinálního typu horní mez musí být větší nebo rovna dolní mezi interval, který specifikuje nějakou podmnožinu ordinálního typu T nazýváme intervalem z T a typ T hostitelským typem tohoto intervalu.. konstanta

19 Příklady typu interval type velka_pismena = 'A'.. 'Z' ; mala_pismena = 'a'.. 'z' ; var v_znak : velka_pismena ; m_znak : mala_pismena ; cislo_do_100 : ; rocnik : ; znamka : ; teplota : ;

20 Typ real konečná podmnožina reálných čísel – tj. čísla z jistého intervalu v jisté přesnosti (počet desetinných míst) číslo v pohyblivé řádové čárce, tj. jako dvojice čísel (a, b), kde: a je mantisa b je exponent zápis aEb1.268E131,

21 Reálné typy Typ RozsahPlatnéVelikost cifry real 2.9* * – 126 B single 1.5* * – 8 4 B double 5.0* * – 168 B extended 3.4* * – 2010 B comp -9.2* * – 20 8 B

22 Použití jiných typů než real zapnout numerický koprocesor – direktiva {$N+} (event. zapnout jeho emulaci pomocí {$E+} ) typ comp zobrazuje vlastně celá čísla, ale s vyšší přesností

23 Strukturované příkazy složený příkaz podmíněné příkazy příkaz if příkaz case příkazy cyklu for while repeat.. until příkaz with

24 Složený příkaz posloupnost příkazů uzavřených mezi symboly begin a end chová se jako jediný nedělitelný příkaz tj. kde může být jediný příkaz, může být složený příkaz symboly begin a end bývají nazývány jako příkazové závorky středník není součástí příkazů, slouží pouze k jejich oddělení za posledním příkazem (před end) se neuvádí středník (je-li použit, chová se jako prázdný příkaz)

25 Podmíněný příkaz IF (neúplný) vyhodnotí se podmínka za klíčovým slovem if je-li podmínka splněna (true), provede se příkaz uvedený za then, v opačném případě program pokračuje dalším příkazem neúplný if podmínka then příkaz podmínka příkaz + -

26 Podmíněný příkaz IF (úplný) úplný if podmínka then příkaz1 else příkaz2 podmínka příkaz1 + - příkaz2 vyhodnotí se podmínka za klíčovým slovem if je-li podmínka splněna (true), provede se příkaz1 uvedený za then, v opačném případě se provede příkaz2 uvedený za else

27 If příklad var a, b : real; begin Write('Zadej dvě čísla: '); ReadLn(a, b); if a < b then WriteLn('První je menší než druhé') else if a = b then WriteLn('Čísla jsou stejná') else WriteLn('První je větší než druhé'); … end.

28 If příklad var hod, min, sec : byte; OK : boolean; begin OK := true; Write('Zadej čas (hod min sec): '); ReadLn(hod, min, sec); if hod > 23 then OK := false else if min > 59 then OK := false else if sec > 59 then OK := false; if OK then WriteLn('Korektní čas') else WriteLn('Chybný čas'); end.

29 Podmíněný příkaz CASE případ case výraz případ of end else příkaz ; konstanta..: příkaz vyhodnotí se ordinální výraz uvedený za case, porovnává se postupně s uvedenými případy, dojde-li ke shodě, provede se příkaz odpovídající případu, jinak se provede příkaz uvedený za else, nebo se neprovede nic, pokud klauzule else není použita

30 Case - příklad type operator = (Plus, Minus, Krat, Deleno); var op : operator; x, y, z : real; begin … case op of Plus : z := x + y ; Minus : z := x – y; Krat : z := x * y; Deleno : z := x / y; else WriteLn('Chybný operátor') end; …

31 Case - příklad var n : word; begin WriteLn('Zadej celé číslo: '); ReadLn(n); case n of : WriteLn('Jednociferné číslo'); : WriteLn('Dvojciferné číslo'); : WriteLn('Trojciferné číslo'); : WriteLn('Čtyřciferné číslo'); else WriteLn('Pěticiferné číslo???'); end; ReadLn; end.


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

Podobné prezentace


Reklamy Google