Sintaxa Pascal pentru operatorii de salt condițional cu alegere multiplă. Structura de ramificație. Operator condiționat. Exemple de utilizare a operatorului de salt condiționat, care are o formă completă de reprezentare

Operatorul de salt vă permite să săriți de la locația curentă de execuție a programului într-o altă locație care nu este următoarea în ordine. Această instrucțiune perturbă fluxul normal de execuție a programului.

Tranziția se realizează folosind așa-numitele etichete.
O etichetă este un identificator sau un întreg fără semn în intervalul de la 0 la 9999 care apare înaintea oricărei instrucțiuni de program și este separat de acesta prin două puncte. Toate etichetele utilizate în program trebuie să fie declarate anterior în secțiunea de declarare a etichetelor, începând cu eticheta WORD.

Se poate demonstra teoretic că operatorii luați în considerare sunt destul de suficienți pentru scrierea programelor de orice complexitate. În acest sens, prezența operatorilor de sărituri în limbaj pare inutilă. Mai mult, tehnologia modernă de programare structurată se bazează pe principiul „programarii fără GOTO”: se crede că abuzul operatorilor de salt face programul dificil de înțeles, confuz și dificil de depanat. Cu toate acestea, în unele cazuri, utilizarea operatorilor de salt poate simplifica un program.

Operatorul de tranziție are forma:

Aici goto este un cuvânt rezervat (du-te [la etichetă]); - eticheta.

Eticheta 1; // Declarați o etichetă numită 1 var
a: întreg; ÎNCEPE
a: = 10;
Treci la 1; // Mergeți la eticheta 1
a:= sqrt(a); // Această instrucțiune nu va fi niciodată executată! 1: a:= a + a; // Operator etichetat 1 capăt;

Operatori de sărituri condiționate

Operatorul condiționat este proiectat să efectueze sau nu o acțiune în funcție de rezultatul unei condiții booleene. Acest operator este folosit pentru a ramifica execuția unui program,
adică dacă această condiție este adevărată (și numai în acest caz!), atunci se execută o anumită secvență de operatori, în caz contrar se execută alți operatori. Tipul de operator de condiție este:

dacă condiție apoi operator1 else operator2;

Operatorul de condiție poate fi scris și într-o formă simplificată:

dacă condiție apoi operator;

Iată exemple de utilizare a operatorilor de condiție:

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

Pentru a organiza ramificarea în mai multe direcții (mai mult de două), puteți utiliza mai multe instrucțiuni condiționale imbricate unele în altele. Imbricarea operatorilor condiționali urmează aceleași reguli ca și imbricarea operatorilor compuși.

Spre deosebire de alte limbaje de programare, în Object Pascal prioritatea operațiilor relaționale este mai mică decât cea a operațiilor logice; prin urmare, componentele individuale ale unei expresii logice complexe sunt incluse în paranteze. De exemplu, următoarea afirmație din declarația anterioară ar fi incorectă:
dacă a>b și b 0 atunci ...// Eroare pentru că de fapt (ținând cont de prioritatea operației) compilatorul va difuza următoarea linie:
dacă a> (b și b)0 atunci...

O instrucțiune compusă este mai multe instrucțiuni combinate într-una singură pentru a efectua acțiuni într-o altă instrucțiune (condițional, buclă, selecție etc.)

dacă x>0 atunci y:=x+2 altfel y:=x-2

13. Operator condiționat.

b) Structura de ramificaţie

Operator de salt condiționat

Operatorul de salt condiționat în Turbo Pascal are forma:

dacă condiție apoi operator 1 altfel operatorul 2;

condiție este o expresie logică, în funcție de care este selectată una dintre cele două ramuri alternative ale algoritmului. Dacă valoarea condiției este TRUE, atunci operator 1, scris după cuvântul cheie atunci. Altfel se va executa operatorul 2, urmând cuvântul else, while operator 1 sarit. După executarea instrucțiunilor specificate, programul trece la executarea comenzii imediat după instrucțiunea if.

Este important să rețineți că un punct și virgulă nu este niciodată plasat înaintea cuvântului cheie else!

else - poate lipsi o parte din declarația if:

