Operator de declarație și selecție condiționată. Operator de tranziție
Întrebări pentru auto-examinare
1. Care este scopul procedurii Writeln?
2. Care este diferența dintre Write și Writeln?
3. Ce înseamnă următoarea intrare în Pascal: Writeln (x: 5: 2)?
4. Ce va face comanda în Pascal Readln (x, y, z)?
5. În ce cazuri se utilizează IOResult când sunt introduse I / O?
De obicei, operatorii sunt executați în ordine unul câte unul. Uneori este necesar să se rupă un astfel de curs de execuție a programului și transferarea controlului către un operator arbitrar. În astfel de cazuri, se folosește așa-numitul operator de salt. În alte cazuri, este necesar ca în cadrul programului să se organizeze ramificații - să se proceseze date diferite în moduri diferite, în funcție de anumite condiții. În aceste cazuri, se utilizează declarația condiționată dacă și operatorul de selecție a cazului. Acești doi operatori vor fi discutate mai târziu.
Operatorul condițional dacă este utilizat în cazurile în care operatorii trebuie să fie executați numai în anumite condiții.
Cu alte cuvinte, o declarație condiționată poate fi folosită pentru a organiza diferite ramuri în corpul programului (de exemplu, dacă utilizatorul a introdus valoarea "1", atunci vom executa primul set de operatori, altfel cel de-al doilea).
Există două forme de înregistrare a unui operator condiționat: scurt și complet.
O scurtă formă de scriere a unei declarații condiționale este după cum urmează:
IF <логическое выражение> ATUNCI <оператор_1>;
Un operator condițional în formă scurtă funcționează conform regulii: dacă expresia logică ia valoarea Adevărului. Operatorul_1 este executat. Apoi operatorul urmând condiționarea este executat. Dacă expresia logică este falsă, atunci instruciunea care urmează acestei instrucțiuni condiționale va fi executată imediat.
Exemplu: tipăriți pe ecran un modul al numărului introdus de utilizator
dacă x<0 then x:=-x;
writeln ('modulul numărului este:', x);
Forma completă de scriere a unei declarații condiționale este următoarea:
Un operator condițional în formă completă funcționează conform regulii: dacă expresia logică ia valoarea True. Operatorul_1 este executat. Apoi operatorul urmând condiționarea este executat. Dacă expresia logică ia valoarea False. apoi Operator_2 este executat. apoi următorul următor operator.
După cum puteți vedea din explicații, într-o astfel de intrare, operatorii care se află în urma cuvintelor de atunci și altele nu se execută niciodată împreună. dar unul dintre ei va fi întotdeauna executat.
Notă: înainte de alt cuvânt cheie, nu se pune o punct și virgulă ";", deoarece acest lucru ar sparge operatorul condițional în două părți. De asemenea, după altceva nu scrieți alte condiții suplimentare.
Exemplu: tipăriți pe ecran un modul al numărului introdus de utilizator
dacă x> 0 atunci writeln (x) altfel writeln (-x);
Declarațiile condiționate pot fi imbricate în alte afirmații condiționale, în ramura respectivă sau în altă parte. Nu este recomandat să investiți unul în altul mai mult de trei operatori condiționali.
Exemplu: determinați ce valoare conține variabila x.
dacă x> = 0 atunci dacă x = 0 atunci writeln ('null')
altceva writeln ('pozitiv') altceva scriteln ('negativ');
Când cuibăreți declarațiile condiționale una în cealaltă, trebuie să fiți atenți la crearea celeilalte ramuri. cuvântul cheie altceva se va referi la declarația condiționată if cea mai apropiată de stânga. care nu are încă ramura altceva. Deci, în exemplul de mai sus, altceva writeln ('pozitiv') se referă la instrucțiunea if = 0. și ramura else writeln ('negativ') - operatorului dacă x> = 0.
Exemplu: imaginați exemplul anterior într-un mod mai ușor de înțeles pentru cititor:
dacă x = 0 atunci writeln ('null') altfel writeln ('pozitiv')