"For" tsüklit kasutatakse ainult siis, kui iteratsioonide arv on juba teada. Silmust 'while' kasutatakse siis, kui iteratsioonide arv pole eelnevalt teada.
Arvutid töötavad kõrgetasemelistel keeltel, nagu C, C++, Java, Python jne. Arvutikeeled aitavad meil saada tulemusi, mida on raske käsitsi hankida.
Need kõrgetasemelised keeled töötavad määratletud käskude struktuuri alusel. Kõrgetasemelistes keeltes kasutatavate käskude üks põhistruktuure on "silmused".
Silmus on käsk, mis kipub soovitud tulemuse saavutamiseks end kordama. Teisisõnu, programmeerimiskäsk, mis teatud tingimuste täitmiseks kordab end teadaoleva arvu või teadmata arvu kordi, määratletakse tsüklina.
On erinevaid silmuseid, näiteks for loop, while loop, if loop, if-else tsükkel, if-else-if silmus jne. Kuid kõige sagedamini kasutatakse silmuseid for ja while.
Võtme tagasivõtmine
- "Silmuste jaoks" kasutatakse siis, kui iteratsioonide arv on ette teada, pakkudes konkreetne alguspunkt, lõpp-punkt ja silmusloenduri juurdekasv.
- Kui tsüklit kasutatakse siis, kui iteratsioonide arv ei ole ette määratud, ja silmus jätkab täitmist seni, kuni antud tingimus jääb tõeseks.
- Koodiploki korduvaks täitmiseks kasutatakse nii tsüklit kui ka while tsüklit, kuid nende vahel valik sõltub sellest, kas iteratsioonide arv on teada või põhineb konkreetsel tingimusel.
For loop vs While loop
For tsükli ja while tsükli erinevus seisneb selles, et for tsükli puhul on tehtavate iteratsioonide arv juba teada ja seda kasutatakse teatud tulemuse saamiseks. Mõne aja tsükli jooksul käitatakse käsku, kuni saavutatakse konkreetne tingimus, ja avaldus osutub valeks.
Võrdlustabel
Võrdluse parameeter | Silmuse jaoks | Kuigi silmus |
---|---|---|
käsk | For silmuse struktuur on - for(algne tingimus; iteratsioonide arv){//tsükli keha } | while-tsükli struktuur on While(condition){laused;//body} |
Kordused | Kordub eelseadistatud arv kordi. | Kordab, kuni tingimus on täidetud. |
Tingimus | Ilma tingimuseta kordub tsükkel lõpmatu arv kordi, kuni jõuab katkestuskäsuni. | Tingimuse puudumisel näitab while tsükkel viga. |
Vormindamine | For loopi lähtestamine toimub ainult üks kord, kui programm käivitub. | Initsialiseerimine toimub iga kord, kui tsüklit itereeritakse. |
Kasutama | Kasutatakse tulemuse saamiseks ainult siis, kui iteratsioonide arv on teada. | Kasutatakse tingimuse rahuldamiseks, kui iteratsioonide arv on teadmata. |
Mis on For loop?
Silmust, milles juhtlauset tulemuse saamiseks eelnevalt teadaoleva arvu kordi täidetakse, nimetatakse tsükliks for a. Võib öelda, et for loop on korduv käsk.
For tsüklis juhib käsku muutuja. Iga kord, kui tsükkel kordub, saab eelmääratletud muutuja uue väärtuse.
For loop on komplekt kolmest segmendist -
- Vormindamine
- Tingimus
- Värskendus
Silmuse lähtestamise ajal muutuja algväärtus on deklareeritud. See silmus nõuab initsialiseerimist ainult üks kord.
Pärast lähtestamist kontrollib kompilaator, kas tingimus on tegelik või mitte; kui see on tõsi, jätkab tsükkel itereerimist, kuni saavutatakse etteantud iteratsioonide arv.
Mis on Kuigi silmus?
Ajatsükkel on see, kui käsk kordab ebakindlat arvu kordi, kuni tingimus on õige. Kui tingimus on osutunud valeks, peatub käsu iteratsioon.
Initsialiseerimine while-tsüklis tehakse iga kord, kui silmus itereerub. Kompilaator kontrollib tingimust ja kui see osutub valeks, hüppab tsükkel järgmise väite juurde.
Ajasilmus töötab järgmisega süntaks-
- Kuigi(seisund){
- // kood
- //loop body}
Kui while-tsükli algustingimus puudub, itereerub see lõputult. While-tsüklis muutuja jaoks uut väärtust ei looda; ainult tingimus on täidetud.
While-tsüklis kontrollitakse tingimust enne iteratsiooni, seetõttu nimetatakse seda ka eeltesti tsükliks.
Peamised erinevused Silmuse ja While tsükli jaoks
- For-tsükli puhul on läbiviidavate iteratsioonide arv juba teada, samas kui tsüklis on iteratsioonide arv teadmata.
- Silmus sisaldab ainult ühte tingimust, samas kui tsükkel võib sisaldada käskude komplekti, mida tuleb täita koos.
- For-tsüklis tehakse käsu lähtestamine ainult üks kord, kuid mõne aja tsükli puhul on käsu lähtestamist vaja iga kord, kui käsu iteratsiooni tehakse.
- Kui tsüklis tingimus puudub, kordub tsükkel lõpmatu arv kordi, samas kui while-tsükkel näitab tingimuse puudumisel viga.
- For loopi saab kasutada ainult teadaoleva arvu iteratsioonide korral, samas kui tsüklit kasutatakse ainult siis, kui iteratsioonide arv pole teada.
- https://link.springer.com/chapter/10.1007/11589990_144
- https://www.date-conference.com/proceedings-archive/PAPERS/2011/DATE11/PDFFILES/06.6_1.PDF
Viimati värskendatud: 11. juunil 2023
Sandeep Bhandaril on arvutite bakalaureusekraad Thapari ülikoolist (2006). Tal on 20-aastane kogemus tehnoloogia vallas. Ta tunneb suurt huvi erinevate tehnikavaldkondade, sealhulgas andmebaasisüsteemide, arvutivõrkude ja programmeerimise vastu. Tema kohta saate tema kohta rohkem lugeda bio-leht.
Ma arvan, et see postitus lihtsustab silmuste kontseptsiooni liialt, selles on midagi enamat kui lihtsalt for and while tsüklid
Nõustun, on ka teist tüüpi silmuseid, mida võiks uurida
See oli minu jaoks natuke liiga tehniline, et oleksin teretulnud lihtsamale lähenemisele
Leidsin, et see on selge ja arusaadav, kuid ma mõistan, miks see võib teiste jaoks raske olla
Ma tean, mida sa mõtled, see võib programmeerimisega mitte kursis olevale inimesele olla pisut üle jõu käiv
Kui sarkasm kõrvale jätta, siis see on hästi läbimõeldud ja abistav võrdlus, au autorile
Nõustun, autor tegi kahe tsükli erinevuste illustreerimisel suurepärase töö
Suurepärane võrdlus for- ja while-tsüklite vahel, väga hästi selgitatud
See postitus oli tõeliselt valgustav, see aitas mul mõisteid paremini mõista
Ma ei nõustu for- ja while-silmuste võrdlusega, seletus puudub
Erinevate arvamuste olemasolu on okei, millistest üksikasjadest jäi teie arvates puudu?
Leidsin, et for- ja while-silmuste selgitus on informatiivne ja kergesti mõistetav
See oli tõepoolest informatiivne, hindasin pakutud selgust
Nõus, silmuste lagunemisest oli palju abi
Postitus pakub selget ja lühidalt vahet for- ja while-tsüklite vahel, suurepärane töö
Ma leidsin, et seletus on liiga lühike, oleks võinud olla rohkem üksikasju
Ma ei saanud rohkem nõustuda, võrdlus oli põhjalik ja arusaadav
Väga informatiivne ja üksikasjalik selgitus for loop ja while loop erinevuste kohta, suurepärane postitus!
Nõustun, see on väga hästi kirjutatud ja hariv artikkel
Postitus oli minu maitse jaoks natuke liiga tehniline, kuid siiski leidsin, et see on kasulik
Ma tunnen sama, see oli üsna tehniline, kuid kasulik sellegipoolest