dacă condiție apoi operator 1;

Apoi, dacă condiția logică nu este îndeplinită, controlul este imediat transferat operatorului situat în program după construcția if.

Trebuie amintit că sintaxa limbajului permite să fie scrisă o singură instrucțiune după cuvintele cheie then și else, așa că un grup de instrucțiuni trebuie combinat într-o instrucțiune compusă (înconjurat de paranteze operator start ... end). În caz contrar, cel mai adesea apare o eroare de program logic atunci când compilatorul de limbaj nu produce erori, dar programul funcționează totuși incorect.

Exemple.

dacă x > 0 atunci modul:= x else modul:= -x;

dacă k > 0 atunci WriteLn("k este un număr pozitiv");

dacă min > max atunci începe

14.Operator de tranziție. Etichete și operatori de salt

Se poate demonstra teoretic că operatorii luați în considerare sunt destul de suficienți pentru scrierea programelor de orice complexitate. În acest sens, prezența operatorilor de sărituri în limbaj pare inutilă. Mai mult, tehnologia modernă de programare structurată se bazează pe principiul „program fără GOTO”: se crede că abuzul operatorilor de salt face programul dificil de înțeles, confuz și dificil de depanat.

Cu toate acestea, în unele cazuri, utilizarea operatorilor de salt poate simplifica un program.

Operatorul de tranziție are forma:

MERGI LA<метка>.

Aici GOTO este un cuvânt rezervat (du-te [la etichetă]);<метка>- eticheta.

O etichetă în Turbo Pascal este un identificator arbitrar care vă permite să denumiți o anumită instrucțiune de program și astfel să faceți referire la ea. Pentru compatibilitate cu limbajul standard Pascal, Turbo Pascal permite, de asemenea, utilizarea numerelor întregi fără semn ca etichete.

Eticheta este situată imediat înainte de declarația marcată și este separată de aceasta prin două puncte. Un operator poate fi marcat cu mai multe etichete, care în acest caz sunt separate între ele prin două puncte. Înainte de a apărea în program, eticheta trebuie descrisă. O descriere a etichetei constă din cuvântul rezervat LABEL urmat de o listă de etichete:

Exemplu

1: WriteLn ("Mergeți la eticheta 1");

Efectul unei instrucțiuni GOTO este de a transfera controlul către instrucțiunea etichetată corespunzătoare.La utilizarea etichetelor, trebuie respectate următoarele reguli: eticheta la care se referă instrucțiunea GOTO trebuie descrisă în secțiunea de descriere și trebuie să apară undeva în corp. al programului; etichetele descrise în procedură (funcții) sunt localizate în cadrul acestuia, astfel încât transferul controlului din afara procedurii (funcției) către o etichetă din interiorul acesteia este imposibil. O instrucțiune goală nu conține nicio acțiune, se adaugă pur și simplu un punct și virgulă suplimentar la program. Practic, instrucțiunea goală este folosită pentru a transfera controlul la sfârșitul unei instrucțiuni compuse.

Operator este o propoziție în limbaj de programare care specifică o descriere completă a unei acțiuni care trebuie efectuată. Partea principală a unui program Turbo Pascal este o secvență de instrucțiuni. Separatorul de instrucțiuni este punct și virgulă. Toți operatorii limbajului Turbo Pascal pot fi împărțiți în două grupe: simpli și structurali.

Sunt numite instrucțiuni care nu conțin alte instrucțiuni simplu. Acestea includ atribuirea, saltul necondiționat, apelul de procedură și operatorul gol.

Operator de atribuire

Operator de atribuire (:=) instruiește să execute expresia specificată în partea dreaptă și să atribuie rezultatul unei variabile al cărei identificator este situat în partea stângă. Variabila și expresia trebuie să fie de tip compatibil.

Operatorul de atribuire se execută după cum urmează: mai întâi, se evaluează expresia din partea dreaptă a atribuirii, iar apoi valoarea acesteia este atribuită variabilei specificate în partea stângă a operatorului.

De exemplu, pentru operator

Rezultat:=A div B;

În primul rând, se realizează împărțirea în întregime a valorii variabilei A la valoarea variabilei ÎN iar apoi rezultatul este atribuit unei variabile Rezultat.

Exemple de utilizare a operatorului de atribuire:

A:= 8;

S:=A*ÎN;

Ostatok:= A mod B;

Raport:= A/B;

Operator de sărituri necondiționat (mergi la)

Operator de sărituri necondiționat (mergi la)înseamnă „mergi la” și este folosit în cazurile în care, după executarea unei anumite instrucțiuni, este necesar să se execute nu următoarea în ordine, ci o altă instrucțiune marcată cu o etichetă.

Amintiți-vă că o etichetă este declarată în secțiunea descriere a etichetei și poate conține atât caractere numerice, cât și alfabetice.

La folosirea operatorului mergi la trebuie amintit că domeniul etichetei este doar blocul în care este descris. Transferul controlului într-un alt bloc este interzis.

Reguli de utilizare a operatorului de salt necondiționat. Utilizarea transferurilor necondiționate de control într-un program este considerată teoretic redundantă și este supusă unor critici serioase, deoarece contribuie la crearea unor programe obscure și greu de modificat care provoacă mari dificultăți în depanare și întreținere. Prin urmare, se recomandă utilizarea minimă a operatorului mergi la sub rezerva următoarelor reguli:

Ar trebui să te străduiești să folosești operatori de salt (dacă pare imposibil să faci fără ei) pentru a transfera controlul doar în jos (înainte) prin textul programului; dacă este necesar să se transfere controlul înapoi, ar trebui să se utilizeze operatori de buclă;

Distanța dintre etichetă și operatorul de salt nu trebuie să depășească o pagină de text (sau înălțimea ecranului de afișare).

Un exemplu de utilizare a operatorului de salt necondiționat:

eticheta Mark; (în secțiunea descriere a etichetei am descris o etichetă cu numeleMetka}

ÎNCEPE (programul principal)

(instrucțiunile programului principal)

(instrucțiunile principale ale programului marcate cu o etichetă)

Comandă de lucru

    Studiați informații teoretice pe tema: „Scrierea unui program în Pascal folosind operatori de atribuire și salt necondiționat.”

    Primiți o sarcină individuală de la profesor și dezvoltați un program în conformitate cu sarcina.

    Arată profesorului programul de lucru.

    Răspunde la întrebări de securitate.

Întrebări de control

    Elemente de bază ale programării.

    Principalele caracteristici ale programului. Concepte de limbaj, suprapuneri, blocuri globale și locale.

    Operatori ai limbajului de programare Pascal. Operator de atribuire. Format, exemple.

    Operator de sărituri necondiționat. Format, exemple. Reguli de bază de utilizare

Lucrare de laborator nr 7

Scrierea unui program în Pascal folosind instrucțiuni condiționale și operatorul de selecțieCaz

Scopul lucrării : formarea de cunoștințe și abilități în lucrul cu operatorii lingvistici. Dobândirea deprinderilor de scriere a programelor folosind operatori de atribuire și sărituri necondiționate.

Informații teoretice scurte

Declarații condiționale

Operatorii condiționali sunt proiectați să selecteze una dintre acțiunile posibile (operatori) pentru execuție în funcție de o anumită condiție (în acest caz, una dintre acțiuni poate fi goală, adică absentă). Valoarea unei expresii logice este folosită ca condiții de selecție.

Există două declarații condiționate în Turbo Pascal: dacă și caz.

Declarație condiționată dacă

Operator de condiție dacă este unul dintre cele mai populare mijloace de schimbare a ordinii naturale de execuție a instrucțiunilor de program.

Poate lua una dintre următoarele forme:

    dacă<условие>apoi<оператор1>

altfel<оператор2>;

    dacă<условие>apoi<оператор>;

Traduse din engleză, aceste formate pot fi definite astfel:

    DACĂ <условие> ACEA <оператор1> IN CAZ CONTRAR <оператор2>

    DACĂ <условие> ACEA <оператор>

Operator de condiție dacă se efectuează după cum urmează. În primul rând, se evaluează expresia scrisă în condiție. Ca rezultat al calculului său, se obține o valoare de tip boolean.

În primul caz, dacă valoarea expresiei este Adevărat(adevărat), executat <оператор1>, indicat după cuvânt apoi(tradus prin „acea”). Dacă rezultatul calculării expresiei din condiție este Fals(fals), apoi executat <оператор2> .

În al doilea caz, dacă rezultatul expresiei Adevărat, efectuat <оператор>, Dacă Fals- operator care urmează imediat operatorul dacă. Operatori dacă poate fi cuibărit.

Un exemplu de fragment de program cu o instrucțiune condițională if:

dacă Ch="N", atunci Parolă:= Adevărat

else Parola:= False;

dacă Parola = Adevărat atunci

dacă X = 100 atunci scrieți ("Parola și codul sunt corecte")

Writeln("Eroare în cod");

În acest exemplu, valoarea unei variabile de tip caracter este citită de la tastatură Ch. Apoi se verifică starea CUh=" N" . Dacă este îndeplinită, atunci variabila Parola tipului boolean i se atribuie o valoare Adevărat, dacă condiția nu este îndeplinită, Fals. Apoi valoarea codului este citită de la tastatură X. Apoi, instrucțiunea if verifică condiția Passol = True. Dacă contează Adevărat, apoi parola introdusă este verificată de către operator dacă X=100. Dacă condiția X=100 are sensul Adevărat, apoi este afișat mesajul „Parola și codul sunt corecte”, iar controlul din program este transferat operatorului după cuvântul Sfârşit, dacă contează Fals, instrucțiunea compusă după cuvânt este executată altfel, care afișează mesajul „Eroare în cod” pe ecranul monitorului video și apelează procedura standard Oprire(1) pentru a opri programul.

Caracteristicile operatoruluidacă. Când utilizați instrucțiuni condiționale imbricate, poate apărea ambiguitate sintactică, de exemplu:

dacă condiția1 atunci dacă condiția2 atunci<оператор1>altfel<оператор2>

Ambiguitatea rezultată despre ce operator dacă aparține unei părți altfel <оператор2>, permisă de faptul că cuvântul funcţie altfelîntotdeauna asociat (legat) cu cel mai apropiat cuvânt funcțional din text dacă, care nu este încă asociat cu cuvântul funcţie altfel.

Din acest motiv, ar trebui să fiți atenți când scrieți instrucțiuni condiționale imbricate.

Exemplul 1 . Scrieți un program care calculează câtul a două numere întregi. Datorită faptului că este imposibil de împărțit la zero, organizați controlul introducerii datelor.

Pentru a controla valorile de intrare ale divizorului, folosim operatorul de salt condiționat dacă... atunci... altfel.

Textul programului ar putea arăta astfel:

program Primer1;

A, B: întreg;

Write("Introduceți valoarea dividendului A: ");

Write("Introduceți valoarea divizorului B: ");

dacă B=0 (Control de introducere a număruluiB}

apoi Writeln("Zeroul nu poate fi împărțit") (Condiția îndeplinită)

(Condiția nu este îndeplinită)

Rezultat:= A/B;

Writeln("Ceficient de numere ",A," și ",B, " = ", Rezult);

Operatorii condiționali sunt proiectați să selecteze una dintre acțiunile posibile (operatori) pentru execuție în funcție de o anumită condiție (în acest caz, una dintre acțiuni poate fi absentă). Valoarea unei expresii logice este folosită ca condiții de selecție. Turbo Pascal are două instrucțiuni condiționale: dacă și caz.

Declarație condiționată dacă

Instrucțiunea condiționată if poate lua una dintre următoarele forme:

dacă<условие>apoi<оператор1>

altfel<оператор2>;

dacă<условие>apoi<оператор>;

Instrucțiunea condiționată if este executată după cum urmează. În primul rând, se evaluează expresia scrisă în condiție. Ca rezultat al calculului său, se obține o valoare de tip boolean. În primul caz, dacă valoarea expresiei este True, atunci<оператор1>, precizat după cuvântul atunci. Dacă rezultatul evaluării expresiei din condiție este Fals, atunci<оператор2>. În al doilea caz, dacă rezultatul expresiei Tgue, atunci<оператор>, dacă este fals, instrucțiunea imediat următoare instrucțiunii if este executată. Conform regulilor, fiecare ramură poate conține fie o instrucțiune executabilă, fie mai multe combinate într-o instrucțiune compusă. Punct virgulă înainte Else nu este instalat.

