„Szerkesztő:Effendi/Ciklusok” változatai közötti eltérés
Tartalom törölve Tartalom hozzáadva
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló |
||
1. sor:
= Ciklusok =
A '''ciklus''', vagy '''iteráció''' a [[számítógép-programozás]] és az [[algoritmus]]ok egyik alapvető eszköze, amely az ismétlődő (azonos vagy hasonló) tevékenységek megvalósítására
szolgál. A ciklus beépítését a programba ''ciklusszervezés''nek is nevezik. A ciklust az egyes [[programozási nyelv]]ek különböző [[kulcsszó|kulcsszavakkal]] valósítják
== Típusai==
21 ⟶ 20 sor:
Ebben a ciklusban a ciklusváltozónak van '''kezdőértéke''' (2), '''végértéke''' (5) és '''lépésköze''' (1). Nem minden ciklusban van ciklusváltozó. Egyes programnyelvekben több is lehet belőle.
A ciklus első sorát '''ciklusfejnek''' nevezik. Általában ez vezérli a ciklust; itt kap helyet a ciklusváltozó(k) definíciója, valamint a futási feltétel is. A középső sor a '''ciklusmag''', vagyis a ténylegesen ismétlődő utasítások meghatározása. Ennek a ciklusnak a magja egyetlen utasításból áll. Végül az utolsó sor a '''ciklusvég'''; az
== Feltételes ciklusok (WHILE)==
A feltételes ciklusok olyankor használatosak, amikor nem ismert előre, hogy hányszor kell a ciklusnak lefutnia. Azt viszont tudjuk, hogy milyen feltétel teljesülése esetén kell tovább futnia vagy leállnia. (Ez a kettő egymással [[logikai ekvivalencia|ekvivalens]], hiszen a további futás, illetve a leállás feltétele egymás [[Logikai művelet#Negáció|tagadása]].) A feltétel teljesülését vizsgálhatjuk a ciklusfejben vagy a ciklusvégben is; a különbség abban fog állni, hogy legalább egyszer lefut-e a ciklus.
===
[[Fájl:While-loop-diagram.svg|200px|jobbra|bélyegkép]]
Az
<pre>Ismételd, amíg a feltétel igaz
utasítások
ciklus vége</pre>
Az
Az
Az
Általános alakja a következő:
<pre>
50 ⟶ 49 sor:
</pre>
===
[[Fájl:Do-while-loop-diagram.svg|200px|jobbra|bélyegkép]]
A
<pre>Ismételd
utasítások
amíg a feltétel igaz</pre>
Mivel a feltételvizsgálat a ciklusmag után áll, ezért a
A konkrét programnyelvi megvalósítástól függ, hogy a
Általános alakja a következő:
67 ⟶ 66 sor:
}while(feltétel);
</pre>
Jellemző példa a
<pre>
Ismételd
82 ⟶ 81 sor:
[[Fájl:For-loop-diagram.png|200px|jobbra|bélyegkép]]
A számláló ciklus általánosságban olyan
C-ben a <code>for</code> ciklus majdnem teljesen ekvivalens az elől tesztelős ciklussal, de más nyelvekben nem feltétlenül van ez így: a <code>for</code> ciklus átírható más ciklussá, de visszafelé általában nem.
Számok összegzése <code>for</code>ciklussal C-ben:
96 ⟶ 95 sor:
</syntaxhighlight>
<syntaxhighlight lang="cpp">
int sum = 0;
120 ⟶ 118 sor:
</syntaxhighlight>
== Iteráló ciklus (FOR IN, FOREACH) ==
Egyes nyelvekben a <code>foreach</code> [[kulcsszó]]val kell használni. Arra való, hogy egy egy [[tároló (adatszerkezet)|tároló]] (pl.tömb, lista)elemeit bejárjuk. Erre egy egyszerű példa PHP-ban:<ref>{{Cite web |url=http://hu.php.net/manual/en/control-structures.foreach.php# |title=Archivált másolat |accessdate=2010-01-19 |archiveurl=https://web.archive.org/web/20090213012453/http://hu.php.net/manual/en/control-structures.foreach.php# |archivedate=2009-02-13 }}</ref>
$arr = array(1, 2, 3, 4); // Tömb az 1,2,3,4 számokból
141 ⟶ 139 sor:
</syntaxhighlight>
megadásával. Mivel egy lista elemszáma nem kötött, az előny nyilvánvaló.
Néhány programozási nye
+
== Beavatkozás a ciklus menetébe ==
|