Conducători de operațiuni în condiții pascale și necondiționate

Operatori sucursale necondiționate

Operatorul de tranziție vă permite să vă deplasați de la locația curentă a programului la o altă locație, care nu este următoarea în ordine. Acest operator încalcă cursul normal al programului.

Teoretic, se poate demonstra că operatorii sunt complet suficienți pentru a scrie programe de orice complexitate. În acest sens, prezența operatorilor de jump în limba pare a fi superfluă. Mai mult decât atât, tehnologia modernă de programare structurată se bazează pe principiul "programării fără GOTO": se crede că abuzul operatorilor de transfer face dificilă înțelegerea programului, face confuz și dificil de depanat. Cu toate acestea, în unele cazuri, utilizarea operatorilor de jump poate simplifica programul.

Operatorul de tranziție are forma:

Aici a fost un cuvânt rezervat (mergeți la [mark]); - Eticheta.

Eticheta 1; // Declarați o etichetă numită 1 var
a: Integer; începe
a: = 10;
Treci la 1; // Mergeți la eticheta 1
a: = sqrt (a); // Această declarație nu va fi executată niciodată! 1: a: = a + a; Operatorul marcat cu eticheta 1;

Operatori sucursale supuse

Instrucțiunea de stare este concepută pentru a efectua sau nu a efectua acțiuni care depind de rezultatul unei stări booleene. Acest operator este folosit pentru a ramifica executarea programului,
adică dacă această condiție este adevărată (și numai în acest caz!), atunci o anumită secvență de operatori este îndeplinită, altfel ceilalți operatori sunt satisfăcuți. Tipul operatorului afecțiunii este după cum urmează:

dacă condiția, atunci operatorul1 altă declarație2;

Operatorul condiției poate fi scris într-o formă simplificată:

Iată câteva exemple de utilizare a operatorilor de stare:

dacă a> 0 atunci b: = sqrt (a) altceva b: = a * 2; // Declarație de condiții
dacă a = 10 atunci b: = b + 1; // Formă simplificată

Pentru a organiza ramificația în mai multe direcții (mai mult de două), puteți utiliza mai mulți operatori de condiție imbricați unul în celălalt. Incorporarea operatorilor de condiție are loc în conformitate cu aceleași reguli ca și încorporarea operatorilor compoziți.

Spre deosebire de alte limbi de programare în Object Pascal, prioritatea operațiilor relației este mai mică decât cea a operațiilor logice, astfel încât componentele individuale ale expresiei logice complexe sunt închise în paranteze. De exemplu, o astfel de înregistrare a operatorului anterior va fi incorectă:
dacă a> b și b <> 0 apoi ... // Eroare, deoarece de fapt (ținând cont de prioritatea operației), compilatorul va traduce această linie:
dacă a> (b și b)<>0 atunci ...

Articole similare