operator de selecție a cazului

Dacă un singur operator dacă poate oferi o alegere între două alternative, apoi operatorul de selecție caz vă permite să alegeți dintr-un număr arbitrar de opțiuni disponibile.

caz<выражение-селектор>de

<список1>: <оператор1>;

<список2>: <оператор2>;

<списокN>: <операторN>;

Declarația de caz funcționează după cum urmează. Mai întâi se calculează valoarea expresiei selectorului, apoi se asigură implementarea operatorului a cărui constantă de selecție este egală cu valoarea curentă a selectorului. Dacă niciuna dintre constante nu este egală cu valoarea selectorului curent, se execută instrucțiunea care urmează cuvântului „altfel”. Dacă lipsește cuvântul „altfel”, se activează operatorul care urmează cuvântului „sfârșit”, adică. cazul primului operator în străinătate.

O expresie selector este o variabilă simplă de tip întreg, caracter, enumerare sau boolean, în funcție de valoarea căreia se ia o decizie;

O listă de constante de selecție constă dintr-un număr arbitrar de valori, sau intervale, separate prin virgule. Tipul constantelor trebuie să se potrivească cu tipul selectorului;

Formatul specificat presupune utilizarea unei instrucțiuni pentru fiecare alternativă, dar dacă este necesar, puteți specifica mai multe instrucțiuni grupându-le într-o instrucțiune compusă.

Ramura Altfel este opțională și, spre deosebire de instrucțiunea if, poate fi precedată de punct și virgulă.

Repetă operatori

Dacă este nevoie de a executa în mod repetat unele instrucțiuni într-un program, atunci se folosesc operatorii de repetare (buclă). În limbajul Pascal, există trei tipuri de operatori de buclă: while, repeat, for.

în timp ce declarația

Operatorul while este numit operator de buclă cu Condiție prealabilă deoarece condiția de execuție a corpului buclei este verificată chiar la începutul instrucțiunii.

in timp ce<условие продолжения повторений>do

<тело цикла>;

Condiție – expresie logică. Corpul buclei – operator simplu sau compus. Un operator compus este utilizat în cazurile în care corpul unei bucle este format din 2 sau mai mulți operatori.

Înainte de fiecare execuție a corpului buclei, se calculează valoarea expresiei condiției. Dacă rezultatul este True, corpul buclei este executat și expresia condiției este evaluată din nou. Dacă rezultatul este Fals, bucla iese și trece la prima instrucțiune imediat după corpul buclei.

operator repetat

Operatorul de repetare implementează o buclă cu postcondiție . O buclă cu o postcondiție va fi întotdeauna executată cel puțin o dată.

<оператор1>;

<оператор2>;

<оператор N>;

pana cand<условие окончания цикла>;

Declarațiile dintre cuvintele se repetă și până sunt corpul buclei. Mai întâi, se execută corpul buclei, apoi se verifică condiția de ieșire din buclă. Dacă rezultatul expresiei logice este Fals, atunci corpul buclei este activat din nou; dacă rezultatul este True, bucla iese.

Repetă operator pentru

Acesta este un operator cu un număr cunoscut de repetări. Acest operator de repetare este adesea numit operator de buclă parametrizată deoarece numărul de repetări este specificat de o variabilă numită parametru de buclă , sau variabila de control .

Operatorul for repeat poate fi reprezentat în două formate:

pentru<параметр цикла> := la do<тело цикла>;

pentru<параметр цикла> := jos la do<тело цикла>;

Unde<параметр цикла>este o variabilă de tipuri întregi, caractere, logice sau enumerate;

SI și S2 sunt expresii care determină, respectiv, valorile inițiale și finale ale parametrului ciclului;

for ... do - antet buclă;

Corpul buclei poate fi simplu sau compozit operator Operatorul for se asigură că corpul buclei este executat până când sunt enumerate toate valorile parametrului buclei de la început până la sfârșit.

