Sunteți pe pagina 1din 22

Repetarea materialului necesar pentru lecție

1) Ce este un tip de date logic (boolean)?


2) Care operatorii relaționali cunoașteți?
3) Care operatorii logici cunoașteți?
4) Alcătuiți tabele de adevăr a operatorilor AND, OR și NOT.
5) Dați exemple de expresii logice simple și compuse.
Instrucțiunea IF în limbajul de
programare PASCAL
Obiectivele lecției:

studenții să poată să reproducă şi să explice forma generală


şi interpretarea instrucţiunii if;

studenții să poată să elaboreze corect programe utilizînd


instrucţiunea if;

studenții să poată să evalueze corect rezultatul programului


în urma execuţiei lui, fără a utiliza calculatorul.
Situaţie de problemă
În viața de zi cu zi de foarte multe ori folosim expresii ca:
Dacă plouă merg cu taxiul
sau
Dacă plouă atunci merg cu taxiul altfel o să merg pe jos pe traseul stabilit.

Instrucțiunea if urmărește să cuprindă în algoritm tocmai astfel de situații –


condiționale.
Sintaxa instrucțiunii IF în pseudocod
Dacă <condiţie> atunci instrucţiunea1 altfel instrucţiunea2
SAU
Dacă <condiţie> atunci intrucţiune1
Sintaxa instrucțiunii IF în limbajul PASCAL
IF <condiţie> THEN instrucţiunea1 ELSE instrucţiunea2 ;
SAU
IF <condiţie> THEN intrucţiune1;
Algoritmul de lucru a instrucțiunii IF
Compilatorul va executa instrucțiunea if în felul următor:
- Evalueză condiția.
- Dacă condiția este adevărată atunci execută instrucțiune1.
- Dacă ramura else există și condiția nu este adevărată se va executa
instrucțiune2, în cazul lipsei ramurei else nu se execută nici o
instrucțiune.
- Se trece la următoarea instrucțiune după if.
Exemplu
Dacă dorim să verificăm dacă un număr a este egal cu zero, vom folosi
instrucțiunea if in felul următor:

if a=0 then write (‘numar nul’) else write (‘numarul nu este nul’)

Calculatorul va verifica dacă valoarea lui a este 0. Dacă este, va afișa “numar
nul”. Dacă a are o valoare diferită de 0 se va afișa “numărul nu e nul”.

De exemplu, dacă a=7 se va afişa: “numărul nu e nul”


Observații

Instrucțiunea if este o structură de control

Instrucțiunea if este o instrucțiune de decizie (condițională) simplă

Ramura else nu e obligatorie

Înainte de else NU se pune semnul „;”


Exemplu de program
În programul ce urmează instrucțiunea if este utilizată pentru
determinarea maximului a două numere x și y, citite de la tastatură.
Probleme propuse
1. Să se elaboreze un program care determină dacă un număr introdus
de la tastatura este pozitiv, zero sau negativ.
2. Să se elaboreze un program care determină dacă un număr introdus
de la tastatura este par sau impar.
3. Să se elaboreze un program care verifică dacă un număr introdus de
la tastatura aparține intervalului [1, 3].
4. Să se elaboreze un program care afișează maximul a trei numere
întregi introduse de la tastatura.
Instrucțiunea CASE în limbajul de
programare PASCAL
Obiectivele lecției

studenții să poată să reproducă şi să explice forma generală


şi interpretarea instrucţiunii case;

studenții să poată să elaboreze corect programe utilizînd


instrucţiunea case cu ajutorul profesorului;

studenții să poată să evalueze corect rezultatul programului


în urma execuţiei lui, fără a utiliza calculatorul;
Utilizarea instrucțiunii de ramificare multiplă
Am observat că instrucțiunea IF ne permite să creăm fluxuri de execuție
cu cel mult două ramificații (cazuri).
În cazurile în care apare necesitatea de creare a unor fluxuri de execuție
cu mai mult de două ramificări (cazuri), se utilizează instrucțiunile de
ramificare multiplă CASE.
Sintaxa instrucțiunii CASE

• <Expresie> - un selector, care trebuie să fie de tip ordinal (orice tip de


date întreg, char, boolean, enumerare sau interval, excepție tip real).
• Toate constantele de caz (<Constantă>) trebuie să fie unice și
compatibile, din punctul de vedere al atribuirii, cu tipul selectorului.
Structura generală a instrucțiunii CASE
case <selector> of
<constanta 1> : <instrucțiune 1>;
<constanta 2> : <instrucțiune 2>;
<constanta 3> : <instrucțiune 3>;

<constanta n> : <instrucțiune n>;
[else <altă instructiune>;]
end;
Algoritmul de lucru
• Execuţia instrucţiunii case începe prin evaluarea selectorului.
• În funcţie de valoarea obţinută, se execută instrucţiunea prefixată de
constanta respectivă, care coincide cu valoarea selectorului.
Observație:

Pentru programele scrise în PASCAL, lista cazurilor poate să


includă o instrucțiune precedată de cuvântul-cheie ELSE.
Exemplu:
• Condiţie: Să se realizeze un program care afişează denumirea
anotimpului corespunzător numărului citit de la tastatură.
• Exemplu: 1 -> iarna, 2 -> primavara, 3 -> vara, 4 -> toamna
Rezolvare
Probleme propuse
• Elaborați un program care determină denumirea zilei săptămânii după
numărul ei de ordine introdus de la tastatura (1 -> Luni, 2 -> Marți, …,
7 -> Duminică).
• Elaborați un program care determină denumirea lunii după numărul
ei de ordine introdus de la tastatura (1 -> Ianuarie, 2 -> Februarie, …,
12 -> Decembrie).
• Elaborați un program care determină culoarea semaforului după
numărul ei de ordine introdus de la tastatura (1 -> Roșu, 2 -> Galben,
3 -> Verde).
• Elaborați un program care determină dacă cifra introdusă de la
tastatura este pară sau impară.
Tema de acasă
• 3.11 Instrucțiunea IF, p. 129, ex. 2, p. 131
• 3.12 Instrucțiunea de ramificare multiplă, p. 133, ex. 1 – 3, p. 136

S-ar putea să vă placă și