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

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

Informatika I 3. přednáška RNDr. Jiří Dvořák, CSc.

Podobné prezentace


Prezentace na téma: "Informatika I 3. přednáška RNDr. Jiří Dvořák, CSc."— Transkript prezentace:

1 Informatika I 3. přednáška RNDr. Jiří Dvořák, CSc.

2 Informatika I: přednáška 32 Obsah přednášky  Datové typy v Pascalu  Proměnné a pojmenované konstanty  Příkazy v Pascalu  Řídicí struktury  Složený příkaz  Podmíněné příkazy  Příkazy cyklu

3 Informatika I: přednáška 33 Datové typy v jazyku Pascal  Jednoduché datové typy:  real  integerv jazyku  booleanpředdefinované  char  výčtový typ  interval  Strukturované datové typy: definované  množinauživatelem  pole  záznam  soubor

4 Informatika I: přednáška 34 Jednoduché datové typy v jazyku Pascal  Typ real: reálné (přesněji racionální) hodnoty  Typ integer: celočíselné hodnoty  Typ boolean: logické (booleovské) hodnoty  Typ char: znakové hodnoty (characters)  Výčtový typ: výčet hodnot reprezentovaných identifikátory  Typ interval: podmnožina hodnot nějakého ordinálního typu Množiny hodnot všech jednoduchých (skalárních) datových typů v Pascalu jsou uspořádané a jsou pro ně definovány relační operace. Ordinální je takový typ, jehož hodnoty jsou navíc očíslovány pořadovými (celými) čísly. Ordinální jsou všechny výše uvedené typy s výjimkou typu real.

5 Informatika I: přednáška 35 Společné operace pro skalární typy operátor = <> < <= > >= význam rovno nerovno menší menší nebo rovno větší větší nebo rovno Pozn.: Jedná se o relační operace. Výsledkem jsou hodnoty typu boolean.

6 Informatika I: přednáška 36 Společné funkce pro ordinální typy Funkcevýznam ordpořadové číslo hodnoty argumentu v uspořádané množině hodnot daného typu; pořadové číslo celočíselné hodnoty je rovno této hodnotě, u ostatních ordinálních typů začíná číslování hodnot od nuly predpředchůdce hodnoty argumentu v uspořádané množině hodnot daného typu succnásledník hodnoty argumentu v uspořádané množině hodnot daného typu

7 Informatika I: přednáška 37 Proměnné a pojmenované konstanty  Definice konstant: const identifikátor1=hodnota1; identifikátor2=hodnota2;.  Deklarace proměnných var identif1:typ1; identif2a,identif2b, … :typ2;.

8 Informatika I: přednáška 38 Příklady definic konstant a deklarací proměnných const PI= ; Imax=100; Pozdrav=’Ahoj’; var i,j,m,n:integer; x,y:real; B:boolean; Zn1,Zn2:char;

9 Informatika I: přednáška 39 Příkazy jazyka Pascal  Jednoduché příkazy:  přiřazovací příkaz  příkaz procedury  příkaz skoku  prázdný příkaz  Strukturované příkazy (řídicí struktury):  složený příkaz  podmíněné příkazy  příkazy cyklu  příkaz with (používá se u datového typu záznam)

10 Informatika I: přednáška 310 Řídicí struktury  Struktura begin - end uzavření posloupnosti příkazů do příkazových závorek  Struktura if - then větvení do dvou větví  Struktury while - do, repeat - until cykly umožňující řešit i případy s předem neznámým počtem opakování  Struktura case větvení do více než dvou větví  Struktura for cyklus s předem známým počtem opakování

11 Informatika I: přednáška 311 Složený příkaz begin posloupnost příkazů oddělených středníky end Složený příkaz používáme tam, kde syntaxe požaduje výskyt pouze jediného příkazu.

12 Informatika I: přednáška 312 Příklady složeného příkazu Podle syntaxe jazyka Pascal je středník oddělovačem příkazů. Avšak v případě b) se středník vyskytuje i za posledním příkazem. To ale není chyba, neboť v tomto složeném příkazu se vlastně nacházejí tři příkazy oddělené středníky, přičemž třetím příkazem je příkaz prázdný. a) begin Pom:=X; X:=Y; Y:=Pom end b) begin S:=S+i  i; i:=i+1; end

13 Informatika I: přednáška 313 Příkazy if a) if podmínka then příkaz1 else příkaz2 Je-li podmínka splněna, provede se příkaz1, jinak se provede příkaz2. b) if podmínka then příkaz Je-li podmínka splněna, provede se příkaz. V opačném případě se neprovede nic. Případné nejednoznačnosti v konstrukcích tvořených několika příkazy if vnořenými do sebe jsou řešeny tak, že každé else přísluší nejbližšímu předcházejícímu then, které je dosud volné a není uvnitř jiné struktury.

14 Informatika I: přednáška 314 Sémantika konstrukcí s více příkazy if a) if B1 then if B2 then P1 else P2; b) if B1 then begin if B2 then P1 end else P2; ad a)ad b) B1 P2 B2 B1 P1 P2 anone ano

