logo

Cilpai salīdzinājumā ar kamēr cilpu

Izpratne par atšķirību starp for cilpu un while cilpu

Iterācijas priekšraksti programmā C++, piemēram, for loop, while loop un do-while cilpa, ļauj atkārtoti izpildīt instrukciju kopu, līdz nosacījums ir patiess, un pēc tam tiek pārtraukts, kad nosacījums ir nepatiess. Iterācijas priekšrakstiem var būt iepriekš definēti nosacījumi, piemēram, for cilpa, vai atvērti nosacījumi, piemēram, kamēr cilpa.

C++ valodā tiek izmantotas dažādas “for” cilpas variācijas, lai palielinātu valodas pielietojamību, jaudu un elastību. Piemēram, cilpa for ļauj mums kontrolēt cilpu, izmantojot tajā vairākus mainīgos lielumus, kā arī izmantojot konverģēšanas funkciju ar cilpu “for”. Turpretim mēs nevaram izmantot daudzas variācijas ar while cilpu; tas ir jāizmanto ar standarta sintaksi.

Pastāv dažas būtiskas atšķirības starp for un while cilpām, kuras sīkāk izskaidro, izmantojot salīdzināšanas diagrammu.

Cilpai salīdzinājumā ar kamēr cilpu

For Loop ir definēts kā

Java ir divu veidu for cilpas. Pirmā ir “tradicionālā” forma, bet otrā ir forma “katram”.

Vispārīgākā for cilpas priekšraksta forma.

 for (initialization; condition; iteration) { //body of for loop } 
    Inicializācija:For cilpas cilpas vadības mainīgais tiek inicializēts tikai vienu reizi, cilpas pirmās iterācijas laikā. Šeit tiek inicializēts cilpas kontrolējošais mainīgais; ja cilpas mainīgais nekad vairs netiek izmantots programmā un tiek izmantots tikai kā cilpas kontrolējošais mainīgais, tas tiek gan deklarēts, gan inicializēts cilpā “for”.Stāvoklis:Cilpas nosacījums “for” tiek izpildīts katru reizi, kad cilpa tiek atkārtota.
  • Iterācijas paziņojums ir izteiksme, kas palielina vai samazina cilpas kontrolējošo mainīgo.

Kad cilpa tiek izpildīta, vispirms tiek izpildīts inicializācijas nosacījums, kam seko stāvokļa pārbaude. Ja nosacījums ir izpildīts, tiek izpildīts cilpas pamatteksts, kam seko iterācijas paziņojums. Pēc tam nosacījums tiek vēlreiz pārbaudīts, lai noteiktu, vai cilpa atkārtosies tālāk vai beigsies.

Java gan inicializācijas, gan iterācijas priekšrakstos var būt vairāki priekšraksti. Katru paziņojumu atdala ar komatu; Java valodā komats ir atdalītājs; valodā C++ komats ir operators, ko var izmantot jebkurā derīgā izteiksmē.

Katras cilpas sintakse

For-katram veidlapa ir uzlabota for cilpas versija. Katrai cilpai ir šāda vispārīgā forma.

 for(type iter_variable: collection) statement-block 

Parametrs “type” norāda iterācijas mainīgā veidu, kam seko iterācijas mainīgais. Elements no kolekcijas mainīgā tiks nodots iterācijas mainīgajam. Veidam ir jāatbilst kolekcijas mainīgā elementu veidam. For cilpas katra forma automatizē cilpas iterāciju no sākuma līdz beigām, piekļūstot vērtībām secīgā secībā.

Piemērs

Ir dažāda veida kolekcijas, kuras var izmantot ar for cilpu. Parunāsim par to, izmantojot masīvu kā kolekciju.

 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); } } 

Izvade:

multipleksēšana
 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” šajā gadījumā ir iterācijas mainīgais; tas saņem vērtības no masīva[] pa vienam, no zemākā līdz augstākajam indeksam masīvā. Cilpa atkārtojas, līdz tiek pārbaudīti visi masīva elementi. Cilpu var pārtraukt vidū, izmantojot 'break'. No otras puses, iterācijas mainīgā izmaiņas neietekmē masīvu, jo tas ir tikai lasāms mainīgais.

