internetul Windows. Android

Foreach skip iteration. Ciclu imbricat pentru

Operatorul Continue este utilizat numai în cicluri. În operatori, în timp ce, faceți în timp ce , operatorul Continue transmite partea rămasă a codului corpului ciclului și trece la următoarea iterație a ciclului. Luați în considerare un fragment de cod cu operatorul Continue.

/ / Exemplu de utilizare a operatorului Continue: INT Count \u003d 0; Faceți // începeți o fac în timp ce ciclul (număr ++) în timp ce (număr< 10)

Uită-te cu atenție în exemplul de mai sus și veți vedea că faceți în timp ce este infinit, deoarece fiecare iterație de ciclu duce la operatorul Continue, care ignoră creșterea numărului de numărători a numărului și merge la următoarea iterație a ciclului . Astfel, valoarea din variabila de numărare nu se schimbă, ceea ce înseamnă că starea va fi întotdeauna adevărată. Vom dezvolta un program cu Operatorul Continue. Programul ar trebui să funcționeze ciclic. În interiorul ciclului, este necesar să se organizeze intrarea numerelor. Dacă numărul de la 0 la 10 este introdus inclus, este necesar să imprimați pătratul acestui număr, altfel utilizând operatorul Continuare pentru a sări peste operatorul elastic în piață a numărului introdus. Odată cu introducerea unui număr negativ, ieșiți din ciclu.

<< "Enter number: "; cin >\u003e In_number; // citiți numărul introdus la variabila in_number dacă (in_number\u003e 10 || in_number< 0) // если введённое число не входит в заданный интервал continue; // переход на следующую итерацию цикла do while cout << "square = " << in_number * in_number << endl; // возводим в квадрат введённое число } while (in_number >

Ciclismul în program organizează - faceți-o în timp ce. În ciclu, mai întâi citiți numărul introdus în variabila in_number, după care condițiile sunt verificate în instrucțiunea IF. Condiția situației de selecție condiționată este adevărată dacă numărul introdus este strict mai mic decât zero sau strict mai mare de 10. Intervalul specificat - numărul preluat din acest interval este construit în piață. Adevărul condițiilor duce la executarea operatorului de continuare în rândul 15.. Iar operatorul Continue lipsește operatorii în rândul 16.Și continuă să verifice continuarea facerii ciclului. Condiția din ciclu va fi cu adevărat până când numerele introduse sunt strict mai mari decât 0. Rezultatul programului este prezentat în Figura 3.

Introduceți numărul: 15 Introduceți numărul: 11 Introduceți numărul: 5 pătrat \u003d 25 Introduceți numărul: 9 pătrat \u003d 81 Introduceți numărul: -23 Pentru a continua, apăsați orice tastă. . .

Figura 3 - Operatorul de connale în C ++

În primul rând, numerele 15 și 11 au fost introduse, aceste numere nu sunt incluse în intervalul specificat și, prin urmare, pătratul acestor numere nu a fost calculat. Numerele 5 și 9 aparțin intervalului specificat, ceea ce înseamnă că programul ar trebui să-și calculeze pătratele. Când numărul negativ de făcut în timp ce și-a terminat activitatea. Acum vom redo acest program, astfel încât să puteți face fără a continua operatorul, adică vom scrie echivalentul operatorului Continue.

// continuare.cpp: Determină punctul de intrare pentru aplicația consolei. #Include "stdafx.h" #include Utilizarea spațiului de nume STD; Int principal (int argc, char * argv) (int in_number; // variabil pentru stocarea numărului introdus DO (Cout<< "Enter number: "; cin >\u003e In_number; // citiți numărul introdus la in_number dacă variabila (in_number<= 10 && in_number >\u003d 0) // Dacă numărul introdus intră în intervalul // Continuați; // trecerea la următoarea iterație a acestora, în timp ce ciclul cout<< "square = " << in_number * in_number << endl; // возводим в квадрат введённое число } while (in_number >\u003d 0); // În timp ce numărul introdus este mai mult sau mai egal cu zero, ciclul va funcționa sistemul ("Pauză"); Retur 0; )

În programul echivalent fără operatorul continuu, codul a scăzut cu o singură linie - comentată rândul 15.. Starea operatorului de selecție condiționată dacă sa schimbat. Rândul 16.- acesta este organismul operatorului dacă, prin urmare, dacă condiția în cazul în care este efectuată cu adevărat de către operator Rândul 16..

