Kezdőoldal » Számítástechnika » Programozás » Elöltesztelős while ciklusból...

Elöltesztelős while ciklusból miért kell időnként "break" segítségével kilépni? (bővebben lent)

Figyelt kérdés

Láttam már többször is Pascal vagy Python kódokban olyat, hogy a cikluson belül "break" kilépést alkalmaznak, amikor az elöltesztelős ciklusfeltétel egyébként is teljesülne és kiléptetné a ciklus, vége lenne.

Miért kell a break?



2021. dec. 22. 15:27
 1/6 anonim ***** válasza:
64%

azért használnak breaket, mert nem akarják, hogy a ciklusban levő további kód lefusson



ciklus

-kód ami lefut

-break

-kód ami nem fut le

2021. dec. 22. 15:40
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
79%

"miért kell időnként "break" segítségével kilépni?"

Nem kell. Egyáltalán nem kell. De lehet. Olyankor szokás break-et használni, ha bizonyos feltételek teljesülésekor nem kell végigmenni a teljes loop-on.


Mondjuk van egy listád benne számok. A listában egy darab prim szám. A feladat, hogy megkeresd azt az egy számot, ami prim. Ugye elkezdesz végiglépkedni a listán és a számokat ellenőrzöd. De, ha megvan a prim szám, akkor már nem akarsz végigmenni a maradék számokon, ezért break-kel kilépsz.

2021. dec. 22. 15:44
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Például:

----

ciklus, amíg vannak adatok egy listában


__ha hibás az adat vagy a formátum, stb.

____hibajel beállít

____break

__'ha' blokk vége


__adat feldolgozása ...


ciklus vége

----


Megoldható break nélkül is, mondjuk egy else ágba tenni a feldogozást, de ez is teljesen jó, és picivel átláthatóbb, pláne ha menet közben többféle hibát is detektálni kell.

Amúgy a break egy sima ugró utasításra fordul le a ciklus végére (stack rendbetételre), szóval nem különösebben megterhelő végrehajtáskor.

2021. dec. 22. 18:54
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
23%

Nem kell, csak lehet. Ez a lényeg.


Amúgy, van más megoldás is, pl. ha a célodat elérted a ciklusmagban, akkor felhúzod a ciklusváltozót és kész.

2021. dec. 22. 21:12
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
0%
Aki break-et hasznal, az nem tud programozni.
2022. jún. 25. 11:10
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

#5 Sőt, a switch-case is ördögtől való. :)

Egyébként megsúgom, egy sima if() feltétel nem teljesülésekor is egy mezei GOTO fordul a kódba.

2022. jún. 27. 16:37
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!