A ciklusok egy utasítás vagy utasítás-blokk ismételt végrehajtását teszik lehetővé. A ciklus feltétele szabályozza, hogy hányszor (meddig) kell ismételgetni a ciklusmagban megadott utasításokat. Elöltesztelős ciklus
Ciklus amíg feltétel
utasítás
Ciklus vége
Pascal
while feltétel do utasítás
while feltétel do
begin
utasítás blokk
end
Java, C, C++, C#
while ( feltétel ) utasítás
while ( feltétel ) {
utasítás blokk
}
Hátultesztelős ciklus
Ciklus
utasítás
amíg feltétel
Ciklus vége
Pascal
Vigyázat!!! Pascal-ban a hátultesztelős ciklusban a kilépési feltételt kell megadni. ("Ciklus .. hacsak")
repeat
utasítás blokk
until kilépési feltétel
Java, C, C++, C#
do{
utasítás blokk } while( feltétel )
Számlálós ciklus
Ciklus ciklusváltozó := kezdet - től vég - ig
utasítás
Ciklus vége
Pascal
for i := kezdet to vég do utasítás for i := kezdet to vég do
begin
utasítás blokk
end
Java, C, C++, C#
A C-típusú nyelvekben a for-ciklus egy speciális while . A következő két kód egyenértékű: for(kezdetben;feltétel; növekmény){
utasítások
}
kezdetben
while(feltétel){
utasítások
növekmény
}
Példák
A ciklusok működésének illusztrálására többféle módon megoldjuk a
következő problémát: ki kell írni a képernyőre (standard kimenetre) a
pozitív egész számokat 1-től 42-ig, növekvő sorrendben, szóközökkel
elválasztva.
Pascal
program ciklus ;
var i : byte ;
begin
i := 1 ;
while i <= 42 do
begin
write ( i , ' ' );
i := i + 1 ;
end ;
end .
program ciklus ;
var i : byte ;
begin
i := 1 ;
repeat
write ( i , ' ' );
i := i + 1 ;
until i > 42 ;
end .
program ciklus ;
var i : byte ;
begin
for i := 1 to 42 do write ( i , ' ' );
end .
Java, C, C++, C#Csak a ciklust kódoló részt adjuk meg, abban nincs különbség. i = 1;
while( i <= 42){
i kiírása a nyelvnek megfelelően
i++;
}
i = 1;
do {
i kiírása a nyelvnek megfelelően
i++;
} while( i <= 42)
for( i = 1; i <= 42; i++ ){
i kiírása a nyelvnek megfelelően
}
|