Kamēr cilpa ir definēta kā

Cilpa while ir visvienkāršākā cilpa gan C++, gan Java. A while cilpas darbība ir līdzīga C++ un Java.

Sintakse

Tālāk ir norādīta while cilpas deklarācija:

tīmekļa pārlūkprogrammas iestatījumi
 while ( condition) { statements; //body of loop } 

Cilpa while vispirms pārbauda nosacījumu un pēc tam izpilda paziņojumus, līdz nosacījums while cilpā ir patiess. Laika cilpas laikā nosacījums var būt jebkura Būla izteiksme. Ja izteiksme atgriež vērtību, kas nav nulle, nosacījums ir patiess; kad tas atgriež nulles vērtību, nosacījums ir nepatiess.

Ja nosacījums ir patiess, cilpa atkārtojas pati; ja nosacījums ir nepatiess, vadība tiek nodota koda rindai tūlīt pēc cilpas. Pamatteksta cilpa vai priekšraksti var būt tukšs priekšraksts, viens priekšraksts vai priekšrakstu bloks.

Piemērs

Apskatīsim, kā darbojas laika cilpa. Tālāk esošajā piemērā kods tiks drukāts no 1 līdz 10.

 public class Main { public static void main (String args[]) { int n=0; while(n<10) { n++; system.out.println('n=" +n); } } } &lt;/pre&gt; &lt;p&gt; &lt;strong&gt;Output:&lt;/strong&gt; &lt;/p&gt; &lt;pre&gt; n=1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n=10 &lt;/pre&gt; &lt;p&gt;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 &apos;n&apos; is printed, then control returns to the condition in a while loop, where the value of &apos;n&apos; 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 &apos;while&apos; loop, like the &apos;for&apos; loop, can initialise the control variable at the beginning of the loop, i.e. during condition checking.</p> <pre> //for example while((ch = getchar( ) ) != &apos;A&apos;) { System.out.println(&apos; The input alphabet &apos; +ch); } </pre> <p>At the top of the loop, the control variable &apos;ch&apos; is initialised, and the loop&apos;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 &apos;for&apos; 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 &apos;for&apos; loop was only used when the number of iterations was already known.</td> <td>When the number of iterations is unknown, the &apos;while&apos; loop is used.</td> </tr> <tr> <td> <strong>Condition.</strong> </td> <td>If the condition is not included in the &apos;for&apos; loop, the loop iterates indefinitely.</td> <td>If the condition is not included in the &apos;while&apos; loop, a compilation error occurs.</td> </tr> <tr> <td> <strong>Initialization</strong> </td> <td>The initialization is never repeated in a &apos;for&apos; 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 &apos;for&apos; 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 &apos;while&apos; 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&apos;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)>

Cilpas augšpusē tiek inicializēts vadības mainīgais 'ch' un tiek pārbaudīts cilpas stāvoklis.

Piezīme. Ja cilpas pamattekstā ir tikai viens priekšraksts, neatkarīgi no tā, vai tas ir for cilpa vai while cilpa, cirtaini skavas nav nepieciešami.

Kāda ir atšķirība starp for cilpu un laiku C valodā?

Parametri For Loop Kamēr Loop
Deklarācija for(inicializācija ; nosacījums ; iterācija ) {
//cilpas 'for' pamatteksts
}
inicializācija
kamēr ( nosacījums ) {
paziņojumi;
//cilpas korpuss
}
Formāts. Cilpas augšpusē ir rakstīti inicializācijas, stāvokļa pārbaudes un iterācijas paziņojumi. Cilpas augšdaļā tiek veikta tikai inicializācija un stāvokļa pārbaude.
Izmantot. 'For' cilpa tika izmantota tikai tad, kad iterāciju skaits jau bija zināms. Ja iterāciju skaits nav zināms, tiek izmantota cilpa “while”.
Stāvoklis. Ja nosacījums nav iekļauts cilpā “for”, cilpa atkārtojas bezgalīgi. Ja nosacījums nav iekļauts cilpā “while”, rodas kompilācijas kļūda.
Inicializācija Inicializācija nekad netiek atkārtota 'for' cilpā. Ja inicializācija tiek veikta stāvokļa pārbaudes laikā kamēr cilpas laikā, inicializācija tiek veikta katru reizi, kad cilpa atkārtojas.
Iterācijas apgalvojums Tā kā iterācijas priekšraksts cilpā “for” ir rakstīts augšpusē, tas tiek izpildīts tikai pēc tam, kad visi cilpas priekšraksti ir izpildīti. Iterācijas paziņojumu cilpā “while” var ierakstīt jebkurā cilpas vietā.

Galvenās atšķirības starp cilpu for un while

  • Inicializācija, stāvokļa pārbaude un iterācijas mainīgo palielināšana vai samazināšana tiek veikta tikai cilpas sintaksē. Turpretim cilpas while mēs varam tikai inicializēt un pārbaudīt nosacījumu cilpas sintaksē.
  • Kad zinām iterāciju skaitu, kurām jānotiek cilpas izpildē, mēs izmantojam for cilpu. No otras puses, ja mēs nezinām, cik iterāciju ir jānotiek cilpā, mēs izmantojam kamēr cilpu.
  • Ja cilpā for neiekļaujat nosacījumu priekšrakstu, cilpa tiks cilāta bezgalīgi. Turpretim, ja netiek iekļauts nosacījuma paziņojums while cilpā, radīsies kompilācijas kļūda.
  • Inicializācijas priekšraksts for cilpas sintaksē tiek izpildīts tikai vienu reizi cilpas sākumā. Ja while cilpas sintakse ietver inicializācijas paziņojumu, inicializācijas paziņojums tiks izpildīts katru reizi, kad cilpa atkārtojas.
  • Iterācijas priekšraksts for cilpā tiks palaists pēc for cilpas pamatteksta. Gluži pretēji, tā kā iterācijas priekšraksts var tikt ierakstīts jebkur while cilpas pamattekstā, var būt daži paziņojumi, kas tiek izpildīti pēc iterācijas priekšraksta izpildes while cilpas pamattekstā.

Secinājums

Tādējādi cilpas ir komandu kopums, kas jāizmanto noteiktā secībā. Ja cilpas struktūra ir nepareiza, programmēšana parādīs sintakses kļūdu. Cilpas darbojas, lai iegūtu rezultātu vai izpildītu nosacījumu vai nosacījumu kopu. Tas ir visu programmēšanas valodu pamats.

Izpildes laikā cilpas struktūra uzdod jautājumu un izpilda, līdz atbilde ir apmierinoša. Tas pats jautājums tiek uzdots atkal un atkal, līdz tiek piemērots jaunais paziņojums. Cilpas process turpinās bezgalīgi, līdz programma sasniedz pārtraukuma punktu. Gadījumā, ja lūzuma punkts netiek sasniegts, programma avarēs.

Gan for, gan while cilpas ir nosacījuma priekšraksti. For cilpa ir vienas rindas komanda, kas tiks izpildīta atkārtoti. Lai gan cilpas var būt vienas rindas vai satur vairākas komandas vienam nosacījumam.

Gan for cilpa, gan while cilpa ir svarīgas datoru valodās rezultātu iegūšanai. Nosacījums ir izpildīts, ja komandas sintakse ir pareiza.

Gan for cilpa, gan while cilpa ir iterācijas paziņojumi, taču tiem ir atšķirīgas īpašības. For cilpa deklarē visu (inicializāciju, stāvokli, iterāciju) cilpas pamatteksta augšdaļā. Turpretim tikai inicializācija un nosacījumi atrodas cilpas pamatteksta augšdaļā, kamēr cilpas laikā, un iterāciju var ierakstīt jebkur cilpas pamattekstā.