Mulți programatori consideră că întreruperea și continuarea operatorilor încalcă structura codului programului și preferă să facă fără ele. Deci, dacă este posibil să faceți fără întrerupere și să continuați operatorii, este mai bine să faceți acest lucru. În plus, întreruperea și continuarea operatorilor pot fi întotdeauna înlocuiți de operatori structurați, am demonstrat prin prezentarea unor programe echivalente.

Este adesea convenabil atunci când apar anumite condiții pentru a putea finaliza ciclul înainte de program. O astfel de oportunitate oferă operatorului de pauză. Funcționează cu astfel de structuri, cum ar fi: în timp ce, pentru a face, pentru, foreach sau comutator.

Operatorul de pauză poate primi un argument numeric opțional care îi spune, performanța căreia numărul de structuri imbricate trebuie completat. Valoarea implicită a argumentului numeric este de 1, care completează execuția ciclului curent. Dacă operatorul de comutare este utilizat în ciclu, atunci întrerupeți / rupeți 1 frunze de designul comutatorului.

\\ n "; pauză 1; / * Ieșire numai de la designul comutatorului * / Caz 10: ecou" ITERARE 10; ieși
\\ n "; Break 2; / * Ieșiți de la designul comutatorului și din ciclul de timp. * /)) // Un alt exemplu pentru ($ BAR1 \u003d -4; $ Bar1< 7; $bar1++) { // проверка деления на ноль if ($bar1 == 0) { echo "Выполнение остановлено: деление на ноль невозможно."; break; } echo "50/$bar1 = ",50/$bar1,"
"; } ?>

Desigur, uneori ați prefera să săriți doar la iterațiile ciclului și să nu finalizați funcționarea ciclului, caz în care se face folosind operatorul Continue.

continua.

Pentru a opri procesarea blocului de cod curent în corpul ciclului și trecerea la următoarea iterație, puteți utiliza operatorul Continue. Acesta diferă de operatorul de pauză prin faptul că nu oprește funcționarea ciclului, ci pur și simplu efectuează trecerea la următoarea iterație.

Operatorul Continue, precum și pauza poate lua un argument numeric opțional, ceea ce indică câte nivele de cicluri imbricate vor fi omorâte partea rămasă a iterației. Valoarea implicită a argumentului numeric este 1 la care este trecută doar partea rămasă a ciclului curent.

"Continuați;) eco" 50 / $ bar1 \u003d ", 50 / $ bar1,"
"; } ?>

Notă: În timpul funcționării ciclului, valoarea zero a variabilei de contor $ a fost ratată, dar ciclul a continuat să lucreze de la următoarea valoare.

mergi la.

goto este un operator de tranziție necondiționat. Este folosit pentru a merge la o altă porțiune a codului programului. Locul unde este necesar să mergeți la program este indicat de etichetă (identificator simplu), urmată de un colon. Pentru a merge, după operatorul Goto este eticheta dorită.

Un exemplu simplu de utilizare a operatorului GOTO:

Operatorul Goto are o limită de utilizare. Marcajul țintă trebuie să fie în același fișier și în același context, înseamnă că nu puteți trece la limitele funcției sau al metodei, precum și nu pot intra în unul dintre ele. De asemenea, puteți intra și în interiorul oricărui ciclu sau comutator de operare. Dar poate fi folosit pentru a ieși din aceste structuri (din cicluri și operatorul de comutare). În mod tipic, operatorul GOTO este utilizat în loc de pauză pe mai multe niveluri.

";) Echo" după ciclul - până la eticheta "; // Instrucțiunea nu va fi executată capătul: ecou" după etichetă ";

22 februarie 2017 7:02 pp 19 549 vizualizări | 2 comentarii

Ciclurile vă permit să automatizați și să repetați un număr de sarcini.

Vezi si:

Dar, uneori, programul poate afecta factorul extern. În astfel de cazuri, programul poate rezilia execuția ciclului, sări peste ciclu sau ignora acest factor extern. Aceasta utilizează pauză, continuați și treceți operatorii.

Pauza operatorului

În Python, operatorul de spargere vă permite să întrerupeți un ciclu atunci când apare un factor extern. Operatorul de întrerupere trebuie plasat imediat după operatorul ciclului (de obicei după expres expresie).