15 Informatika I: přednáška 315 Příklady příkazů if Určení minimální hodnoty z čísel X, Y, Z: if XB then begin Pom:=A; A:=B; B:=Pom end;

16 Informatika I: přednáška 316 Příkazy while a repeat a) while podmínka do příkaz Příkaz za do se provádí, pokud je splněna podmínka. Jestliže podmínka není splněna, cyklus končí. b) repeat posloupnost příkazů oddělených středníky until podmínka Provádějí se příkazy mezi repeat a until, dokud není splněna podmínka. Jakmile je podmínka splněna, cyklus končí.

17 Informatika I: přednáška 317 Příklady použití cyklů while a repeat Sečítání kladných čísel, zadávaných z klávesnice (výpočet je ukončen zadáním záporného čísla nebo nuly): program Secitani; var x,s:real; begin s:=0; read(x); while x>0 do begin s:=s+x; read(x); end; writeln(’Soucet= ’,s); end. program Secitani; var x,s:real; begin s:=0; read(x); if x>0 then repeat s:=s+x; read(x); until x<=0; writeln(’Soucet= ’,s); end.

18 Informatika I: přednáška 318 Příklady použití cyklu while Výpočet faktoriálu přirozeného čísla N: var i,N:integer; F:real;... F:=1; i:=2; while i<=N do begin F:=F  i; i:=i+1; end; {Vysledek je v F} var i,N:integer; F:real;... F:=1; i:=N; while i>=2 do begin F:=F  i; i:=i–1; end; {Vysledek je v F}

19 Informatika I: přednáška 319 Příklad použití cyklu repeat Přibližný výpočet třetí odmocniny z A: program TretiOdmocnina; {$APPTYPE CONSOLE} var A,Epsilon,X,Y:real; begin writeln('Zadej cislo pro odmocninu'); readln(A); writeln('Zadej presnost vypoctu'); readln(Epsilon); Y:=A; repeat X:=Y; Y:=X+(A/sqr(X)-X)/3; until abs(X-Y)

20 Informatika I: přednáška 320 Příkazy case a) case SelektorVětvení of hodnota1:příkaz1; hodn2a,hodn2b, … :příkaz2;. end b) case SelektorVětvení of hodnota1:příkaz1; hodn2a,hodn2b, … :příkaz2;. else příkazy end Selektor větvení je výraz ordinálního typu. Provede se příkaz, který odpovídá hodnotě selektoru větvení. Pokud žádný takový není, provedou se v případě b) příkazy ve větvi else.

21 Informatika I: přednáška 321 Příklad použití příkazu case Součást vyhodnocení aritmetického výrazu: var Oper:char; Vysledek,X,Y:real;... case Oper of ’+’: Vysledek:=X+Y; ’–’: Vysledek:=X–Y; ’  ’: Vysledek:=X  Y; ’/’: Vysledek:=X/Y; end;

22 Informatika I: přednáška 322 Příklad použití příkazu case Určení počtu dní v měsíci: var Mesic:1..12; {interval celych cisel od 1 do 12} PocetDnu,Rok:integer; function Prestupny(R:integer):boolean; {Funkce testujici, zda rok R je prestupny}... case Mesic of 2: if Prestupny(Rok) then PocetDnu:=29 else PocetDnu:=28; 4,6,9,11: PocetDnu:=30 else PocetDnu:=31 end

23 Informatika I: přednáška 323 Příkazy for a) for řídicí_proměnná:=výraz1 to výraz2 do příkaz b) for řídicí_proměnná:=výraz1 downto výraz2 do příkaz Řídicí proměnná je ordinálního typu. Výraz1 a výraz2 určují počáteční a koncovou hodnotu řídicí proměnné. Tyto výrazy se vyhodnocují pouze jednou před zahájením cyklu. Příkaz, který je uvnitř cyklu, nesmí měnit hodnotu řídicí proměnné. Ta se mění automaticky (v cyklu for-to pomocí funkce succ, v cyklu for-downto pomocí funkce pred). Příkaz for je implementován jako cyklus while.

24 Informatika I: přednáška 324 Implementace cyklu for pomocí while for I:=výraz1 to výraz2 do příkaz Implementace: V1:=výraz1; V2:=výraz2; I:=V1; while I<=V2 do begin příkaz; I:=succ(I) end Implementace cyklu for-downto se liší podmínkou I>=V2 a příkazem I:=pred(I).

25 Informatika I: přednáška 325 Příklady použití cyklu for Výpočet faktoriálu přirozeného čísla N: var i,N:integer; F:real;... F:=1; for i:=2 to N do F:=F  i; {Vysledek je v F} var i,N:integer; F:real;... F:=1; for i:=N downto 2 do F:=F  i; {Vysledek je v F}


Stáhnout ppt "Informatika I 3. přednáška RNDr. Jiří Dvořák, CSc."

Podobné prezentace


Reklamy Google