Kindel silmus vs määramatu silmus
Silmus on koodiplokk, mida korratakse kindlaksmääratud arv kordi või kuni mõni tingimus on täidetud. Kindel silmus on silmus, mille toimumiskordade arv on enne silmuse sisenemist ette teada. Tähtajatu ahela korral pole selle täitmiskordade arv ette teada ja see täidetakse seni, kuni mõni tingimus on täidetud.
Mis on kindel silmus?
Kindel silmus on silmus, mille toimumiskordade arv on enne silmuse sisenemist ette teada. Kordatavate iteratsioonide arv saadakse tavaliselt täisarvu kaudu. Üldiselt peetakse silmuseid kindlateks silmusteks. Järgnevalt on toodud näide kindla silmuse kohta, mis on rakendatud for-silmuse abil (Java programmeerimiskeeles).
jaoks (int i = 0; i < num; i++)
// silmuse korpus
Ülaltoodud silmus täidab oma keha mitu korda, mida pakub num muutuja. Selle saab kindlaks teha muutuja i algväärtuse ja ahela tingimuse põhjal.
Kuigi silmuseid saab kasutada ka kindlate silmuste rakendamiseks, nagu näidatud allpool (Java).
int i = 0;
kuni ma
// silmuse keha
i ++;
Isegi kui see kasutab mõnda aja silmust, on see ka kindel silmus, kuna on juba ette teada, et silmus kavatseb num muutuja pakutud arv kordi täita.
Mis on määramatu silmus?
Tähtajatu ahela korral pole selle arv mitu korda ette teada. Tavaliselt täidetakse määramata ahel, kuni mõni tingimus on täidetud. Ehkki määramatute silmuste rakendamiseks kasutatakse tavaliselt silmuseid ja ajutisi silmuseid. Ehkki pole konkreetset põhjust, miks mitte kasutada määramatute silmuste loomiseks silmuseid, võiks tähtajatute silmuste korrektselt korraldada, kasutades silmuseid. Mõned levinud näited, mida peate määramata silmuste rakendamiseks, paluvad sisendit lugeda seni, kuni kasutaja lisab positiivse täisarvu, loeb parooli, kuni kasutaja lisab sama parooli kaks korda järjest jne..
Mis vahe on Definite Loop ja Indefinite Loop vahel??
Kindel silmus on silmus, mille toimumiskordade arv on enne silmuse sisenemist juba ette teada, määramata ahelat aga teostatakse seni, kuni mõni tingimus on täidetud ja mitu korda see täidetakse, pole teada ette. Sageli rakendatakse kindlaid silmuseid silmuste abil ja määramatuid silmuseid rakendatakse, kasutades samasilmuseid ja aegseid silmuseid. Kuid pole teoreetilist põhjust, miks mitte kasutada määramata silmuste jaoks mõeldud silmuseid ja kindlate silmuste silmuseid. Kuid määramata aasad võiksid olla ahelsilmustega kenasti korraldatud, samas kui kindlad aasad võiksid aasade jaoks kenasti olla korraldatud.