EXEMPLUL PASCAL al algoritmului TIC ciclic. Algoritmii ciclici Tipuri de cicluri și echipe ciclice pe Pascal

Glisați 2.

Plan

Ciclul conceptului ciclului operatorului pentru ciclu în timp ce ciclul repetați literatura de specialitate

Glisați 3.

Literatură

Kastornov a.f., Evstratova G.a. Programare Limba Pascal: Tutorial pentru universități. - Cherepovets: Gou VPO Chsu, 2010. - 117 c. - BiblioGr.: P.114. Manual electronic pe limba de programare Pascal /http://pascal.guti.ru plan

Glisați 4.

Conceptul ciclului

Algoritmii de rezolvare a mai multor sarcini sunt ciclice, în care, pentru a obține rezultatul, se efectuează o anumită secvență de acțiuni de mai multe ori. De exemplu, programul de control al cunoașterii afișează o întrebare, acceptă răspunsul, adaugă o notă pentru răspunsul la valoarea punctelor, apoi repetă aceste acțiuni până când subiectul răspunde la toate întrebările. Sau, de exemplu, pentru a căuta numele de familie dorit din listă, verificați primul nume al listei pentru a se potrivi cu coincidența, apoi a doua, a treia etc. Atâta timp cât numele de familie dorit se găsește sau se va găsi sfârșitul listei.

Glisați 5.

Algoritmul în care există un grup de operatori efectuați de mai multe ori se numește ciclic. Un grup de operatori repetați este numit un organism de ciclu. În Pascal, ciclurile pot fi implementate folosind, în timp ce și repetați operatorii de ciclism. Plan

Glisați 6.

Operatorul ciclului pentru

Operatorul de ciclu este utilizat dacă corpul ciclului trebuie efectuat de mai multe ori, iar numărul de repetări este cunoscut în avans.

Glisați 7.

Prima formă de înregistrare a ciclului operatorului pentru

Prima formă de operator de înregistrare pentru operator este, în general, descrisă după cum urmează: Forscheik: \u003d inițial_treatmentto-opus_dorator; Unde, pentru a face - cuvintele de serviciu. Contorul este o variabilă a unui tip de secvență (de obicei, cum ar fi întreg), care determină numărul de repetări ale ciclului. Numărul de repetări este luat în considerare în conformitate cu formula: Final_dative este inițial_station + 1. Valoarea Final_ ar trebui să fie mai mare sau egală cu numele inițial_name.

Glisați 8.

Dacă organismul ciclului constă din mai mulți operatori, atunci prima formă de înregistrare a operatorului pentru operator arată astfel: FORSCHECHIK: \u003d inițial_nameto-limgine_do începe (corpul ciclului) sfârșitul;

Glisați 9.

Luați în considerare algoritmul pentru activitatea ciclului în prima formă de înregistrare. Contorul este atribuit valorii inițiale. Condiția este verificată: valoarea contorului este mai mare decât cea finală_station? Dacă starea este adevărată (da), execuția ciclului se termină. Dacă starea este falsă (nu), corpul ciclului este efectuat, apoi valoarea contorului crește cu una și condițiile verificați din nou, adică p.

Glisați 10.

A doua formă de înregistrare a ciclului operatorului pentru

Cea de-a doua formă de operator de înregistrare pentru operator este, în general, descrisă după cum urmează: Pentru Counter: \u003d inițial_downdownto-end_dactivity. Unde: pentru, downto, cuvinte de serviciu. Contorul este o variabilă a tipului de secvență (de obicei, cum ar fi întreg), care determină numărul repetițiilor ciclului. Numărul de repetări este considerat prin formula: valoarea inițială-finite_dation + 1. INITIAL_NAMEDInTiditatea de a fi mai mare sau intenționată în mod egal.

Glisați 11.

Dacă organismul ciclului constă din mai mulți operatori, atunci cea de-a doua formă de înregistrare a operatorului pentru operator arată astfel: Forscheik: \u003d inițial_downtofo-sereddo începe // capătul ciclului corpului;

Glisați 12.

Luați în considerare algoritmul pentru funcționarea ciclului în a doua formă de înregistrare: contorul este atribuit valoarea inițială. Condiția este verificată: valoarea contorului este mai mică decât cea a finalului? Dacă starea este adevărată (da), execuția ciclului se termină. Dacă starea este falsă (nr), atunci corpul ciclului este efectuat, apoi valoarea contorului scade pe unitate și condițiile verificați din nou, adică. p.

Glisați 13.

Operatorul ciclului pentru

