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

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

Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.

Podobné prezentace


Prezentace na téma: "Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu."— Transkript prezentace:

1 Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu

2 Programové cykly OB21-OP-EL-KONP-JANC-M-3-024

3  Mnoho úloh spočívá v triviálních operacích, které se však musí opakovat mnohokrát za sebou.  O to se postarají struktury cyklů, které jsou důležitou součástí všech programovacích jazyků.  Programové cykly se tedy používají pro opakované provádění příkazů.  Příkazům, které se opakovaně provádějí, říkáme tělo cyklu.

4 Programové cykly V jazyce Pascal existují tři druhy programových cyklů:  while – do (while = zatímco platí, do = dělej)  repeat – until (repeat = opakuj, until = dokud neplatí …)  for – to (downto) – do (for = pro, to = do hodnoty, downto = až do hodnoty)

5 Cyklus while – do  Syntax příkazu je  whilepodmínka  dopříkaz;  Podmínka představuje normální logický (booleovský) výraz, který může nabývat hodnoty pravda (true – logická jedna) anebo nepravda (false – logická nula).

6 Cyklus while – do  Příkaz cyklu je prováděn tak dlouho, dokud je podmínka pravdivá.  Když se stane nepravdivou, cyklus je ukončen a program pokračuje prvním příkazem za cyklem.  Příkaz v cyklu může být také složený, tedy v bloku begin…end může být víc příkazů.  Test podmínky pro provádění cyklu je na jeho začátku. To znamená, že aby byl cyklus proveden alespoň jednou, musí být na začátku podmínka pravdivá.

7 Cyklus while – do  Aby byl cyklus ukončen, musí se podmínka stát při provádění cyklu nepravdivou. To může být provedeno například jedním z příkazů v cyklu.  Tento cyklus se často používá pro čtení dat ze souboru. V tomto případě je podmínka tvořena funkcí, která při čtení souboru zjistí jeho konec a cyklus se ukončí.  Pro zvýraznění podmínky (lepší čitelnost) může být podmínka uzavřena v závorkách, např.  while (X >= 12) do

8 Cyklus repeat – until  Syntax příkazu je  repeatpříkaz;  until podmínka;  Příkaz v cyklu je prováděn, pokud je podmínka nepravdivá.  Test podmínky je proveden na konci cyklu, to znamená, že cyklus je proveden alespoň jednou.  Aby byl cyklus ukončen, musí se podmínka při jeho provádění stát pravdivou. To může být provedeno například jedním z příkazů v cyklu.

9 Cyklus repeat – until  Příkaz v cyklu může být také složený. Protože slova repeat a until vytvářejí již sama o sobě blok, uzavření příkazů v cyklu mezi begin a end není nutné.  Logické podmínky jsou stejné jako u příkazu while – do.  Podmínka může být opět uzavřena v závorkách, např.  repeat  …  until (X > 15 );

10 Cyklus repeat – until  Jednou z možností použití tohoto cyklu je pozastavení programu před jeho ukončením, aby byly vidět výsledky chodu programu bez nutnosti přepínání do uživatelského okna.  Cyklus je prázdný, nejsou v něm žádné příkazy.

11 Cyklus repeat – until  repeat  until keypressed;  Funkce keypressed (= klávesa stisknuta) vrací logickou hodnotu false, není-li stisknuta jakákoli klávesa (mimo Ctrl, Alt, apod.), v opačném případě vrací hodnotu true.  Stisknutím klávesy se podmínka stane pravdivou a příkaz cyklu repeat – until se ukončí a program pokračuje následujícím příkazem za cyklem.  V tomto případě je cyklus ukončen vnější událostí, tedy stisknutím klávesy uživatelem.

12 Cyklus repeat – until  Cyklus může být napsán na jednom řádku:  repeat until keypressed;  Funkce keypressed je v programové jednotce crt. Tato jednotka musí být v programu deklarována v sekci uses.  V cyklu repeat – until je možné použít také logickou proměnnou typu boolean.

