Bucle cu condiții logice

Programul constă dintr-o instrucțiune complexă pentru o: = false to true, la care se adaugă secvențial două declarații suplimentare și o declarație if. Partea din acel moment conține un operator complex compus din trei operatori simpli, care sunt acoperite de începutul și sfârșitul parantezelor programului.

Bucle cu condiții logice

Introdusă în capitolul anterior pentru bucla permite operatorului să efectueze ciclului de un număr predeterminat de ori, dar de multe ori acționează pentru ciclic se termină cu cu condiția, că se efectuează pentru a obține rezultatul picior definit. În Pascal există două astfel de ciclu de operator, caracterizat prin aceea că, într-una dintre ele condiția este verificată la începutul ciclului (în timp ce .do), iar cealaltă - la sfârșitul ciclului (repeta .until).

Operatorul buclă while (în timp ce, în timp ce) arata astfel:

în timp ce <логическое выражение> face <тело цикла>;

Ciclul In timp asigură că corpul bucla care urmează instrucțiunea do este executat până când condiția este adevărată. Un operator simplu sau complex poate fi folosit ca o buclă. Starea este verificată înainte de fiecare execuție a corpului buclei, prin urmare, dacă condiția este falsă înainte de prima execuție a buclei, operatorul nu este executat o singură dată (Figura 5.2).

Un exemplu. Este necesar să se convertească valoarea unghiului în grade la un interval standard de ± 180 ° excluzând rotația completă de 360 ​​°. Această procedură poate fi efectuată utilizând operatorul buclă

În timp ce abs (Angle)> 180 face

dacă unghiul> 0, atunci unghiul: = unghiul - 360

altfel Unghi: = Unghi + 360;

Declanșarea timpului la începutul bucla verifică dacă unghiul este la valoarea absolută de 180 de grade. Dacă acest lucru nu este adevărat, corpul bucla nu este executat. Dacă unghiul este mai mare decât valoarea admisă, ciclul începe.

Bucla constă din instrucțiunea if. Să presupunem că unghiul este -700. Apoi, starea An-gle> 0 în cazul în care declarația este falsă, în această parte a ELSE este executată dacă, iar unghiul va fi setat la -340. Din nou, există o condițiile de verificare a buclei, iar bucla se execută a doua oară, după care unghiul este egal cu 20. Într-o condiție de verificare a treia se termină bucla-Xia, deoarece ei condiție execuție Abs (20)> 180 evaluează la fals.

Comanda buclă se repetă. până la. (repetați până) are forma Repeat <тело цикла> până când -<логическое выражение>;

Diferența principală dintre repetare .until operatorul de la operator în timp ce .do că condițiile de verificare nu se efectuează înainte de executarea declarației, iar la capătul său, atunci când problema a fost repetat din nou dei Corolar. Prin urmare, corpul acestui ciclu este întotdeauna executat cel puțin o dată (Figura 5.3). Aceasta este o diferență importantă: dată pentru buclă. faceți cu declarația de repetare. până când nu este posibil fără controale și complicații suplimentare.

Cea de-a doua diferență față de operatorul .do se află în logica sfârșitului buclei. Buclele de instrucțiuni repeat.until sunt executate până când expresia logică următoare este până când este adevărată. Astfel, folosirea expresiei booleene aici are înțelesul opus operandului .do. Aici, atunci când expresia logică (condiție) este adevărată, bucla termină, în timp ce pentru operatorul while. Când expresia logică este adevărată, buclă continuă.

Articole similare