Un ciclu este o repetare a unui fragment de program.
Există două tipuri de cicluri: tip "în timp" și tastați "n-time".
Primul tip de "încă" este destinat să repetă anumite acțiuni atâta timp cât este îndeplinită o anumită condiție. Exemplu: măriți numărul cu 5 până când devine un număr din trei cifre.
Al doilea tip de "n-time" este destinat repetării unor acțiuni în avans, de câte ori este cunoscut. Exemplu: multiplicați numărul de 4 ori.
O "în timp" bucla (în timp ce și în timp ce ... în timp ce declarații)
Instrucțiunea while repetă acțiunile specificate atâta timp cât parametrul său are o valoare reală.
De exemplu, acest ciclu va fi executat de 4 ori, iar ecranul va afișa "1 2 3 4":
Un astfel de ciclu nu va fi executat o singură dată și nimic nu va fi afișat pe ecran:
Un astfel de ciclu va fi executat pe o perioadă nedeterminată, iar ecranul va afișa "1 2 3 4 5 6 7 ...":
Condiția care determină dacă ciclul se va repeta din nou este verificat înainte de fiecare etapă a ciclului, inclusiv înainte de primul pas. Ei spun că există o pretestare a stării.
Există o buclă de tip "încă" cu o condiție post-test. Pentru a scrie, folosim construcția de la operatori ... în timp ce.
Acest ciclu va fi executat de 4 ori, iar ecranul va afișa "2 3 4 5":
Acest ciclu va fi executat o dată, iar ecranul va afișa "2":
Corpul de acțiune ... în timp ce bucla este executată cel puțin o dată. Acest operator este convenabil de utilizat atunci când o anumită acțiune din program trebuie efectuată cel puțin o dată, dar în anumite condiții este necesară repetarea acesteia.
O buclă "n-time" (a pentru o instrucțiune)
Instrucțiunea for conține trei parametri. Prima se numește inițializare, a doua este condiția de repetare, a treia se numește iterație.
În primul parametru, este de obicei aleasă o variabilă, cu ajutorul căreia numărul de repetări ale ciclului va fi luat în considerare. Se numește un contor. Contorul primește o anumită valoare inițială (indicați din ce valoare se va schimba).
Al doilea parametru specifică anumite limitări ale contorului (indicați ce valoare se va schimba).
Al treilea parametru specifică o expresie care schimbă contorul după fiecare etapă a ciclului. De obicei, acesta este un increment sau decrement, dar puteți folosi orice expresie în care o valoare nouă este atribuită contorului.
Înainte de prima etapă a ciclului, contorul primește valoarea inițială (se efectuează inițializarea). Acest lucru se întâmplă o singură dată.
Înainte de fiecare pas al ciclului (dar după inițializare), se verifică condiția de repetare, dacă este adevărată, atunci corpul bucla este executat din nou. În acest caz, corpul bucla nu poate fi executat o singură dată, dacă condiția este falsă în momentul primei verificări.
După finalizarea fiecărei etape a buclei și înainte de următorul (și, prin urmare, înainte de verificarea condiției de repetare), este efectuată iterația.
Programul prezentat afișează numere de la 1 la 100:
Programul prezentat afișează numere de la 10 la -10:
Programul prezentat afișează numere impare de la 1 la 33:
Programul prezentat va calcula suma elementelor fragmentului din secvența 2, 4, 6, 8, ... 98, 100. Astfel:
Programul prezentat va construi un număr din variabila a la puterea naturală a variabilei n:
Programul prezentat va afișa primele 10 elemente ale secvenței 2n + 2, unde n = 1, 2, 3 ...:
Programul prezentat va afișa primele 10 elemente ale secvenței 2an-1 +3, unde a1 = 3:
Într-un singur ciclu, puteți specifica mai multe contoare simultan. În acest caz, mai multe expresii în iterație și în inițializare sunt separate prin virgule. Starea de repetare poate fi setată numai una, dar poate fi o expresie care conține mai multe contoare simultan.
Programul prezentat va afișa primele 10 elemente ale secvenței 2an-1-2, unde a1 = 3:
Programul prezentat va afișa următoarea secvență "0 -1 -4 -9 -16 -25":
Terminarea anticipată a unui ciclu (o declarație de pauză)
Atât o buclă "în timp" cât și o buclă "n-time" pot fi terminate mai devreme dacă se invocă o declarație de pauză în interiorul corpului bucla. Aceasta va ieși imediat din buclă, chiar dacă etapa curentă nu va fi finalizată (adică, dacă au fost prezenți alți operatori după pauză, atunci acestea nu vor fi executate).
Ca urmare a exemplului următor, numai numerele "1 2 3 4 End" vor fi afișate:
În cazul în care programul va executa ciclul pentru a cincea oară (intră într-un contor de buclă egală cu 5), imediat se va verifica și o condiție adevărată va fi executată în care operatorul pauză. Restul corpului ciclului (ieșire pe ecran) nu va fi executat: programul va merge imediat la operațiile indicate după ciclu și apoi.
Cu ajutorul instrucțiunii de pauză, puteți întrerupe o buclă infinită cu bună știință. Exemplu ("100 50 25 12 6 3 1 0" va fi afișat și apoi ciclul se va opri):
Instrucțiunea de pauză poate fi apelată numai atunci când apare o condiție, altfel ciclul va fi terminat la începutul primei sale etape.
În exemplul de mai sus de ieșire într-o buclă de pe ecran nu se întâmplă nici măcar o dată, iar atunci când variabila o va afișa după ciclul, vom vedea că valoarea ei nu este schimbat, de ex., E. Afișare este «a = 25" (și nimic altceva ).
Rețineți, de asemenea, că variabila a fost declarată înainte de începerea ciclului. Când o variabilă este declarată în parametrii unei buclă, ea nu este disponibilă la partea ei și în acest caz a fost cerută altfel - pentru a afla ce valoare va avea contorul după terminarea ciclului.
Creați un program care afișează toate numerele de patru cifre ale secvenței 1000 1003 1006 1009 1012 1015 ....
Creați un program care afișează primele 55 de elemente ale secvenței 1 3 5 7 9 11 13 15 17 ....
Creați un program care afișează toate elementele non-negative ale secvenței 90 85 80 75 70 65 60 ....
Creați un program care afișează primele 20 de elemente ale secvenței 2 4 8 16 32 64 128 ....
Afișați toți membrii secvenței 2an-1 -1, unde a1 = 2, care este mai mică de 10000.
Afișați toți termenii din două cifre ale secvenței 2an-1 +200, unde a1 = -166.
Creați un program care calculează factorialul unui număr natural n, pe care utilizatorul îl va introduce de la tastatură.
Afișați toți divizorii pozitivi ai numărului natural introdus de utilizator de la tastatură.
Verificați dacă numărul natural introdus de utilizator este simplu. Încercați să nu efectueze acțiuni care nu sunt necesare (de exemplu, după ce ați găsit cel puțin un divizor non-trivială este deja clar că numărul de compozit și de testare nu trebuie să continue). De asemenea, rețineți că cel mai mic divizor al unui număr natural n, dacă este cazul, este localizat neapărat în intervalul [2; √n].
Creați un program care afișează primele 12 elemente ale secvenței 2an-2-2, unde a1 = 3 și a2 = 2.
Afișați primii 11 membri ai secvenței Fibonacci. Vă reamintim că primul și al doilea membru al secvenței sunt egale cu cele, iar fiecare următor este egal cu suma celor două precedente.
Pentru numărul natural introdus de utilizator de la tastatură, calculați suma tuturor cifrelor sale (nu este cunoscut în prealabil câte cifre va fi în număr).
În orașul N, o călătorie cu tramvaiul se efectuează pe bilete de tăiere pe hârtie. În fiecare săptămână, ordinele de depozit de tramvai din biletele locale de imprimare rola cu numere de la 000001 la 999999. „fericit“ este considerat un bilet în care suma primelor trei cifre este egală cu suma ultimelor trei cifre, cum ar fi în bilete cu numerele 003102 sau 567576. tramvai depou a decis dați un suvenir proprietarului fiecărui bilet norocos și acum decide câte suveniruri vor fi necesare. Folosind programul, conta la câte bilete fericite într-un singur turneu?
Ceasul electronic arată ora în format de la 00:00 la 23:59. Contorizarea numărul de ori pe zi, se întâmplă ca în partea stângă a colonului arată combinația simetrică pentru cea de pe partea dreaptă a colonului (de exemplu, 02:20, 11:11 sau 15:51).
Armata SUA este considerat un număr ghinionist 13, iar în Japonia - 4. Anterior sediul central internațional al învățăturilor armatei ruse a decis să excludă numărul de echipament militar, conținând numărul 4 sau 13 (de exemplu, 40123, 13313, 12345 sau 13040), astfel încât să nu confunde colegi străini. În cazul în care eliminarea armatei există 100 de mii. Unități de echipament militar și fiecare vehicul de luptă are un număr de 00001-99999, atunci cât de multe camere au pentru a elimina?
Utilizatorul introduce o serie de 10 numere naturale de la tastatură. Programul ar trebui să vă spună ce numere s-au întâlnit: chiar, ciudat sau în mod egal. Dacă este introdus un număr ne-natural, programul trebuie să raporteze o intrare incorectă și să solicite introducerea din nou a unui număr natural adecvat.
Utilizatorul introduce o secvență de 8 numere întregi de la tastatură. Programul ar trebui să afișeze lungimea secvenței maxime care crește în mod strict. Dacă acest lucru nu este disponibil, atunci raportați-l.
Utilizatorul introduce de la tastatură o secvență de numere întregi. Programul ar trebui să afișeze media aritmetică a elementelor din această secvență imediat după ce utilizatorul intră 0 (adică, lungimea secvenței nu este cunoscută în prealabil).
Utilizatorul introduce de la tastatură o secvență de numere întregi. Programul ar trebui să afișeze elementele maxime și minime ale secvenței imediat după ce utilizatorul introduce 0 (adică, lungimea secvenței nu este cunoscută în prealabil).
Utilizatorul introduce un exemplu aritmetic în formatul "2 + 3.5" sau "3.14 * 8", programul trebuie să calculeze și să afișeze răspunsul corect la ecran. În exemplu, operațiunile de adăugare, multiplicare, scădere, divizare (cu restul) trebuie să fie admisibile. După ce se afișează răspunsul, programul trebuie să ceară utilizatorului dacă este necesar să rezolve un alt exemplu. Dacă utilizatorul introduce "y" programul ar trebui să înceapă din nou, altfel se va termina.