13 Cyklus for - to (downto) – do  Existují dva způsoby provádění tohoto cyklu. Řídící proměnná cyklu se může zvětšovat, nebo zmenšovat.  for i := pochodnota to konhodnota  dopříkaz;  Řídící proměnná cyklu i se zvětšuje. Cyklus je prováděn od počáteční hodnoty pochodnota do konečné hodnoty konhodnota. Musí tedy platit pochodnota <= konhodnota.

14 Cyklus for - to (downto) – do  for i := pochodnota downto konhodnota  dopříkaz;  Řídící proměnná cyklu i se zmenšuje. Cyklus je prováděn od počáteční hodnoty pochodnota do konečné hodnoty konhodnota. Musí tedy platit pochodnota >= konhodnota.  Řídící proměnná cyklu je obvykle typu integer, nesmí být typu real. Použití cyklu for – downto – do je méně časté.

15 Cyklus for - to (downto) – do  Jestliže je pochodnota = konhodnota, cyklus je proveden jednou.  Je-li konhodnota < pochodnota, ( pro cyklus for – to – do)  nebo konhodnota > pochodnota (pro cyklus for – downto – do), cyklus není proveden ani jednou a je vynechán (přeskočen).  Příkaz v cyklu může být také složený, více příkazů může být uzavřeno v bloku begin – end.

16 Cyklus for - to (downto) – do  Tento cyklus se používá, když je předem známo, kolikrát má být opakován, tedy jaká je počáteční a konečná hodnota řídící proměnné.  Naproti tomu cykly while – do a repeat – until jsou ukončeny logickou podmínkou.  Cyklus for – to – do se často používá pro opakovaný výpočet nějakého vzorce pro různé hodnoty proměnných, tedy pro výpočet tabulky.

17 Cyklus while – do  Příklad programu na cyklus while – do  program While_do;  {  Cyklus while - do  While_do.pas  }  uses  crt;  var  N : integer;

18 Cyklus while – do  begin  writeln;  N := 0;  while (N < 5) do  begin  writeln('N = ',N);  N := N + 1;  end;  readln;  end.

19 Cyklus while – do  Program vypíše čísla 0 až 4 a potom skončí.  Příkaz while testuje hodnotu proměnné N a pokud je podmínka splněna, zvýší ji o 1. Pokud splněna není, přejde na další příkaz za cyklem, v našem případě na příkaz readln.  Příkaz readln zastaví běh programu pro zobrazení výsledků na obrazovce a čeká na stisk klávesy ENTER.

20 Cyklus repeat – until  Příklad cyklu repeat – until  program Repeat_1;  {  Cyklus Repeat-Until  Repeat_1.pas  }  uses  Crt;  var  N : integer;

21 Cyklus repeat – until  begin  writeln;  N := 5;  repeat  writeln('N = ',N);  N := N - 1;  until (N = 0);  repeat until KeyPressed;  end.

22 Cyklus repeat – until  Další příklad cyklu repeat – until  program Repeat_2;  {  Cyklus Repeat-Until s logickou promennou.  Repeat_2.pas  }  uses  crt;  var  N : integer;  Ukoncit : boolean;

23 Cyklus repeat – until  begin  Ukoncit := FALSE;  repeat  writeln;  write('Vloz N : ');  readln(N);  case (N) of  1 : writeln('N je rovno 1');  5 : writeln('N je rovno 5');  -7 : writeln('N je rovno -7');  10,12,20 : writeln('N je 10, 12, nebo 20');  22..50 : writeln('N je mezi 22 a 50');  0 : Ukoncit := TRUE;  else  writeln('N neni rovno zadne konstante v prikazu case');  end;  until Ukoncit;  end.

24 Cyklus for - do  Příklad cyklu for - do  program For_Do_1;  {  Cyklus for-to-do.  For_Do_1.pas  }  uses  Crt;  var  I : integer;

25 Cyklus for - do  begin  writeln;  for I:=1 to 5 do  writeln(I:5);  repeat until KeyPressed;  end

26  Děkuji za pozornost  Ing. Ladislav Jančařík

27 Literatura  K. Putz: Pascal učebnice základů programování, Grada Publishing, Praha 2007


Stáhnout ppt "Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu."

Podobné prezentace


Reklamy Google