Mi a különbség az elöltesztelős és a hátultesztelős ciklus között a Pascal-nál?
Ugyan az, mint minden nyelven.
Az elől tesztelős ciklusnak a magja lehet, hogy le sem fog futni, ha a vizsgált feltétel már első futásnál is hamisat ad.
Ezzel szemben a hátultesztelős magja egyszer legalább biztosan lefut.
Példa:
A ciklus magja az, hogy iszom egy pohár sört.
A feltétel, hogy van-e pénzem rá.
Az elöltesztelő ciklusnál először(!) a ciklus elején megnézem, van-e pénzem, és ha van, iszok. Ez ismétlődik. Ha eleve nincs egy kanyim sem, akkor nem ittam egy sört sem.
Hátultesztelőnél (a feltétel vizsgálat a ciklus végén van) először iszom egy sört, és utána kotorászom a zsebemben. Tehát ha nincs egy petákom sem, akkor is ittam egy pohár sört.
@Előző: That was fuckin' awesome! :D
(Leszámítva, hogy a kocsmáros NullPointerException -t dob, meg hősünket ki az ajtón...)
"a kocsmáros NullPointerException -t dob"
:DDD
Egy másik megközelítés:
Elöltesztelő:
.Ha <a bentmaradási feltétel hamis> akkor ugrás a ciklus vége után
.Ciklusmag
.Ciklus vége (ugrás a ciklus eleji vizsgálatra)
Hátultesztelő:
.Ciklus eleje (Ez csak egy cím, nincs végrehajtás)
.Ciklusmag
.Ha a bentmaradási feltétel igaz, akkor ugrás a ciklus elejére
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!