Mi a különbség a for, while és a do while ciklusok között?
Hihetetlen ennyinek nem tudsz utánajárni?
Nem vagyok az a beszólogatós típus itt de ez tényleg nagyon durva.
while elősször feltételt-vizsgál do while lefut majd feltételt vizsgál for itt ugyan az a helyzet mint a while nál csak itt definiálhatsz változót is és valamilyen műveletet is végezhetsz benne.
for(int i = 0; i < 5; ++i) {}
létrejön a változó(i) megvizsgáljuk hogy igaz e a feltétel majd a ciklus lefutása után eggyel való növelés jön.
A for és a while előltesztelős ciklusok (a ciklusmag lefutása előtt ellenőrzik a feltételt), míg a do-while hátultesztelős (a ciklusmagot először lefuttatja, és utána ellenőrzi a feltételt). Utóbbi jól használható olyan esetben, amikor legalább egyszer le akarod futtatnia ciklusodat.
A for és a while közti különbség ellenben már ködösebb. Inkább konvencionális, melyiket mire használjuk, lévén a kettő többé-kevésbé felcserélhető egymással. mondhatjuk, hogy a while a for ciklusnak egy butított formája, a for ciklus rendelkezik egy inicializálással, egy feltétellel, és egy léptetéssel. (pl for (int i=0; i<10; i++)
A while ciklus ellenben kizárólag egy feltételt foglal magában. A for ciklusban leírt léptetést bevíve a while ciklus ciklusmagjába kiváltható hasonló eredmény, az egyetlen lényegi különbség hogy a while esetébena cikluson kívül kell deklarálni a ciklusváltozót (előbbi példában: int i=0), ami így a cikluson kívül is elérhető lesz, míg a for ciklus esetében csak a ciklus végéig tart az élettartama. Apró különbség.
A különbség, mint mondtam, konvencionális, tehát megegyezésen alapuló, hogy melyiket mikor használjuk. For ciklust használunk akkor, ha a ciklust meghatározott alkalommal akarjuk ismételni (pl egy tömbön való végigiterálásnál a tömb elemszáma, vagy egy beolvasott számérték, stb), a lényeg, hogy ez esetben mondhatni "megszámláljuk" a ciklus ismétlődéseit. A while esetében pedig általában nem ismerjük előre, mikor fog kilépni a ciklus, nem tudjuk, hány ismétlődés után fog teljesülni a ciklus kilépési feltétele. (például addig iterálunk egy integer tömbön, amíg nem találunk páros számot, ez esetben nem tudjuk számosítani előre, hanyadik számnál fogunk kilépni). Tehát for a megszámlálható ismétlődésekre, és a while egyéb feltételek esetén.
"A for ciklusban leírt léptetést bevíve a while ciklus ciklusmagjába kiváltható hasonló eredmény, az egyetlen lényegi különbség hogy a while esetébena cikluson kívül kell deklarálni a ciklusváltozót (előbbi példában: int i=0), ami így a cikluson kívül is elérhető lesz, míg a for ciklus esetében csak a ciklus végéig tart az élettartama. Apró különbség."
Attól függ melyik nyelvben ám. Pl c# ban egy ciklusra lokális változó lokális a ciklust tartalmazó blokkra is.
Szal c# ban egy for ciklusban létrehozott változó hatóköre nem csak a ciklusra hanem a ciklust tartalmazó blokkra is kiterjed.
"Nem arról van szó ,hogy nem tudnék utána járni csak itt egyszerűbb megkérdezni és nem telik annyi munkával.Köszi a segítséget."
Szerintem meg ilyen egyszerű kérdésekre még magyar nyelven is könnyen található magyarázat. és sokkal gyorsabban mint hogy várnod kellett 5 percet egy válaszra
"Nem arról van szó ,hogy nem tudnék utána járni csak itt egyszerűbb megkérdezni és nem telik annyi munkával.Köszi a segítséget."
Más szavakkal szeretsz másokat ugráltatni és szerencsére vannak balekok akik ugranak is és a saját szabadidejüket rád fordítják, mikor még te se veszel annyi fáradtságot, hogy 5 percet rászánj. Tetszik a hozzáállásod. Egy tippet azért adnék: legközelebb írd a kérdésbe a programozási nyelvet is, mert más nyelveken más-mást jelenthet és 1 nyelven belül is több jelentése lehet.
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!