Turbo Pascal. În timp ce ... buclă cu condiție prealabilă

Turbo Pascal, deși nu este o aplicație preferată la nivel mondial pentru programare, dar creatorii care fac primii pași în scrierea de software, încep să se familiarizeze cu acest mediu. Oferă o idee despre ramificații, operatori, funcții și proceduri, precum și multe alte lucruri. De exemplu, în timp ce învățați, programatorul va întâlni cicluri în Turbo Pascal: În timp ce, pentru și repet.

pascal în timp ce

Conceptul de ciclu și varietatea acestuia

Un ciclu se numește acțiuni repetate. În acest mediu, folosim:

  • cu (Pentru hellip- tohellip- do);
  • cu o precondiție (În timp ce hellip- do);
  • cu o condiție ulterioară (Repeat hellip- până).

Primul tip este folosit când este cunoscut în avans câți pași pentru a rezolva problema. Cu toate acestea, există o serie de sarcini atunci când nu există informații despre cât de multe ori o acțiune sau o altă acțiune va fi repetată. În acest caz, în ciclul Pascal În timp ce devine indispensabil, ca, în principiu, și Repeat.

Structura ciclului

Care este esența lucrării în ciclurile Pascal While, For and Repeat? Aceste structuri au un antet și un corp. Prima componentă specifică variabilele care vor "funcționa", stabilește condițiile pentru verificarea adevărului, perioada în care corpul va fi executat. În cea de-a doua componentă, sunt scrise expresii care trebuie folosite dacă condiția este îndeplinită, adică este adevărată și nu falsă.

Atunci când repetarea este efectuată pe ultima linie de cod, atunci se întoarce la antetul în care este verificată condiția. În cazul adevărului, operațiunile se repetă, iar în caz de neîndeplinire a condiției, programul "lasă" ciclul și efectuează operațiuni ulterioare.

Ciclul "În timp" arată astfel. Pascal ABC și programe similare necesită scrierea acestui cod:

  • în timp ce condiție do;
  • Începe;
  • Corpul ciclului-
  • Sfârșit.

În cazul în care 1 operator (1 acțiune) este executat în corpul ciclului, atunci "parantezele" beginhellip-end pot fi omise.

Graficul de funcționare a ciclului

În Turbo Pascal În timp ce are următoarele caracteristici:

  • În interiorul structurii pot fi utilizate condiții complexe;
  • după cuvântul, nu ar trebui să existe un punct și virgulă (aceasta este considerată o eroare în Turbo Pascal și Pascal ABC);
  • o variabilă, o constantă sau o expresie care servește ca ieșire falsă a subrutinei lor trebuie să fie de tip logic, adică Boolean.

Diagrama bloc a acestei versiuni a ciclului arată după cum urmează. Afișează secvența de acțiuni.

pascal abc în timp ce

Algoritmul ciclului

În cele mai simple medii de programare, inclusiv Pascal ABC, În timp ce buclă funcționează în conformitate cu următorul principiu:

  • iterațiile date, adică repetițiile, vor trece de atâtea ori până când condiția este adevărată (True);
  • de îndată ce condiția nu este satisfăcută și dă un răspuns Fals (sau altfel "False"), declarația iese din bucla;
  • de îndată ce sa întâmplat acest lucru, programul "a mers" în construcție, după ciclu.

Aceasta este o diferență esențială dintre În timp de la Repetare, adică un ciclu cu o condiție prealabilă de la o condiție ulterioară.

Este foarte important să furnizați în corpul bucla schimbarea finală a variabilei specificate în rubrica În timp ce faceți. În orice caz, ar trebui să vină într-o zi o situație care să dea valoarea False. În caz contrar, buclă va apărea, și apoi trebuie să utilizați măsuri suplimentare pentru a ieși din compilator. Astfel de erori sunt considerate nepoliticoase și de neiertat.

Cum pot ieși din program în timpul buclei?

Deseori, situația apare atunci când operatorul While Pascal eliberează o buclă în codul scris. Ce înseamnă asta? Iterația se repetă de nenumărate ori, deoarece condiția este întotdeauna adevărată. De exemplu, aici este un fragment al programului:

  • În timp ce 2> 1 nu;
  • Scrieți (1).

În acest caz, pentru a opri sarcina, trebuie doar să apăsați CTRL + F2.



