pls jaky je rozdil mezi temihle dvema cyklym, nejak to nemuzu pochopit....
for - daný počet opakování
while - opakuje se dokud platí podmínka
for taky opakuje dokud neni platna podminka.
Narozdil od whle ma vsak (de)inkrementacni cast. Coz u while lze napsat jen dovnitr cyklu.
Nevim jak moc je to pravda, ale slysel jsem ze for je rychlejsi nez while.
jj, něco na tom bude. While ti ale může ověřovat i logickou podmínku, for imho jen počet (de- nebo inkrementovaný)
http://mirrors.inway.cz/manual/cs/control-structures.php
mezi for(;;) a while(1) je rozdil nepatrny ;-)
ja bych rekl takhle:
for - pouziva se tam, kde je pocet opakovani predem znam, napr. pro vsechny prvky pole (i kdyz pocet prvku pole neni znam pri zapisu kodu), pro vsechny hodnoty od a do b
while - pouziva se tam, kde neni predem znam pocet opakovani
jinak myslim neni problem prepsat while na for a opacne, jde spis o tu citelnost
for je rozsireny while
jak pise tonik kdyz napisete
for (;podminka;) {
# prikazy
}
tak je to to same jako
while (podminka) {
# prikazy
}
taky
$i = 0;
while ( $i <10 ) {
#prikazy
$i++;
}
je stejne jako
for ($i=0; $i<10; $i++ ) {
#prikazy
}
podminky k ukonceni cyklu muzou byt stejne slozite u for i while
btw
jeste je tu cyklus
do {
#prikazy
} while (podm)
rozdil mezi "while (podm.) { ...}" a "do { .. } while(podm.)" je jen v tom, ze se testuje podminka na zacatku, resp. konci cyklu.nic jinyho. To for (;podminka;) a while (podminka) - asi tak stejnej rozdil, jako mezi variaci(5,5) a permutaci(5)... mozna,ze while je pro toto nejaky optimalizovanejsi...
donny, uz jsem ze skoly nejaky ten patek, tak nevim, ale mam pocit ze variace(5,5) a permutace(5) dava stejne vysledky. To pro takove jako ja musis explicitne napsat, jinak to nepochopi... Tedy doufam, ze jsem to trefil.
Mam pocit, ze while nijak optimalizovanejsi neni.... to spis for, pokud v nem nejsou zakerne podminky, tak se da predepsat jako cyklus s pevnym poctem kroku....
>ale mam pocit ze variace(5,5) a permutace(5) dava stejne vysledky
no prave,tim chci rict,ze je to ve vysledku to same...
>Mam pocit, ze while nijak optimalizovanejsi neni.
chtel jsem rict samozrejme for, ne while.
Často používám for, kde bych normálně měl použít spíše while. Například potřebuju vypsat nějaké nalezené výsledky z databáze a před každý výsledek hodit postupně se zvětšující číslo. Na to je lepší for.
A další dobrá věc je, že není nutné inkrementovat či dekrementovat... můžete (krom nicnedělání) třeba zdvojnásobovat :)