Skirtumo tarp a for ir while ciklo supratimas
Iteracijos teiginiai C++, pvz., for loop, while loop ir do-while loop, leidžia pakartotinai vykdyti komandų rinkinį, kol sąlyga yra teisinga, o tada baigiasi, kai sąlyga yra klaidinga. Iteracijos teiginiai gali turėti iš anksto nustatytas sąlygas, pvz., cikle for, arba atvirojo tipo sąlygas, pvz., while ciklo.
C++ kalboje numanomi įvairūs „for“ ciklo variantai, siekiant padidinti kalbos pritaikomumą, galią ir lankstumą. Pavyzdžiui, ciklas for leidžia mums valdyti kilpą naudojant kelis jos viduje esančius kintamuosius, taip pat naudojant konvergavimo funkciją su kilpa „for“. Priešingai, negalime naudoti daugelio variacijų su while cikle; jis turi būti naudojamas su standartine sintaksė.
Yra keletas reikšmingų skirtumų tarp for ir while kilpų, kurie toliau paaiškinami naudojant palyginimo lentelę.
For Loop apibrėžiamas kaip
„Java“ yra dviejų tipų for kilpos. Pirmoji forma yra „tradicinė“, o antroji – „kiekvienam“.
Bendriausia for ciklo teiginio forma.
for (initialization; condition; iteration) { //body of for loop }
- Iteracijos teiginys yra išraiška, kuri padidina arba sumažina kilpą valdantį kintamąjį.
Kai ciklas vykdomas, pirmiausia įvykdoma inicijavimo sąlyga, o po to - būklės patikrinimas. Jei sąlyga įvykdoma, įvykdomas ciklo turinys, po kurio pateikiamas iteracijos sakinys. Tada sąlyga dar kartą patikrinama, siekiant nustatyti, ar ciklas kartosis toliau, ar baigsis.
„Java“ tiek inicijavimo, tiek iteracijos sakiniuose gali būti keli teiginiai. Kiekvienas teiginys atskiriamas kableliu; Java kalboje kablelis yra skyriklis; C++ kalboje kablelis yra operatorius, kurį galima naudoti bet kurioje galiojančioje išraiškoje.
Kiekvienos kilpos sintaksė
Forma „kiekvienam“ yra pažangesnė už ciklo versija. Kiekviena kilpa turi tokią bendrą formą.
for(type iter_variable: collection) statement-block
Parametras „type“ nurodo iteracijos kintamojo tipą, po kurio seka iteracijos kintamasis. Elementas iš rinkinio kintamojo bus perduotas iteracijos kintamajam. Tipas turi atitikti elementų tipą rinkinio kintamajame. For-kiekviena for ciklo forma automatizuoja ciklo iteraciją nuo pradžios iki pabaigos, pasiekdama reikšmes nuoseklia tvarka.
Pavyzdys
Yra įvairių tipų kolekcijų, kurias galima naudoti su už kilpa. Pakalbėkime apie tai naudodami masyvą kaip kolekciją.
public class Main { public static void main(String[] args) { int array[]={10, 20, 30, 40, 50, 60}; int add=0; for( int c: array) { System.out.println( 'value in c ' + c); add = add+c; } System.out.println('additon of array elements is ' +add); } }
Išvestis:
value in c 10 value in c 20 value in c 30 value in c 40 value in c 50 value in c 60 additon of array elements is 210
'c' šiuo atveju yra kartotinis kintamasis; ji gauna reikšmes iš masyvo[] po vieną, nuo žemiausio iki didžiausio masyvo indekso. Ciklas kartojamas tol, kol bus ištirti visi masyvo elementai. Kilpa gali būti nutraukta viduryje naudojant „pertrauką“. Kita vertus, iteracijos kintamojo pakeitimas neturi jokios įtakos masyvai, nes jis yra tik skaitomas kintamasis.
Nors kilpa apibrėžiama kaip
Ciklas while yra pati pagrindinė C++ ir Java kilpa. A while ciklo veikimas yra panašus C++ ir Java.
Sintaksė
Toliau pateikiama while ciklo deklaracija:
while ( condition) { statements; //body of loop }
Ciklas while pirmiausia patikrina sąlygą, o tada vykdo teiginius, kol sąlyga while cikle yra teisinga. Kai ciklo metu sąlyga gali būti bet kokia loginė išraiška. Kai išraiška grąžina ne nulį reikšmę, sąlyga yra teisinga; kai jis grąžina nulinę reikšmę, sąlyga yra klaidinga.
Jei sąlyga teisinga, ciklas kartojasi pats; jei sąlyga klaidinga, valdymas perduodamas kodo eilutei iškart po ciklo. Turinio ciklas arba teiginiai gali būti tuščias sakinys, vienas sakinys arba teiginių blokas.
Pavyzdys
Pažiūrėkime, kaip veikia laiko kilpa. Toliau pateiktame pavyzdyje kodas bus spausdinamas nuo 1 iki 10.
kas yra 10 iš 100
public class Main { public static void main (String args[]) { int n=0; while(n<10) { n++; system.out.println('n=" +n); } } } </pre> <p> <strong>Output:</strong> </p> <pre> n=1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n=10 </pre> <p>The initial value of " n' in this case is 0, which makes the condition while loop true. control then enters loop's body, where value of 'n' incremented accordance with first statement.< p> <p>The value of 'n' is printed, then control returns to the condition in a while loop, where the value of 'n' is now 1, satisfying the condition once more, and the body of the loop is executed once more. This continues until the condition becomes false, at which point the loop is terminated.</p> <p>The 'while' loop, like the 'for' loop, can initialise the control variable at the beginning of the loop, i.e. during condition checking.</p> <pre> //for example while((ch = getchar( ) ) != 'A') { System.out.println(' The input alphabet ' +ch); } </pre> <p>At the top of the loop, the control variable 'ch' is initialised, and the loop's condition is verified.</p> <h4>Note: If there is only one statement in the body of the loop, whether it is a for loop or a while loop, the curly braces are not required.</h4> <h3>In C, what is the difference between a for loop and a while?</h3> <table class="table"> <tr> <th>Parameters</th> <th>For Loop</th> <th>While Loop</th> </tr> <tr> <td> <strong>Declaration</strong> </td> <td>for(initialization ; condition ; iteration ) { <br> //body of 'for' loop <br> }</td> <td>initialization <br>while ( condition ) { <br>statements; <br>//body of loop <br>}</td> </tr> <tr> <td> <strong>Format.</strong> </td> <td>At the top of the loop, initialization, condition checking, and iteration statements are written.</td> <td>At the top of the loop, only initialization and condition checking are performed.</td> </tr> <tr> <td> <strong>Use.</strong> </td> <td>The 'for' loop was only used when the number of iterations was already known.</td> <td>When the number of iterations is unknown, the 'while' loop is used.</td> </tr> <tr> <td> <strong>Condition.</strong> </td> <td>If the condition is not included in the 'for' loop, the loop iterates indefinitely.</td> <td>If the condition is not included in the 'while' loop, a compilation error occurs.</td> </tr> <tr> <td> <strong>Initialization</strong> </td> <td>The initialization is never repeated in a 'for' loop.</td> <td>If initialization is performed during condition checking in a while loop, initialization is performed each time the loop iterates.</td> </tr> <tr> <td> <strong>Iteration assertion</strong> </td> <td>Because the iteration statement in the 'for' loop is written at the top, it executes only after all statements in the loop have been executed.</td> <td>The iteration statement in a 'while' loop can be written anywhere in the loop.</td> </tr> </table> <h2>The Key Differences Between for and while loop</h2> <ul> <li>Initialization, condition checking, and increment or decrement of iteration variables are all done explicitly in the loop syntax only. In contrast, in the while loop, we can only initialise and check the condition in the loop syntax.</li> <li>When we know the number of iterations that must occur in a loop execution, we use the for loop. On the other hand, if we do not know how many iterations must occur in a loop, we use a while loop.</li> <li>If you do not include a condition statement in the for loop, the loop will loop indefinitely. In contrast, failing to include a condition statement in the while loop will result in a compilation error.</li> <li>The initialization statement in the for loop syntax is only executed once at the beginning of the loop. If the while loop's syntax includes an initialization statement, the initialization statement will be executed each time the loop iterates.</li> <li>The iteration statement in the for loop will run after the body of the for loop. On the contrary, because the iteration statement can be written anywhere in the body of the while loop, there may be some statements that execute after the iteration statement in the body of the while loop is executed.</li> </ul> <h2>Conclusion</h2> <p>Loops are thus a collection of commands that must be used in a specific order. If the loop structure is incorrect, the programming will display the syntax error. Loops run to obtain a result or to satisfy a condition or set of conditions. It is the foundation of all programming languages.</p> <p>During execution, the loop structure asks a question and executes until the answer is satisfactory. The same question is asked again and again until the new statement is applied. The looping process continues indefinitely until the programme reaches a breakpoint. In the event that the breaking point is not reached, the programme will crash.</p> <p>The for and while loops are both conditional statements. A for loop is a single-line command that will be executed repeatedly. While loops can be single-lined or contain multiple commands for a single condition.</p> <p>Both the for loop and the while loop are important in computer languages for obtaining results. The condition is met if the command syntax is correct.</p> <p>Both the for loop and the while loop are iteration statements, but they have distinct characteristics. The for loop declares everything (initialization, condition, iteration) at the top of the loop body. In contrast, only initialization and condition are at the top of the body of the loop in a while loop, and iteration can be written anywhere in the body of the loop.</p> <hr></10)>
Ciklo viršuje inicijuojamas valdymo kintamasis „ch“ ir patikrinama ciklo būklė.
Pastaba: jei kilpos turinyje yra tik vienas teiginys, nesvarbu, ar tai kilpa for, ar ciklas while, riestiniai skliaustai nereikalingi.
Kuo C kalboje skiriasi „for“ ciklas ir „atime“?
Parametrai | Už Loop | Nors Loop |
---|---|---|
Deklaracija | for(inicializacija ; sąlyga ; iteracija ) { //ciklo „for“ turinys } | inicijavimas while ( sąlyga ) { pareiškimai; //kilpos korpusas } |
Formatas. | Ciklo viršuje rašomi inicijavimo, būklės tikrinimo ir iteracijos teiginiai. | Ciklo viršuje atliekama tik inicijavimas ir būklės patikrinimas. |
Naudokite. | „For“ kilpa buvo naudojama tik tada, kai jau buvo žinomas iteracijų skaičius. | Kai pakartojimų skaičius nežinomas, naudojama „while“ kilpa. |
Būklė. | Jei sąlyga neįtraukta į „for“ kilpą, ciklas kartojasi neribotą laiką. | Jei sąlyga neįtraukta į ciklą „while“, įvyksta kompiliavimo klaida. |
Inicijavimas | Inicializacija niekada nekartojama „for“ cikle. | Jei inicijavimas atliekamas tikrinant būklę tam tikroje cikloje, inicijavimas atliekamas kiekvieną kartą, kai ciklas kartojasi. |
Iteracijos tvirtinimas | Kadangi iteracijos sakinys „for“ cikle yra parašytas viršuje, jis vykdomas tik įvykdžius visus ciklo sakinius. | Iteracijos teiginys „while“ cikle gali būti parašytas bet kurioje ciklo vietoje. |
Pagrindiniai ciklo for ir while skirtumai
- Inicijavimas, būklės tikrinimas ir iteracijos kintamųjų padidinimas arba mažinimas atliekami tik ciklo sintaksėje. Priešingai, while cikle galime tik inicijuoti ir patikrinti ciklo sintaksės sąlygą.
- Kai žinome iteracijų, kurios turi įvykti ciklo vykdymo metu, skaičių, naudojame for kilpą. Kita vertus, jei nežinome, kiek iteracijų turi įvykti cikle, naudojame ciklą while.
- Jei neįtrauksite sąlygos sakinio į for kilpą, ciklas tęsis neribotą laiką. Priešingai, neįtraukus sąlygos teiginio į while kilpą, atsiras kompiliavimo klaida.
- Inicijavimo sakinys for ciklo sintaksėje yra vykdomas tik vieną kartą ciklo pradžioje. Jei while ciklo sintaksėje yra inicijavimo sakinys, inicijavimo sakinys bus vykdomas kiekvieną kartą, kai ciklas kartojasi.
- Iteracijos teiginys cikle for bus vykdomas po for ciklo pagrindo. Priešingai, kadangi iteracijos sakinys gali būti parašytas bet kurioje while ciklo dalyje, gali būti kai kurie teiginiai, kurie vykdomi po to, kai įvykdomas iteracijos sakinys while ciklo turinyje.
Išvada
Taigi kilpos yra komandų, kurios turi būti naudojamos tam tikra tvarka, rinkinys. Jei ciklo struktūra yra neteisinga, programavimas parodys sintaksės klaidą. Kilpos paleidžiamos norint gauti rezultatą arba įvykdyti sąlygą ar sąlygų rinkinį. Tai yra visų programavimo kalbų pagrindas.
Vykdymo metu ciklo struktūra užduoda klausimą ir vykdoma tol, kol atsakymas yra patenkinamas. Tas pats klausimas užduodamas vėl ir vėl, kol pritaikomas naujas teiginys. Kilpos procesas tęsiasi neribotą laiką, kol programa pasiekia lūžio tašką. Jei lūžio taškas nepasiekiamas, programa sugenda.
For ir while kilpos yra sąlyginiai teiginiai. Ciklas for yra vienos eilutės komanda, kuri bus vykdoma pakartotinai. Nors kilpos gali būti vienos eilutės arba turėti kelias komandas vienai sąlygai.
Ir ciklas for, ir while yra svarbūs kompiuterių kalbose norint gauti rezultatus. Sąlyga įvykdyta, jei komandos sintaksė yra teisinga.
Tiek for ciklas, tiek while ciklas yra iteracijos teiginiai, tačiau jie turi skirtingas savybes. Ciklas for deklaruoja viską (inicializaciją, sąlygą, iteraciją) ciklo korpuso viršuje. Priešingai, tik inicijavimas ir sąlyga yra ciklo korpuso viršuje, o ciklo iteracija gali būti įrašyta bet kurioje ciklo dalyje.
10)>