Acțiune de comandă. Parametrului buclă i se atribuie valoarea expresiei S1. Dacă este mai mică sau egală cu valoarea expresiei S2, atunci corpul buclei este executat. După aceasta, valoarea parametrului este mărită automat cu unu și este din nou comparată cu valoarea expresiei S2 etc. Când valoarea parametrului devine mai mare decât valoarea expresiei S2, se execută următoarea instrucțiune după buclă.

Pasul de modificare a parametrului buclei pentru operatorul for...to...do este +1, iar pentru operatorul for...downto...do este -1.

Întrebări de autotest:

    Format operator de atribuire. Este acceptabil să folosiți cantități de diferite tipuri într-o expresie aritmetică?

    Care este diferența dintre instrucțiunea de intrare Read și instrucțiunea Readln?

    Specificați formatele de ieșire a datelor.

    Ce tipuri de ramificare sunt implementate în Turbo Pascal?

    La ce se folosesc ramurile? Dă exemple.

    Două forme de scriere a operatorului condițional If.

    Format de înregistrare pentru o instrucțiune If imbricată.

    Formatul de notare a declarației de selecție a cazului?

    În ce cazuri este utilizat operatorul compus Begin...end?

    Cum sunt reprezentați algoritmii ramificati în diagrame?

    Ce este un ciclu?

    Ce tipuri de bucle sunt implementate în Turbo Pascal?

    Ce este un corp buclă?

    În ce caz, corpul unei bucle cuprinse între paranteze operator începe... se termină?

    Care este diferența dintre declarațiile while și repeat?

    În ce cazuri este de preferat să folosiți operatorul de repetare pentru a organiza bucle? Ce este scris în antetul acestei declarații?

    Cum descrie o instrucțiune for loop direcția în care se schimbă valoarea unui parametru de buclă?

Această lecție privește operatorul condiționat în Pascal ( dacă). Explică cum să folosești mai multe condiții într-un singur construct ( ȘIȘi SAU). Sunt luate în considerare exemple de lucru cu un operator

Vă reamintim că acest site nu pretinde a oferi o prezentare completă a informațiilor pe această temă. Scopul portalului este de a oferi posibilitatea de a învăța material pe baza exemplelor rezolvate gata făcute pe tema „Limbajul de programare Pascal” cu sarcini practice de consolidare a materialului. Sarcinile Pascal prezentate pe site sunt aranjate secvențial pe măsură ce complexitatea lor crește. Site-ul web poate fi folosit de profesori și lectori ca ajutor vizual auxiliar.

Înainte de a lua în considerare acest subiect, au fost utilizați în principal algoritmi liniari în Pascal, care sunt tipici pentru probleme foarte simple când acțiunile (operatorii) sunt efectuate secvenţial, unul după altul. Algoritmii mai complecși implică utilizarea unui construct de ramificare.

Diagrama bloc operator condiționat:

Instrucțiunea condiționată în Pascal are următoarea sintaxă:

Versiune prescurtată:

if condition then statement;

Versiunea completa:

if condition then statement else statement;

Operatorul condiționat în Pascal - if - servește la organizarea progresului unei sarcini în așa fel încât succesiunea de execuție a operatorilor să se modifice în funcție de o anumită condiție logică. O condiție logică poate lua una din două valori: fie adevărată, fie falsă, respectiv, poate fi adevărată sau falsă.

Operator compus

Dacă, într-o condiție adevărată, este necesar să se execute mai multe instrucțiuni, atunci Conform regulilor limbajului Pascal, acestea trebuie să fie închise într-un bloc, începând cu cuvântul funcție begin și se termină cu cuvântul funcție end . Un astfel de bloc este de obicei numit paranteze operator, și această construcție - operator compus:

Paranteze operator și operator compus în Pascal:

if logic expression then begin statement1; operator2; end else begin statement1; operator2; Sfârşit;

Traducerea din engleză a operatorului de afecțiune va facilita înțelegerea utilizării acestuia:

DACĂ APOI ALTE
DACĂ ACEA IN CAZ CONTRAR