programex1; Var I, N: Integer; (i - contor, n - numărul necesar de stele) S: șir; (S - linia de șir generat) începe să scrie ("Introduceți numărul de stele"); (numărul de asteriscuri) Readln (n) este solicitat; (Utilizatorul intră în numărul de sparuri n) S: \u003d ""; (Formarea șirului de curse începe cu un șir gol) (șirul este format de-a lungul ciclului \u003d s + "*"; (la fiecare etapă a ciclului la șir, un asterisc) Writeln (s) este lipit; (linia este afișată) Readln; Sfârșit. Exemplu de plan: Programul formează șirul de șir. Numărul de stele din șir este determinat de utilizator.

Glisați 14.

În timp ce ciclul

Ciclul este utilizat în cazul în care numărul de repetări ale corpului ciclului în timpul programului este necunoscut și poate fi determinat numai în timpul funcționării sale. În general, declarația este scrisă după cum urmează: în timp ce condiția de douperator; Unde, cuvintele de serviciu. Condiția este o expresie logică care determină continuarea ciclului.

Glisați 15.

Dacă organismul ciclului constă din mai mulți operatori, ciclul de timp este scris după cum urmează: bordul începe // capătul ciclului corpului;

Glisați 16.

Luați în considerare algoritmul ciclului de timp: este verificată o condiție. Dacă starea este cu adevărat, corpul ciclului este efectuat. După aceasta, starea este verificată din nou. Dacă starea este falsă, ciclul este finalizat.

Glisați 17.

Astfel, atunci când ciclul cu precondiția sau ciclul "în timp ce" (corpul ciclului este încă o condiție adevărată). Dacă, atunci când treceți mai întâi ciclul, starea va fi falsă, corpul ciclului nu va fi niciodată îndeplinit. Dacă starea nu devine niciodată falsă, ciclul va fi repetat infinit, adică. Frigul se va produce.

Glisați 18.

Programul EX2; Varaccount: Real; (Dimensiune cont) Luna: Integer; (Număr de luni de la deschiderea contului) începeți cont: \u003d 1000; (pe cheltuiala pusă 1000 de ruble) luni: \u003d 0; (Contul tocmai a fost deschis)

Glisați 19.

Repetați ciclul

Ciclul de repetare, precum și ciclul de timp, este utilizat în program dacă trebuie să efectuați un organism de ciclu de mai multe ori, dar numărul de repetări nu este cunoscut în avans. În general, ciclul de repetare este scris după cum urmează: Repetați // Ciclul corpului până la condiție; Unde repetați, până la - cuvintele de serviciu. Condiția este o expresie logică de tip care determină sfârșitul ciclului.

Glisați 20.

Luați în considerare algoritmul de operare al ciclului de repetare: repetarea și până când se efectuează corpul ciclului între cuvintele rezervate. Condiția este verificată. Dacă condiția este cu adevărat, ciclul este finalizat. Dacă starea este falsă, corpul ciclului este realizat din nou.

Glisați 21.

Astfel, repetarea este un ciclu cu un val-val sau un ciclu "la" (corpul ciclului este efectuat la adevărul condiției). În consecință, organismul ciclului se efectuează cel puțin o dată. Dacă starea nu devine niciodată adevărată, ciclul va deveni infinit.

Glisați 22.

Programul EX3; VAR TIME: INTEGER; (Timp de livrare) Celule: Integer; (număr de celule) Începeți timpul: \u003d 0; (celulă încă nu a început niciodată) celule: \u003d 1; (unică) timp de repetare: \u003d Timp + 3; (după următoarele trei ore) Celule: \u003d Celulele * 2; (numărul de celule a crescut de 2 ori) până la celulele\u003e 24; (până la adevărul de adevăr "numărul celulelor mai mult de 24") Writeln (timp); (ieșire) readln; Sfârșit. Exemplu de fabrică: Ameca unicelular la fiecare 3 ore este împărțit în 2 celule. Determinați, după câte ore numărul de celule depășesc 24.

Vizualizați toate diapozitivele

Glisați 1.

Algoritmul ciclic al contractantului robot
Prezentare la lecția informatică. Gradul 9 Subiect: Management și algoritmi

Glisați 2.

Pentru i: \u003d 1 la n începe acțiunea1; Acțiune2; Sfârșit;
Pentru i: \u003d 1 la n acțiune1; Acțiune2;
1

Glisați 3.

2
În timp ce (condiția adevărată) începe acțiunea1; Acțiune2; Sfârșit;
În timp ce (este adevărat) acțiunea1; Acțiune2;

Glisați 4.

3
17 celule
12 celule

Glisați 5.

4
Programul N1; Var i: întreg; Începeți pentru i: \u003d 1 până la 12 ro robotforw; Robotleft; Pentru i: \u003d 1 până la 17 face robotforw; Robotleft; Pentru i: \u003d 1 până la 12 face robotforw; Robotleft; Pentru i: \u003d 1 până la 17 face robotforw; Robotleft; Sfârșit.
Deplasarea în jos
Mutarea spre dreapta
Mutarea în sus
Mutarea spre stânga
Acest lucru și următoarele comenzi se întorc în colțul robotului spre stânga

Glisați 6.

5
Dacă puneți peretele, robotul se va scufunda în ea și programul se va opri

Glisați 7.

6
Programul N2; Var i: întreg; Începe în timp ce Forforw face robotforw; Robotleft; În timp ce Forforw face robotforw; Robotleft; În timp ce Forforw face robotforw; Robotleft; În timp ce Forforw face robotforw; Robotleft; Sfârșit.
În timp ce este liber, efectuați un robot înainte.

Glisați 8.

Glisați 9.

8
Programul N3; Var i: întreg; Începeți pentru i: \u003d 1 până la 4 începe în timp ce For Forforw face robotforw; Robotleft; Sfârșit; Sfârșit.
De patru ori pentru a avansa, până când nu există nici un obstacol și la stânga

Glisați 10.

9
De patru ori pentru a avansa, până când nu există nici un obstacol și la stânga

Glisați 11.

10
Sarcini pentru munca independentă
Sarcina 1. Zidul stâng al situației într-un loc arbitrar este pus un obstacol. Robotul ar trebui să ajungă la punctul 1 și să se întoarcă la starea inițială. Notă: Utilizați încă trei cicluri conectate consecutiv.
1
1

Glisați 12.

11
Sarcina 2. Zidul stâng al situației într-un loc arbitrar este sculptat. Robotul ar trebui să ajungă la încărcătură, să-l ducă la transportul în depozit și să se întoarcă la starea inițială. Notă: Utilizați încă două cicluri consecutive conectate.

Glisați 13.

12
Sarcina 3. Zidul stâng al situației într-o locație arbitrară este plasat cinci încărcături. Robotul trebuie să transporte toată mărfurile la depozit. NOTĂ: Folosiți două cicluri conectate secvențial, până acum investit într-un ciclu cu un parametru.

Glisați 14.

13
Exemplul 1 Robot este situat în fața intrării la coridor. Este necesar să rețineți toate celulele din interiorul coridorului și să reveniți înapoi

Glisați 15.

14
Programul N7; Începe robotforw; În timp ce nu începeți să începeți să selectați; Robotforw; Sfârșit; Robotback; În timp ce nu este robotback-ul Freelft; Sfârșit.
Facem un pas înainte pentru a intra în tunel
În timp ce în partea stângă se află un zid, sărbătoriți cușca și faceți un pas înainte
Reveniți înapoi la tunel
În timp ce peretele din stânga, mutați un pas înapoi

Glisați 16.

15
Exemplul 2 Există două pereți furnizați de un unghi. Lungimile pereților sunt arbitrare. Robotul este în colțul dintre pereți (vezi figura). Este necesar să se facă un program în care robotul marchează toate celulele de pe interiorul peretelui. Poziția finală a robotului arbitrar.

Glisați 17.

16
Programul N8; Începeți în timp ce nu Freeright începe să selectați; Robotforw; Sfârșit; În timp ce FireBack-ul face robotback; Robotleft; În timp ce nu începeți să începeți să selectați; Robotforw; Sfârșit; Sfârșit.
În timp ce dreptul nu este liber, sărbătoresc celula și fac un pas înainte.
Întoarceți robotul înapoi
Întoarceți-vă spre stânga
În timp ce stânga nu este liberă, sărbătoresc celula și fac un pas înainte.

Glisați 18.

Glisați 19.

18
Exemplul 3 Situația se suprapune peretele care împarte situația în două părți. Zidul are un pasaj într-o dimensiune celulară într-un loc arbitrar. Este necesar să se facă un program în care robotul găsește acest pasaj și merge într-o altă parte a situației.

Glisați 20.

19
Programul N9; Începe robotleft; În timp ce Forforw face robotforw; Robot de autor; În timp ce nu este Freelft, robotforw; Robotleft; Robotforw; Robotforw; Sfârșit.
Rotiți robotul spre perete.
Ne îndreptăm înainte până nu stau în perete
Rotiți robotul de-a lungul peretelui
Mișcați înainte până când peretele nu se va termina
Întoarceți robotul spre pasaj
Facem doi pași înainte, mergem la o altă jumătate a situației

Descrierea prezentării pe diapozitive individuale:

1 glisați.

Descrierea diapozitivului:

Subiectul clasei: "Algoritmii structurii ciclice. Cicluri de programare pe Pascal »Disciplina" Informatică "

2 glisați.

Descrierea diapozitivului:

Principalele concepte ale subiectului în această ocupație sunt studiate de următoarele concepte: conceptul de ciclu; Soiuri de algoritmi ciclici (ciclu cu precondiție, ciclu cu bandă poștală, ciclu cu parametru); diagrame bloc de algoritmii ciclici; Reprezentarea operatorilor de cicluri în limba de programare Pascal; Aplicarea ciclurilor la rezolvarea problemelor.

3 Slide.

Descrierea diapozitivului:

Conceptul de ciclu la rezolvarea multor sarcini, una și aceeași secvență de acțiuni se efectuează de mai multe ori. De exemplu, la admitere la instituție educațională Studentul dă examenele, în timp ce se calculează de punctele marcate de acestea (variabile S; valoarea inițială S: \u003d 0;). Pentru fiecare examen, acesta primește estimări N. Dacă estimarea este mai mare decât "2", apoi S: \u003d S + N; În caz contrar, opriți calculele (ieșiți din ciclu).

4 Slide.

Descrierea diapozitivului:

Conceptul ciclului ciclului este o secvență de operatori care pot fi efectuate de mai multe ori. Algoritmul ciclic este numit un algoritm care asigură o repetare multiplă a aceleiași acțiuni pe noile date. Există trei tipuri de operatori de ciclism: cicluri cu precondiție; Cicluri cu postcondiție; Cicluri cu un metru.

5 glisați.

Descrierea diapozitivului:

Ciclu cu precondiție. Tipul ciclu în timp ce se prescrie corpul ciclului până când starea este executată, înregistrată după cuvântul Subchart cu precondiția

6 glisați.

Descrierea diapozitivului:

Ciclu cu precondiție. Tipul ciclu în timp ce în timp ce ciclul de timp cu cele de mai sus este utilizat atunci când numărul de repetări al corpului ciclului nu este cunoscut în avans și depinde de starea. Dacă starea este adevărată, atunci corpul ciclului este executat, apoi verificând din nou condițiile și, până când starea devine falsă.

7 glisați.

Descrierea diapozitivului:

Ciclul operatorului cu preparat (în timp ce - în timp ce ciclul), cel mai frecvent utilizat operator de repetare are o vedere comună a Pascal (format): în timp ce<условие> Do.<оператор>; Aici, cuvintele rezervate (din engleză: în timp ce în timp ce nu faceți);<условие> - expresie logică;<оператор> - Operator arbitrar (posibil compozit).

8 glisați.

Descrierea diapozitivului:

Ciclu cu bandă poștală. Tipul ciclu până la ordinea operatorului ciclului cu o detonare, execuția operatorilor 1-N se repetă până când starea devine corectă. În acest ciclu, starea este verificată numai după corpurile ciclului. Rezultă că organismul efectuează întotdeauna cel puțin o dată pe diagrama cu cartea poștală

9 glisați.

Descrierea diapozitivului:

Ciclu cu bandă poștală. Tipul ciclului înainte de a fi important! Ciclul cu postul se efectuează cel puțin o dată independent de starea. Convenția fără îndoială a ciclului buclă este că în interiorul acestuia puteți scrie mai mulți operatori fără utilizarea unui operator compozit. Verificarea condițiilor este după corpul ciclului. Cuvânt de serviciu până la.

10 glisați.

Descrierea diapozitivului:

Ciclul operatorului cu bandă poștală (tip până la ciclu) Vizualizare generală (format) Operatorul ciclului cu Pascal Pascal Următorul: Repetați<Оператор 1>; <Оператор 2>; … <Оператор N>; Pana cand.<условие>;

11 Slide.

Descrierea diapozitivului:

Un exemplu de aplicare a operatorului ciclului cu banda poștală pentru ieșirea pe ecran în pereche, valorile variabilei n \u003d 1, 2, 3, 4, 5, 6, 7, 8, 9 și variabilă A \u003d 10, 20, 30, 40, 50, 60, 70 și 70, 80, 90 Acest operator va fi: N: \u003d 0; Repetați N: \u003d N + 1; A: \u003d 10 * N; Writeln (N: 2, ', A: 3); Până la n\u003e \u003d 9;

12 glisați.

Descrierea diapozitivului:

Ciclu cu parametru. Un tip de ciclu de tip cu un parametru este utilizat atunci când doriți să efectuați un anumit număr de pași cicluri. Trebuie remarcat faptul că ciclul Pascal al Pascalului nu este prea flexibil (în contrast, de exemplu, de la acest tip de ciclu în limba C). Deoarece, pe Pascal, parametrul ciclului (sau contorul) variază de o valoare egală cu una. Astfel, atunci când este necesar să efectuați o etapă fracțională, trebuie să utilizați un ciclu de tip de timp. Există două soiuri ale ciclului: cu creșterea și cu o scădere a valorilor contorului (sau a parametrului). Diagrama blocului ciclului cu parametru (pentru ciclu)

13 Slide.

Descrierea diapozitivului:

14 Slide.

Descrierea diapozitivului:

Operatorul ciclului cu parametru. Tipul ciclului pentru o vizualizare comună (format) a unui operator de ciclism cu parametru<счетчик> := <начальное значение> la.<конечное значение> Începe.<Операторы> Sfârșit; Pentru<счетчик> := <начальное значение> Downto.<начальное значение> Începe.<Операторы> Sfârșit; Cu o creștere a valorilor contorului (parametru) cu o scădere a valorilor contorului (parametru)

15 Slide.

Descrierea diapozitivului:

Operatorul ciclului cu parametru. Tipul de ciclu pentru operatorul care implementează ciclul pentru - pentru se utilizează dacă este necesar ca fragmentul programului să repetă numărul specificat de ori<переменная цикла>: = <начальное значение> Acea<конечное значение> Do.<оператор>; Aici: Pentru a face, cuvintele rezervate (engleză: pentru, înainte, executați);<счетчик (параметр) цикла> - tip variabilă Integer, care variază pe segmentul de la<начального значения>, creșterea unității la sfârșitul fiecărui pas de ciclu;<оператор> - Orice operator (mai des compozit).

16 Slide.

Descrierea diapozitivului:

Operatorul ciclului cu parametru. Un ciclu de tip pentru declarația este alcătuită dintr-un antet și un corp de ciclu. Operatorul compozit situat în corpul ciclului trebuie să fie închis în paranteze de începere și de capăt. · Identificatorul contorului este de obicei utilizat "I". · Variabila contorului trebuie să fie un tip de secvență. De exemplu, Tip Integer: Byte, Integer. · Valorile inițiale și finale ale parametrului ciclului nu pot fi modificate în timpul ciclului. · Operatorul este utilizat pentru a organiza cicluri fixe, în avans cunoscute sau determinate în timpul executării programului prin numărul de repetări.

17 Slide.

Descrierea diapozitivului:

Utilizarea ciclurilor La rezolvarea problemelor, fiecare dintre ciclurile descrise mai sus poate fi utilizată pentru a programa Pascal a acelorași sarcini cu un algoritm ciclic.

18 Slide.

Descrierea diapozitivului:

Numărul de sarcină 1 Deschideți programul PASCALABC.NET (programe integrate pentru programe de programare Pascal) Salvați programul din dosar cu numele dvs. în sistem folder de lucru Pabcwork.net \\ your_in / cikl_1.pas Salvați cum ...

19 Slide.

Descrierea diapozitivului:

Numărul de sarcină 1 Utilizarea ciclului în timp ce (cu precondiția) pentru a face și a depana un program care calculează suma pătratelor tuturor numerelor naturale de la 1 la 100. Date inițiale: A: Integer; Rezultat - Suma: S: Longint; Programul EX1; Var A: Integer; S: Longint; (Lungime lung) începe A: \u003d 1; S: \u003d 0; (variabila s pentru a acumula cantități) în timp ce a<=100 Do { Начало цикла – проверка условия } Begin S:=S+A*A; A:=A+1 End; Writeln(‘Вывод результата S= ’ ,S) End. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20 glisați.

Descrierea diapozitivului:

Sarcina 2. Dleerați structura ciclică în limba Pascal din programul Pascalabc.net ABC Mediu; Var x, u: întreg; Începeți x: \u003d 2; În timp ce X.<= 10 do begin Y:=x*x; writeln(‘вывод х: ’, x, ‘вывод у: ’, y); x:= x+2; end; end. Применить оператор цикла с предусловием для вычисления значения функции y=x2, при значениях x 2, 4, 6, 8, 10. Сохранить программу в папке с Вашим именем в системной рабочей папке PABCWork.NET \ Ваше_имя\Cikl_2.pas























Inapoi inainte

Atenţie! Previzualizarea diapozitivelor este utilizată exclusiv în scopuri informaționale și nu pot oferi idei despre toate capacitățile de prezentare. Dacă sunteți interesat de această lucrare, descărcați versiunea completă.

Scop: Studierea structurii algoritmice a ciclurilor, crearea de modele și algoritmi pentru rezolvarea problemelor practice.

În timpul clasei

I. Actualizarea cunoștințelor

  • Repetați conceptul algoritmului, desenele de bază ale limbajului algoritmic.
  • Pentru a putea dezvolta un model matematic, algoritmul și schema de bloc pentru rezolvarea problemei.
  • Au conceptul de limbi de programare și numirea acestora.
  • Fiți capabili să lucrați în mediul de programare.
  • Cunoașteți structura programului.
  • Să fie capabil să înregistreze expresii care conțin valori numerice și caractere.
  • Cunosc structura operatorilor și caracteristicile muncii lor.
  • Pentru a putea aplica operatorilor atunci când scrieți programe cu structuri liniare și ramificate.
  • Pentru a putea crea și rula programe pentru depanare.

II. Lecția de materiale teoretice

Cele mai multe sarcini practice necesită repetarea multiplă a acelorași acțiuni, adică reutilizarea unuia sau mai multor operatori. (Prezentare)

Permiteți-i să fie necesar să introduceți și să procesați secvența de numere. Dacă numerele sunt de numai cinci, puteți face un algoritm liniar. Dacă există mii de ele, scrieți un algoritm liniar, dar foarte plictisitor și irațional. Dacă numărul de numere până când algoritmul este necunoscut, algoritmul liniar este fundamental imposibil.

Alt exemplu. Pentru a găsi numele de familie al unei persoane din listă, trebuie să verificați primul nume al listei, apoi al doilea, al treilea etc. Până când se găsește sau nu se găsește sau nu se găsește. Puteți depăși astfel de dificultăți cu ciclurile.

Ciclul se numește o porțiune executivă multiplă a algoritmului (programe). În consecință, algoritmul ciclic este un cicluri care conțin algoritm.

Există două tipuri de cicluri: cu un număr cunoscut de repetări și cu un număr necunoscut de repetări. În același timp, în ambele cazuri există o serie de repetiții în stadiul de dezvoltare al algoritmului.

Există 3 tipuri de structuri ciclice:

  • Ciclu cu precondiție;
  • Ciclu cu postclinație;
  • Ciclu cu parametru;

În caz contrar, aceste structuri sunt numite "până", "pentru" cicluri de tip "pentru".

Formă grafică a structurilor algoritmice de înregistrare a datelor:

Ciclu cu precondiție (altfel ciclu pana cand) Arata ca:

condiție - Expresie logică.

Ciclul nu poate fi executat dacă valoarea expresiei logice se dovedește imediat a fi o minciună.

Seria de comenzi situate între început și capăt sunt efectuate până la până în prezent, condiția este adevărată .

Pentru la capătul ciclului, este necesar ca secvența de instrucțiuni între încetarea și modificarea finală Valoarea variabilelor incluse în condiție.

Ciclu cu postcondiție (altfel ciclu inainte de) Arata ca:

condiție - Expresie logică.

Notă:

Secvența instrucțiunilor între fiecarerepeta. șipana cand. va fi întotdeauna îndeplinită cel puțin o dată;

Pentru ca ciclul să fie finalizat, este necesar ca succesiunea operatorilor întrerepeta. șipana cand. A schimbat valorile variabilelor incluse în starea de exprimare.

Instrucțiunea repetată, precum și instrucțiunea de timp, este utilizată în program, dacă aveți nevoie să efectuați anumite calcule repetitive (ciclu), dar numărul de repetare nu este cunoscut în avans și este determinat de numărul de calcul propriu.

Ciclu cu un parametru (altfel ciclu pentru) Are forma:

parametrul I - ciclu;
A - valoarea inițială a ciclului;
b - valoarea finală a ciclului;
H este o etapă de schimbare a parametrilor.

Structura acestui ciclu este numită altfel ciclu de ori.

Această comandă se face în acest fel: parametrul I i se atribuie valoarea inițială A este comparată cu valoarea finală B și, dacă este mai mică sau egală cu valoarea finală B, se efectuează o serie de comenzi. Parametrul este atribuit valoarea precedentului, mărită h. - Pașii de modificare a parametrului și din nou comparativ cu valoarea finală b.

În limba de programare, Pascal, etapa de schimbare a parametrilor poate fi egală cu una sau minus una.

Dacă un singur operator este între început și sfârșit, parantezele operatorului nu pot scrie. Această regulă funcționează pentru un ciclu de tip "încă" și "pentru".

Luați în considerare un exemplu de rezolvare a sarcinilor folosind aceste structuri.

Exemplu.

Calculați produsul de numere de la 1 la 5 utilizând diferite opțiuni de ciclu.

Model matematic:

P \u003d 1 · 2 · 3 · 4 · 5 \u003d 120

Să facem un algoritm sub forma unui debit.

Pentru a verifica corectitudinea algoritmului, umpleți tabelul de urmărire.

Etapa Operațiune R. i. Verificarea condiției
1 P: \u003d 1 1
2 i: \u003d 1; 1 1
3 i.<=5
P: \u003d P * I
I: \u003d i + 1
1 1 1<=5, да (истина)
4 i.<=5
P: \u003d P * I
I: \u003d i + 1
2 2 2<=5, да (истина)
5 i.<=5
P: \u003d P * I
I: \u003d i + 1
6 3 3<=5, да (истина)
6 i.<=5
P: \u003d P * I
I: \u003d i + 1
24 4 4<=5, да (истина)
7 i.<=5
P: \u003d P * I
I: \u003d i + 1
120 5 5<=5, да (истина)
8 i.<=5
P: \u003d P * I
I: \u003d i + 1
6<=5, нет (ложь)

Condițiile de verificare apar în mai multe etape: verificarea termenilor și executării comenzilor pe una dintre ramuri. Prin urmare, tabelul de urmărire nu înregistrează comenzile algoritmului, ci operațiile separate efectuate de computer la fiecare pas.

Primul pas: P este atribuit o valoare.

Pasul doi: Sunt repartizat la unul.

Pasul al treilea: la o unitate egală Verificarea stării mai puțin sau egală cu cinci, da, condiția este adevărată, înseamnă că valoarea unui om înmulțit de unul va fi doi. Pentru i: Unu plus unul, vor fi două.

Pasul patru:la i egal cu două, starea este în prezent mai mică sau egală cu cinci, da, condiția este adevărată, înseamnă că valoarea de 2 înmulțită cu una, va fi 2. pentru i: două plus unul, vor fi trei .

Pitch al cincilea:la i egal cu trei, verificăm condiția de trei mai puțin sau egali cu cinci, da, starea este adevărată, ceea ce înseamnă că p atribuie valoarea a două înmulțită cu trei, vor fi șase. Pentru i: trei plus unul, vor fi patru.

Pasul șase:la i egal cu patru, starea este de patru mai puțin sau egală cu cinci, da, condiția este adevărată, înseamnă că valoarea de șase înmulțită cu patru va fi de douăzeci și patru. Pentru i: patru plus unul, vor fi cinci.

Pasul a șaptea:pentru că sunt egal cu cinci, starea este de cinci mai puțin sau egală cu cinci, da, condiția este adevărată, înseamnă că valoarea de douăzeci și patru înmulțită cu cinci va fi de o sută douăzeci. Pentru i: cinci plus unul, vor fi șase.

Pasul opt:la i egal cu șase, starea este de șase mai puțin sau egală cu cinci, nu, starea este falsă, apoi lăsăm ciclul și, ca rezultat obținem ultima valoare egală cu o sută douăzeci de ani.

Programul PR1;
Var i: întreg;
Începe.
P: \u003d 1;
i: \u003d 1;
In timp ce eu.<=5 do
Începe.
P: \u003d p * i;
i: \u003d I + 1;
Sfârșit;
Scrieți ('p \u003d', P);
sfârșit.

Pentru un ciclu cu o deselație, construim o diagramă bloc și o masă de urmărire. (Slide16)

Ca rezultat, primim ultima valoare egală cu o sută douăzeci la pasul al șaptelea

Și pentru un ciclu cu un parametru, construim o diagramă bloc și o masă de urmărire. (Slide17)

Ca rezultat, primim ultima valoare egală cu o sută douăzeci pe a șasea pas

O sarcină:

Afișați numere de la 1 la 5 V:

  1. direct;
  2. ordine inversă.

Model matematic:

  1. 1 2 3 4 5;
  2. 5 4 3 2 1.

Diagrama blocului și problema soluționării problemei sunt prezentate pentru numere în ordine directă și inversă.

(Diapozitiv 21)

Înregistrăm algoritmii considerați în limba de programare Pascal.

(Diapozitiv 22)

III. Însumând lecția

Și așa am revizuit următoarele întrebări:

  1. Ciclul structurii algoritmice;
  2. Tipuri de structuri algoritmice:
    1. Ciclu cu precondiție;
    2. Ciclu cu postclinație;
    3. Ciclu cu parametru;
  3. Considerate modalități de a scrie aceste structuri;
  4. Dezasamblate exemple de rezolvare a problemelor cu ajutorul acestor structuri.

Algoritmii ciclici06.04.2017.
Algoritmi ciclici.
Tipuri de cicluri și ciclice
Echipe pe Pascal.

Ciclul este repetat
Repetarea secvenței
acțiune
Repetarea părții algoritmului
numit corp de ciclu
Tipuri de cicluri
Cu un număr dat
Repetiții
Termeni si conditii
ciclu
Cu condiție
Condiția de ieșire este
ciclu

Tipuri de cicluri (conținut)
Ciclu cu precondiție
Practică
Ciclu cu bandă poștală
Practică
Ciclu cu parametri
Practică
Soluția de sarcini complexe

Ciclu cu precondiție

Practică

condiție și acțiunea care trebuie efectuată numai
După verificarea condițiilor, utilizați ciclul din precondiție.


Înainte de verificarea fiecărei execuții a corpului ciclului
Condiții, dacă rezultatul "Adevărului", atunci corpul ciclului este efectuat
Încă o dată, dacă "minciuna", atunci există o cale de ieșire din ciclu.
În sistemul de blocare
Ciclul de pornire
Nu
Condiție
DA
Ciclul corpului
Sfârșitul ciclului
În Pascal.
In timp ce<условие> do.
Începe.
<тело цикла>
Sfârșit;

Ciclu cu bandă poștală

Practică
Dacă numărul de repetări nu este cunoscut în avans, dar numai specificat
condiție și acțiunea care trebuie făcută înainte
Condiții de verificare a condițiilor Utilizați ciclul cu PostCal.
Ca o condiție, este utilizată o expresie logică, corpul
Ciclul este un operator simplu sau compozit.
După fiecare execuție a corpului ciclului, verificări
Dacă rezultatul este "fals", atunci corpul ciclului este efectuat
Încă o dată, dacă "adevărul", atunci există o cale de ieșire din ciclu.
În sistemul de blocare
În Pascal.
Repeta.
Ciclul corpului
<тело цикла>
da
Nu
Condiție
Pana cand.<условие>;

Ciclu cu parametrul

Practică
Ciclu cu parametrul
În cazurile în care numărul de repetări este cunoscut în avans
Un ciclu este utilizat în parametru.
Se numește variabilă specifică numărul de repetări
Parametrul ciclului sau variabila de control.
După administrarea fiecărui ciclu de execuție a corpului
Variabila crește sau scade, ciclu
Este rulat până când este timpul până când depășește fie
vor fi mai puține limitări.
În sistemul de blocare
În Pascal.
Pentru x: \u003d a la b doo
X: \u003d A, B, C
Ciclul corpului
X - Variabila de control (parametrul ciclului)
A - Semnificația inițială x, in-finit x
C - Un pas de schimbare x
Începe.
<тело цикла>
Sfârșit;
Ca un pas pe care îl puteți utiliza
numai:
"La" \u003d 1;
"Downto" \u003d -1

Exemplu de sarcină utilizând un ciclu cu o condiție prealabilă
Teorie

Algoritmul Sliver:
Înmulțiți numărul X este inițial egal cu 1
Numărul specificat de ori (h) cu 3.
start
Programul stepen;
Var.
H, B, X: Integer;
Începe.
Writeln ("Grad? ');
Readln (h);
X: \u003d 1;
B: \u003d 1;
În timp ce B.<=H do
Începe.
X: \u003d x * 3;
B: \u003d B + 1;
Sfârșit;
Writeln ("rezultat", x);
Sfârșit.
Pascal.
N.
Introduceți un anumit grad
X: \u003d 1
Valori inițiale
B: \u003d 1
Nu
Contorul de grad "B"
B≤h.
da
X: \u003d x * 3
Multiplicarea cu 3.
B \u003d în + 1
Creșteți metru
H.
Derocarea primită
Valori
Sfârșit
Diagramă bloc
Explicații

Un exemplu de sarcină care utilizează un ciclu cu o carte poștală
Teorie
Sarcina: Ridicați numărul 3 într-un anumit grad
Algoritmul Sliver:

Programul stepen;
Var.
H, B, X: Integer;
Începe.
Writeln ("Grad? ');
Readln (h);
X: \u003d 1;
B: \u003d 0;
Repeta.
X: \u003d x * 3;
B: \u003d B + 1;
Nu
Până când b\u003e \u003d h;
Writeln ("rezultat", x);
Sfârșit.
start
N.
Introduceți un anumit grad
X: \u003d 1
Valori inițiale
B: \u003d 0
Multiplicarea cu 3.
X: \u003d x * 3
Creșteți metru
B \u003d în + 1
da
B\u003e \u003d h
Contorul de grad "B"
H.
Derocarea primită
Valori
Sfârșit
Pascal.
Diagramă bloc
Explicații

Un exemplu de sarcină utilizând un ciclu cu un parametru
Teorie
Sarcina: Ridicați numărul 3 într-un anumit grad
Algoritmul Sliver:
Înmulțiți numărul X este inițial egal cu 1 număr specificat de ori (H) cu 3.
Programul stepen;
Var.
H, B, X: Integer;
Începe.
Writeln ("Grad? ');
Readln (h);
X: \u003d 1;
Pentru B: \u003d 1 la H doo
Începe.
X: \u003d x * 3;
Sfârșit;
Writeln ("rezultat", x);
Sfârșit.
Pascal.
start
N.
X: \u003d 1
B: \u003d 1, H, 1
X: \u003d x * 3
H.
Sfârșit
Diagramă bloc
Introduceți un anumit grad
Valoarea inițială x \u003d 1
Parametrii de la 1 î.Hr.
Multiplicarea cu 3.
Derocarea primită
Valori
Explicații

Selecția ciclului depinde de caracteristicile problemei. Numai practica vă va spune soluția optimă.

Sarcina: începerea formării, atletului în prima zi
a alergat 10 km. În fiecare zi a crescut lumina zilei
Norma pentru 10% din norma din ziua precedentă.
Ce calea totală rulează sportiv timp de 7 zile.
Variabile de intrare:
D - Numărul de zile
SD - Distanța pentru ziua curentă
Variabile de ieșire:
S - mod comun

Bloc - schemă de rezolvare

start
S: \u003d 10
SD: \u003d 10
D: \u003d 1
D: \u003d D + 1
SD: \u003d SD * 1.1
S: \u003d S + SD
nu
D \u003d 7.
da
S.
Sfârșit

Program pe Pascal.

Ciclul "pentru"
Ciclul "în timp ce"
Ciclu "înainte"
Programul BEG;
Programul BEG;
Programul BEG;
Var.
Var.
Var.
S, SD: Real;
S, SD: Real;
S, SD: Real;
D: Byte;
D: Byte;
D: Byte;
Începe.
Începe.
Începe.
S: \u003d 10;
S: \u003d 10;
S: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
SD: \u003d 10;
Pentru D: \u003d 2 până la 7 fac
Începe.
În timp ce D.<7 do
Începe.
Repeta.
D: \u003d D + 1;
SD: \u003d 1.1 * SD;
D: \u003d D + 1;
SD: \u003d 1.1 * SD;
S: \u003d S + SD;
SD: \u003d 1.1 * SD;
S: \u003d S + SD;
Sfârșit;
S: \u003d S + SD;
Până la (d \u003d 7);
Writeln ('s \u003d', s);
Sfârșit;
Writeln ('s \u003d', s);
Sfârșit.
Writeln ('s \u003d', s);
Sfârșit.
Sfârșit.

Întrebări pentru control:
1. Ce operator în Pascal este setat cu un ciclu cu
Provocată
2. Ca și în ciclul din parametru, indicați pasul "1" și "-1"
3. Ce ramură provine din ciclu cu
postcondiție
4. Există un ciclu cu parametrul de stare
5. Care ar putea fi corpul ciclului
6. Când ciclul este utilizat cu parametri
sfarsit