Există, de asemenea, 2 moduri de a controla acest comportament al programului. De exemplu, dacă o scrie Continue cod care trece controlul la începutul structurii ciclice (aici starea de ieșire în buclă este monitorizată, adică. Execuție E a iterația curentă este întreruptă). Apoi, comanda este trecută în buclă În timp la verificarea anterioară.

Instrucțiunea Break este capabilă să întrerupă execuția întregii bucla și să treacă controlul la următoarea iterație. Aici, ieșirea din structură nu va fi controlată. Imaginea prezintă exemple de utilizare a acestor operatori.

în timp ce operatorul pascal

Rezolvarea problemelor

Luați în considerare bucla În timp. Obiectivul lui Pascal este de a rezolva o mare varietate. Să ne ocupăm de cea mai simplă în timp ce înțelegem principiul muncii. S-au rezolvat sarcinile din programul Pascal ABC. Dar imagini ale mediului clasic Turbo Pascal vor fi prezentate pentru comparatie.

Activitatea 1: este dată funcția Y = 5-X ^ 2/2. Scrieți un tabel de valori în pașii sh = 0.5 pe intervalul [-5-5].

Algoritmul acțiunilor:

  • setați valoarea inițială pentru variabila X egală cu -5 (adică începutul intervalului);
  • calcula valoarea Y până când variabila x ajunge la sfârșitul segmentului specificat;
  • afișează valorile funcției și ale absciselor (X);
  • creșteți X cu etapa dată.

Acesta este codul din programul Pascal ABC.

în timp ce sarcinile pascale

Cum arată codul în Turbo Pascal. Imaginea de mai jos arată acest lucru în mod clar.

în timp ce sarcinile pascale

Activitatea 2: Având o matrice A, constând din numere pozitive și numere negative. Acesta conține 10 elemente. Este necesar să se formeze o matrice B, în care vor fi afișate elemente pozitive ale matricei A cu un indice parțial. Afișați pe ecran suma de pătrate din numărul matricei noi.

Algoritmul acțiunilor:

  • Este necesar să scrieți o subrutină care va "funcționa" numai cu elemente ale matricei A care au un indice de echilibru. În buclă, valoarea variabilei care este responsabilă pentru paritatea indicelui va crește cu 2.
  • Dacă numărul este un indice chiar din matricea A corespunde condiției x> 0, contor matrice este incrementat cu 1. Valoarea curentă a variabilei contor va fi indicele numărului de copii în matrice B.
  • Inițial, summa, responsabilă de găsirea sumei pătratelor de numere pozitive, este atribuită 0. Apoi, operația va fi efectuată: se adaugă o valoare nouă a pătratului la suma anterioară.
  • Nu vă speriați, dacă nu toate numerele pozitive s-au mutat de la o matrice la alta. Trebuie să fii atent. Mulți programatori novici rescriu codul într-o panică. Este necesar să studiem cu atenție situația: numere pozitive care sunt pe "locuri" chiar, adică având indici care sunt multiplii de 2.

buclă în timp ce pascal abc

Este necesară o urmărire manuală pentru a verifica corectitudinea calculelor. Uneori, cu ajutorul acestei metode, puteți identifica erorile care nu vin în ochii dvs. când verificați în mod normal codul scris.

buclă în timp ce pascal abc

Dacă efectuați calcule manuale, vă puteți asigura că programul funcționează corect. Aceasta, la rândul său, indică faptul că algoritmul pentru crearea codului este corect, secvența de acțiuni duce la un final logic.

Distribuiți pe rețelele sociale:

înrudit
Blaise Pascal: viață și muncăBlaise Pascal: viață și muncă
Tipuri de bază și exemple de algoritmi cicliciTipuri de bază și exemple de algoritmi ciclici
Delphi postează în PascalDelphi postează în Pascal
Cum de a învăța programarea de la zero în limbi de programare populareCum de a învăța programarea de la zero în limbi de programare populare
Ceaiul-hibrid a crescut PascalCeaiul-hibrid a crescut Pascal
Structura programului Pascal: programare pentru incepatoriStructura programului Pascal: programare pentru incepatori
Un ciclu cu o condiție ulterioară și o buclă cu o condiție prealabilăUn ciclu cu o condiție ulterioară și o buclă cu o condiție prealabilă
Ce este Pascal. Programarea în PascalCe este Pascal. Programarea în Pascal
Operatorii `Pascal`. Limba de programare PascalOperatorii `Pascal`. Limba de programare Pascal
Mediul de programare `Pascal ABC`Mediul de programare `Pascal ABC`
» » Turbo Pascal. În timp ce ... buclă cu condiție prealabilă