Să ne uităm la un astfel de ciclu pentru operatorul de pauză:

numărul \u003d 0.
Pentru numărul în intervalul (10):
Numărul \u003d numărul + 1
Dacă numărul \u003d\u003d 5:
Break # Break.

Imprimare ("ieșire din buclă")

În acest mic program, variabila numerică are o valoare de 0. Apoi, operatorul funcționează, care pornește ciclul dacă variabila numărul este mai mică de 10.

Fiecare ciclu crește valoarea variabilei numărul 1 la 1 (numărul \u003d numărul + 1).

Declarația IF determină starea: Dacă variabila numerică este de 5, ciclul trebuie întrerupt (aici este utilizat).

De asemenea, în ciclu există o expresie de imprimare (), care se efectuează la fiecare iterație a ciclului timp până când ciclul este întrerupt (deoarece vine după operatorul de pauză).

După ciclul de ciclu, urmează o altă expresie de imprimare (), care raportează întreruperea ciclului.

La pornirea programului, acest rezultat va fi obținut:

Numărul este 1.
Numărul este 2.
Numărul este 3.
Numărul este de 4.
Din buclă.

De îndată ce valoarea numărului variabil ajunge la 5, ciclul este întrerupt de către operatorul de pauză.

Continuați operatorul

Operatorul Continue vă permite să treceți peste o porțiune a ciclului atunci când facultorul extern apare și trece la următoarea iterație a ciclului. Adică, iterația curentă este întreruptă, după care programul revine la începutul ciclului.

Operatorul Continue este situat în blocul de cod după operatorul ciclului (de obicei după caz).

Să revenim la exemplul anterior și să încercăm să folosim operatorul continuu în loc de pauză.

numărul \u003d 0.
Pentru numărul în intervalul (10):
Numărul \u003d numărul + 1
Dacă numărul \u003d\u003d 5:
Continuați # Aici operatorul continuă
Imprimare ("Număr este" + str (număr))
Imprimare ("ieșire din buclă")

Spre deosebire de pauză, când utilizați operatorul Continue, codul va fi efectuat chiar și după întreruperea ciclului atunci când numărul variabilei \u003d 5.

Numărul este 1.
Numărul este 2.
Numărul este 3.
Numărul este de 4.
Numărul este de 6.
Numărul este 7.
Numărul este de 8.
Numărul este 9.
Numărul este de 10.
Din buclă.

După cum puteți vedea, chiar și atunci când numărul a ajuns la 5, ciclul a continuat să funcționeze.

Continuați operatorul poate fi utilizat în locul unui cod condițional atașat sau pentru a optimiza ciclul.

Operatorul de trecere

Dacă apare un factor extern, operatorul de trecere elimină orice influență a acestui factor pentru prelucrarea codului. Codul este procesat până când apare pauza sau un alt operator.

Ca și operatorii anteriori, treceți urmează operatorul ciclului și dacă expresia.

Să încercăm să folosim operatorul de trecere în loc de a continua.

numărul \u003d 0.
Pentru numărul în intervalul (10):
Numărul \u003d numărul + 1
Dacă numărul \u003d\u003d 5:
Pass # treci aici
Imprimare ("Număr este" + str (număr))
Imprimare ("ieșire din buclă")

Datorită operatorului de trecere, programul continuă procesarea ciclului și ignoră faptul că valoarea variabilei numerice a atins 5 în timpul uneia dintre iterații.

Programul de ieșire va fi astfel:

Numărul este 1.
Numărul este 2.
Numărul este 3.
Numărul este de 4.
Numărul este de 5.
Numărul este de 6.
Numărul este 7.
Numărul este de 8.
Numărul este 9.
Numărul este de 10.
Din buclă.

Cu operatorul de trecere, programul funcționează ca și cum nu există operatori condiționați în el. Operatorul de trecere afirmă programul să ignore această afecțiune și să continue să lucreze.

Operatorul de trecere poate crea clase minime sau poate acționa ca un substituent atunci când lucrează la un nou cod și algoritmi de construcție.

Concluzie

Operatorii pauză, continuați și treceți în Python vă permit să optimizați funcționarea și în timp ce ciclurile și să simplificați codul.

Etichete: