Programmeerimisel võib esineda olukordi, mis on vajalikud lauseploki uuesti ja uuesti täitmiseks. Enamik programmeerimiskeeli toetavad erinevaid juhtimisstruktuure, näiteks silmuse jaoks, samas kui silmus ja tsükkel, et koodi korrata. Silmused võimaldavad avalduste komplekti täita mitu korda, kuni antud tingimus muutub valeks. Silmuse juurde kuuluvad väited sisalduvad paaris lokkis. Selles artiklis käsitletakse erinevust kahe juhtimisstruktuuri vahel: silmuse ajal ja tehke silmuse ajal. Samal ajal kui silmust kasutatakse avalduse või avalduste rühma korramiseks, kui antud tingimus on tõene. Enne ahelas olevate avalduste täitmist kontrollib see olukorda. Silmuse tegemise aeg sarnaneb samas silmusega. Kuid seisukorda kontrollitakse ahelas olevate avalduste täitmise lõpus. võtme erinevus vahel loop ja teha, kui loop on see, kui loop kontrollib tingimust enne ahelas olevate avalduste täitmist, samal ajal kui loop kontrollib tingimust pärast ahelas olevate avalduste täitmist.
1. Ülevaade ja peamised erinevused
2. Mis on aas
3. Mis on silmuses
4. Sarnasused vahel ja läbi silmuse
5. Võrdlus kõrvuti - samal ajal kui vs teevad, kui silmus on tabelikujuline
6. Kokkuvõte
Samal ajal kui silmus täidab sihtklahvi või avaldusi, kuni antud tingimus on tõene. Esiteks kontrollib samas kui ahel, kas tingimus on tõene või mitte. Kui tingimus on tõene, itreerib see silmust seni, kuni tingimus on tõene. Kui tingimus on vale, suunatakse juhtimine järgmisele koodireale kohe pärast silmust. Kuigi silmus võib sisaldada ühte avaldust või mitut avaldust. Vaadake allolevat programmi.
Joonis 01: silmusnäide
Vastavalt ülaltoodud programmile lähtestatakse muutuja x väärtuseks 1. Mõõtekontuuri avaldused toimivad seni, kuni x väärtus on väiksem või võrdne 5. Algselt on väärtus 1 ja tingimus tõene. Seetõttu prindib x. Siis suurendatakse x väärtust ühe võrra. Nüüd on x väärtus 2. See on väiksem kui või võrdne 5. Nii et x prindib. Jällegi suurendatakse x väärtust 1. Nüüd x on 3. See on väiksem kui või võrdne 5. Nii et x prindib uuesti ja seda suurendatakse ühe võrra. Nüüd on x 4. See on ka väiksem kui või võrdne 5. Niisiis, x prindib. X väärtust suurendatakse uuesti. Järgmisel iteratsioonil saab x väärtuseks 5. See on võrdne 5. Sellegipoolest on tingimus tõene. Seetõttu prindib x. X väärtust suurendatakse uuesti. See on 6. Kuid nüüd on tingimus vale, kuna 6 on suurem kui 5. Ahela täitmine lõpeb. Kui programmis pole juurdekasvu, on x väärtus alati 1. Tingimus on alati tõene, kuna see on väiksem kui 5. Seetõttu on see lõpmatu silmus.
Silmuse tegemise aeg sarnaneb samas silmusega. Kuid seisukorda kontrollitakse pärast silmuslausete täitmist. Seega, kas tingimus on tõene või vale, täidab silmus vähemalt ühe korra. Pärast silmuse täitmist kontrollitakse seisukorda. Kui tingimus on tõene, käivitatakse silmuseavaldused uuesti. Seda protsessi korratakse seni, kuni tingimus on vale. Vaadake allolevat programmi.
Joonis 02: tehke silmusnäide
Ülaltoodud programmi kohaselt lähtestatakse muutuja x väärtuseks 1. Silmus käivitab ja prindib x väärtuse. Siis suurendatakse x väärtust ühe võrra. Nüüd on see 2. Tingimus on tõene, nii et silmus täidetakse. X trükitakse ja suurendatakse. Nüüd on see 3. Tingimus on tõene, nii et silmus käivitub. X trükitakse ja suurendatakse uuesti. Nüüd on see 4. Tingimus on tõene. Silmus käivitub. X trükitakse ja suurendatakse. Nüüd x on 5. Ikka, tingimus on tõene, kuna see on väiksem kui või võrdne 5. Niisiis, silmus käivitub uuesti ja prindib x väärtuse. Siis suurendatakse x arvuga 1. Nüüd on x arv 6. Tingimus on vale. Silmuse täitmine lõpeb.
Oletame, et x initsialiseeritakse alguses 10-ga. Sellegipoolest käivitab ja prindib silmus x-i väärtuse, kuna tingimust testitakse silmuse lõpus. Seisundi kontrollimisel on see vale. Seetõttu silmuse täitmine lõpeb. Isegi kui tingimus on tõene või vale, täidab toiminguaeg vähemalt korra. See on protsess, mille jooksul silmus teha.
while vs do while loop | |
Kuigi silmus on juhtimisstruktuur, mis võimaldab koodi antud Boole tingimuse alusel korduvalt täita. | Silmus "Do while" on juhtimisstruktuur, mis käivitab koodiploki vähemalt üks kord ja seejärel täidab plokki korduvalt või mitte, sõltuvalt antud tõeväärtuse seisundist ploki lõpus. |
Tingimus seisundi kohta | |
Mingi silmuse seisundi avaldus on silmuse alguses. | Tingimuse avaldus toimingu silmuse kohta on silmuse lõpus. |
Hukkamine | |
Samas kui silmus täidetakse ainult siis, kui tingimus on tõene. | Tehke samal ajal saab vähemalt ühe korra käivitada, isegi kui tingimus on vale. |
Programmeerimisel tuleb mõnikord ikka ja jälle täita mõni avaldus. Selleks kasutatakse juhtimisstruktuure. Kaks neist on samal ajal ja teevad ringi. Selles artiklis käsitleti erinevust silmuse ja loo vahel. Samal ajal kui silmust kasutatakse avalduse või avalduste rühma korramiseks, kui antud tingimus on tõene. Kui teha silmus, siis kontrollitakse seisundit silmuse sees olevate avalduste täitmise lõpus. Silmuse tegemine sarnaneb loop-i toiminguga, kuid loop-i teostamine võib vähemalt ühe korra käivitada, isegi kui tingimus on tõene või vale. Erinevus silmuse ja tegemise ajal silmuse vahel on see, et kui silmus kontrollib tingimust enne ahelas olevate avalduste täitmist, samal ajal kui silmus kontrollib tingimust pärast silmuse sees olevate avalduste täitmist.
1. "Kuigi silmus." Vikipeedia, Wikimedia Foundation, 17. veebruar 2018. Saadaval siin
2. "Tee samal ajal silmusena." Vikipeedia, Wikimedia Foundation, 17. veebruar 2018. Saadaval siin
3.Punkt, juhendid. “C silmused”. Õppematerjalide punkt, 8. jaanuar 2018. Saadaval siin