Kindel silmus vs määramata silmus
Silmus on koodiplokk, mida korratakse kindlaksmääratud arv kordi või kuni mõni tingimus on täidetud. Kindel tsükkel on silmus, mille käivitamise kordade arv on enne silmusse sisenemist teada. Määramata aja jooksul pole selle täitmise kordade arv ette teada ja see täidetakse seni, kuni mõni tingimus on täidetud.
Mis on kindel silmus?
Kindel tsükkel on silmus, mille käivitamise kordade arv on enne silmusse sisenemist teada. Korduvate iteratsioonide arv esitatakse tavaliselt täisarvu muutuja kaudu. Üldiselt peetakse silmuste jaoks kindlaid silmuseid. Järgnevalt on toodud näide kindla tsüklist, mis on rakendatud for loopi abil (Java programmeerimiskeeles).
jaoks (int i = 0; i <num; i ++)
{
// for loopi keha
}
Ülaltoodud silmus täidab oma keha mitu korda, mida num muutuja pakub. Seda saab määrata muutuja i algväärtuse ja tsükli tingimuse põhjal.
Kui silmusid saab kasutada ka kindlate silmuste rakendamiseks, nagu on näidatud allpool (Java-keeles).
int i = 0;
kuni ma
{
// aasa keha
i ++;
}
Kuigi see kasutab mõnda aega silmust, on see ka kindel tsükkel, kuna on eelnevalt teada, et tsükkel käivitab arvu muutujaga ette nähtud mitu korda.
Mis on määramata silmus?
Määramata aja jooksul pole selle täitmise kordade arv ette teada. Tavaliselt käivitatakse määramata silmus, kuni mõni tingimus on täidetud. Kui loope ja do-while silmusid kasutatakse tavaliselt määramatute silmuste rakendamiseks. Ehkki pole mingit konkreetset põhjust, miks mitte kasutada silmuste jaoks määramatute silmuste loomist, võiks määramata silmuseid korraldada korralikult, kui silmuseid kasutatakse. Mõned levinumad näited, mida peate määramatute tsüklite rakendamiseks, nõuavad sisendi lugemist, kuni kasutaja sisestab positiivse täisarvu, parooli lugemist, kuni kasutaja sisestab sama parooli kaks korda järjest jne.
Mis vahe on määratletud ja määramata aasadel?
Kindel tsükkel on silmus, mille käivitamise kordade arv on enne silmusse sisenemist ette teada, samas kui määramata silmus täidetakse seni, kuni mõni tingimus on täidetud ja mitu korda see käivitatakse ette. Sageli rakendatakse kindlaid tsükleid silmuste jaoks ja määramata silmusid, kasutades silmuseid while ja do-while. Kuid pole teoreetilist põhjust, miks mitte kasutada silmuseks määramatute silmuste jaoks ja silmuste jaoks kindlate silmuste jaoks. Kuid määramata silmusid saab silmusega korralikult korraldada, samas kui kindlaid silmusid saab silmuste jaoks korralikult korraldada.