Pascal - príkazy cyklu

Autor: Jozef Rariga | 14.3.2016 o 13:34 | Karma článku: 0,00 | Prečítané:  109x

Pomocou príkazu cyklu sa predpisuje opakované vykonávanie príkazov alebo postupnosti príkazov v Pascale

(ak potrebujeme viackrát opakovať tie isté alebo podobné príkazy, máme dve možnosti: buď daný príkaz 100 krát opíšeme alebo vytvoríme cyklus a povieme mu, aby príkaz 100 krát zopakoval). Okrem príkazov, ktoré sa majú opakovane vykonávať, je súčasťou každého príkazu cyklu aj špecifikácia riadiaca toto opakovanie. Pri príkazoch repeat resp. while je táto špecifikácia daná podmienkou (výrazom typu boolean), ktorej splnenie alebo nesplnenie znamená opakované vykonávanie cyklu. V príkaze for sa udáva interval hodnôt ordinárneho typu, pre ktoré sa príkaz postupne vykonáva.

Príkaz FOR zaistí predom určený počet opakovaní jednoduchého alebo zloženého príkazu.

  Syntax:    for i:= zac to/downto kon do príkaz;           i - riadiaca premenná         zac - počiatočná hodnota         kon - koncová hodnota      príkaz - jednoduchý alebo zložený príkazPočet opakovaní =       ( kon - zac ) + 1 (TO)                                     ( zac - kon ) + 1 (DOWNTO)Riadiaca premenná musí byť ordinárneho typu a musí sa deklarovať v bloku, ktorý obsahuje príkaz FOR (najlepšie v deklaračnej časti hlavného programu). Počiatočná a koncová hodnota musia byť kompatibilné s typom riadiacej premennej. Obidve sa definujú na začiatku vykonávania cyklu FOR. Príkaz obsiahnutý v príkaze FOR sa vykonáva pre každú jednotlivú hodnotu intervalu počiatočná až koncová hodnota. Riadiaca premenná vstupuje do opakovania vždy s počiatočnou hodnotou. Keď sa v príkaze FOR použije TO, zvýši sa hodnota premennej o jednotku pri každom opakovaní. Keď je počiatočná hodnota väčšia ako konečná, príkaz sa neprevedie. Ak sa v príkaze FOR použije DOWNTO, zníži sa hodnota riadiacej premennej o jednotku pri každom opakovaní príkazu. V tomto prípade, ak je počiatočná hodnota menšia ako koncová príkaz sa neuskutoční. Pri vykonávaní príkazu FOR sa považuje za chybu zmena hodnoty riadiacej premennej vnoreným príkazom. Po prevedení príkazu FOR je hodnota riadiacej premennej neurčitá.

Príkaz WHILE zaistí vopred neurčený počet opakovaní jednoduchého alebo zloženého príkazu.

Syntax:   while výraz do príkaz; alebo while výraz do                                        begin                                         príkaz1;                                         príkaz2;                                         ...
                                        end;Príkaz WHILE obsahuje výraz, ktorý riadi opakované vykonávanie príkazu. Výraz musí byť štandardného typu boolean a vyhodnocuje sa predtým, než sa uskutoční vnorený príkaz. Vnorený príkaz sa vykonáva tak dlho, pokiaľ je hodnota výrazu True. Ak má výraz hodnotu False, vnorený príkaz sa nevykoná. Vnorený príkaz môže byť jednoduchý alebo zložený.

Príkaz REPEAT zaistí vopred neurčený počet opakovaní jednoduchého alebo zloženého príkazu. Príkaz sa uskutoční najmenej raz.

Syntax:   repeat príkaz until podmienka;     alebo     repeat                                          príkaz1;                                                príkaz2;                                                ...                                               until podmienka;Príkaz REPEAT obsahuje, podobne ako WHILE, výraz, ktorý riadi opakované vykonávanie príkazu. Výraz musí byť štandardného typu boolean a vyhodnocuje sa po uskutočnení vnoreného príkazu. Vnorený príkaz sa vykonáva tak dlho, pokiaľ nie je hodnota výrazu True.

Príkaz REPEAT použijeme, ak majú byť príkazy v jeho tele vykonané aspoň raz, príkaz WHILE zase použijeme, ak príkazy v jeho tele nemusia prebehnúť ani raz.

Príklady:

 

 

Vypíše všetky násobky čísla 3 od 3 do 60.

    Program NASOBKY;
     var i : integer;
     BEGIN     for i := 1 to 20 do writeln(3*i);    END.

 

Vypíše písmená malej anglickej abecedy.

    Program ABECEDA;
     var key : char;
     BEGIN     for key := ’a’ to ’z’ do write(key);    END.

 

   Vypíše čísla od 1 do 20 (pomocou WHILE)

    Program CISLA1;
     var i : integer;
     BEGIN     i := 1;      while i < 21 do      begin       write(i,’ ’);       i := i + 1;      end;    END.

 

   Vypíše čísla od 1 do 20 (pomocou REPEAT)

    Program CISLA2;
     var i : integer;
     BEGIN     i := 0;      repeat       i := i + 1;       write(i,’ ’);      until i = 20;    END.
Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

KOMENTÁRE

Hofer neprehral, to len populizmus porazil sám seba

Víťazstvá radikálov či populistov nie sú samozrejmosťou.

KOMENTÁRE

Rakúska úľava pre demokratov, varovanie pre populistov

Väčšinu politikov a ich tímov musel nad výsledkami obliať studený pot.

SVET

Van der Bellen bude prezidentom, Hofer priznal porážku

Po zrátaní 70 percent hlasov z volebných urien je nereálne, aby Hofer nepriaznivý stav zvrátil.


Už ste čítali?