Condiția (într-o expresie logică) folosește operatori relaționali.
Luați în considerare lista de operatori relaționali a lui Pascal:

  • mai mult >
  • Mai puțin
  • mai mare sau egal cu în Pascal >=
  • mai mic sau egal cu în Pascal
  • comparație în Pascal =
  • nu este egal în Pascal

Exemplu: găsiți cel mai mare dintre două numere

Opțiunea 1 Opțiunea 2


Înțelegeți lucrarea în detaliu puteți folosi operatorul condiționat în Pascal urmărind tutorialul video:

Exemplu: calculați valoarea variabilei y folosind una dintre cele două ramuri

Afișați soluția:

var x,y:real; start writeln("introduceți x"); citeste(x); dacă x>0 atunci y:=ln(x) altfel y:=exp(x); writeln ("y=", y:6:2) (numărul rezultat va ocupa 6 poziții și va avea 2 zecimale) end.

Observați cum iese y în acest exemplu. Când deduceți variabile de tip în pascal, puteți utiliza așa-numitele ieșire formatată, sau notație cu două puncte:
y:6:2
- numărul de după primele două puncte (6) indică câte caractere va ocupa numărul atunci când este afișat pe ecran
- numărul de după al doilea două puncte (2) indică câte zecimale ale numărului real vor fi afișate

Astfel, utilizarea unei astfel de notații în pascal vă permite practic să rotunjiți la sutimi, miimi etc.

Sarcina 0. Calculați valoarea variabilei y folosind una dintre cele două ramuri:

Sarcina 1. Două numere sunt introduse în computer. Dacă primul este mai mare decât al doilea, calculați suma lor, în caz contrar - produsul. După aceasta, computerul ar trebui să imprime rezultatul și textul PROBLEMĂ REzolvată

Sarcina 2. Dragonul crește trei capete în fiecare an, dar după ce împlinește 100 de ani, doar două. Câte capete și ochi are un dragon? N ani?

Operații logice în Pascal (în expresie logică)

Când trebuie să utilizați o condiție dublă în Pascal, veți avea nevoie de operații logice.

  • Operație logică ȘI (Și), plasat între două condiții, spune că ambele condiții trebuie îndeplinite simultan (trebuie să fie adevărate). Sensul logic al operației este „conjuncție”.
  • Plasat intre doua conditii, semnul SAU (OR) spune că este suficient dacă cel puțin una dintre ele este îndeplinită (una dintre cele două condiții este adevărată). Sensul logic al operației este „disjuncție”.
  • În Pascal XOR - un semn al unei operații logice care are sensul de „disjuncție strictă” și indică faptul că este necesar ca una dintre cele două condiții să fie îndeplinită (adevărată), iar cealaltă să nu fie îndeplinită (falsă).
  • Operație logică NU înaintea unei expresii sau variabile logice înseamnă „negație” sau „inversie” și indică faptul că, dacă o anumită variabilă sau expresie este adevărată, atunci negația ei este falsă și invers.

Important: Fiecare condiție simplă trebuie inclusă între paranteze.

Exemplu: Să ne uităm la exemple de operații logice în expresii logice în Pascal

1 2 3 4 5 6 7 8 var n: întreg ; începe n: = 6 ; dacă (n>5) și (n<10 ) then writeln ("истина" ) ; if (n>7) sau (n<10 ) then writeln ("истина" ) ; if (n>7 )xor (n<10 ) then writeln ("истина" ) ; if not (n>7) apoi writeln("adevărat"); Sfârşit.

var n:întreg; începe n:=6; dacă (n>5) și (n<10) then writeln("истина"); if (n>7) sau (n<10) then writeln("истина"); if (n>7)xor(n<10) then writeln("истина"); if not(n>7) apoi writeln("adevărat"); Sfârşit.

Exemplu: Compania recrutează angajați cu vârsta cuprinsă între 25 și 40 de ani inclusiv. Introduceți vârsta persoanei și stabiliți dacă este potrivit pentru această companie (afișați răspunsul „potrivit” sau „nepotrivit”).
Particularitate: trebuie să verificăm dacă două condiții sunt îndeplinite simultan.