...............
until
příklad:
repeat
write ('Zadej kladné číslo: ');
read (cislo);
if cislo <= 0 then write ('Cislo ', cislo, 'neni kladne!'); until cislo >0;
cvičení:
Napiš tuto část programu za pomocí cyklu while!
... a řešení:
Porovnání cyklu while oproti cyklu repeat until:
program while_versus_repeat_until;
uses wincrt; {nutné proto, aby fungoval príkaz "repeat until keypressed"}
var cislo : Real;
begin
clrscr; {smaze na zacátku obrazovku - aby nezustával text z predchozích aplikací}
writeln ('*********************************************************');
(* ----------cyklus repeat - until ---------*)
writeln ('Testovani cyklu repeat: ');
repeat
writeln ('Zadej kladné císlo a cyklus repeat skonci: ');
readln (cislo);
if cislo <= 0 then writeln ('Cislo ', cislo, 'neni kladne! Cyklus repeat pokracuje...'); until cislo >0;
(* -------- cyklus repeat - until konec --------*)
writeln ('stiskni cokoli a program pokracuje k testovani cyklu while');
repeat until keypressed;
{PC ceká na stisk libovolné klávesy - aby zustal videt výsledek na obrazovce}
(* --------cyklus while--------------- *)
cislo :=-100 (* quli nasledujici podmince musim nadefinovat promennou cislo jako zapornou*);
while cislo < 0 do begin writeln ('Zadej kladné císlo a cyklus while skonci: '); readln (cislo); end; (*-------- cyklus while konec -----------*) writeln ('bylo zadano kladne cislo, stiskni cokoli a program skonci'); writeln ('*********************************************************'); repeat until keypressed; {PC ceká na stisk libovolné klávesy - aby zustal videt výsledek na obrazovce} clrscr; {smaze na konci obrazovku} end.
Poznámka:
Repeat cyklus se provede alespoň jednou.
While se nemusí provést ani jednou!
While cyklus běží tak dlouho, dokud platí jeho podmínka.
Repeat se chová opačně - jakmile podmínka platí, skončí!
Žádné komentáře:
Okomentovat