Sunteți pe pagina 1din 19

"Calculatoarele sunt incredibil de rapide,

precise şi proaste. Fiinţele umane sunt


incredibil de lente, inexacte şi geniale.
Împreună, puterea lor depăşeşte orice
imaginabilă limită."
(Albert Einstein)
• Deseori în viaţa cotidiană ne confruntăm cu
situaţii în care trebuie să alegem o variantă
potrivită din 2 alternative propuse.

• Pentru a programa o astfel de acţiune vom


folosi instrucţiunea if, pe care o vom studia în
continuare.
O1 - să definim semantica instrucţiunii IF;

O2 - să descriem diagramele sintactice şi formulele


metalingvistice pentru instrucţiunea IF;

O3 - să identificăm modul de execuţie a


instrucţiunii IF;

O4 - să elaborăm programe în care se utilizează


instrucţiunea IF.
• Instrucţiunea if este o instrucţiune condiţionată, deoarece
urmăreşte să conţină în algoritm situaţii condiţionate. Din
engleză "if " se traduce "dacă".

• În viaţa de zi cu zi de foarte multe ori folosim expresii ca:

1 . Dacă plouă atunci merg cu taxi.
sau
2. Dacă plouă atunci merg cu taxi, altfelmerg pe jos.
caz I: caz II:

dacă plouă atunci  dacă  plouă atunci   
    merg cu taxi
    merg cu taxi
altfel
   merg pe jos

• În ambele cazuri plouă reprezintă o condiţie, iar


 merg cu taxi şi respectiv  merg pe jos reprezintă
instrucţiuni.
• Pe marginea exemplelor de mai sus ajungem la
concluzia că instrucţiunea if are 2 forme.
Pe marginea exemplelor analizate mai sus am
ajuns la concluzia că instrucţiunea if are 2
forme.
 Să transcriem exemplele analizate în limbajul Pascal:

caz I:
dacă  plouă atunci  =======     if  condiţie then
   merg cu taxi                                          instructiune

Această formă reprezintă forma scurtă a instrucţiunei


if sauinstrucţiunea de ocolire.
caz II:
dacă ploua atunci                                   if conditie then
     merg cu taxi                ======               instructiune1

altfel                                                          else
     merg pe jos                                              instructiune2

 
• Această formă reprezintă forma lungă a
instrucţiunei if sauforma IF-ELSE.
1. se evaluează condiţia, în rezultat se obţine valoarea
true sau false
2. dacă rezultatul evaluării este true sau adevărat,
atunci se execută instrucţiunea situată după cuvîntul-
cheie then, mai apoi execuţia se transmite la
următoarea instrucţiune după end
3. dacă rezultatul evaluării este false , atunci fie că se
execută instrucţiune situată după cuvîntul-
cheie else (dacă există), fie că se execută instrucţiunea
după end. 
Formula metalingvistică:

 <Instrucțiune if>::=if <Expesie booleană> then


<Instrucțiune>[else <Instrucțiune>]

 Însărcinare:

Realizați conform formulei metalingvistice


diagrama sintactică
1. ramura else nu este obligatorie
2. după cuvîntul-cheie then nu se pune simbolul ";" ,
deoarece instrucţiunea după then va fi exrecutată indiferent
de valoarea condiţiei.
Incorect: if B then; S 
Corect: if B then S 
instrucţiunea plasată înaintea cuvîntului-cheie else nu se
finisează cu simbolul ";", deoarece instrucţiunea după else
nu se va executa, ci va fi o instrucţiune ce urmează celei
condiţionale.

Incorect: if B then S; else P 
Corect: if B then S else P
 Condiţie:
 Să se scrie un program
care afișează maximul a
doua numere întregi a și b
citite de la tastatură.
 Program zile;
 Program P2;
 Var a, b, max: Integer;
 Begin
 Writeln(„Introduceţi a”);
 Readln(a);
 Writeln(„Introduceţi b”);
 Readln(b);
 If a>b then
   Max:=a
 Else
   Max:=b;
 Writeln(‘max=’,max);
 End.
• Se dă un număr a. Verificaţi
dacă a este par sau impar.
• Ex: pentru a=155 se va afişa
mesajul „impar”, iar pentru
a=120 se va afişa mesajul
„par”.
1. Ce se va afişa în rezultatul execuţiei următoarei
secvenţe?
a := 3;
if a > 5 then
  if a > 4 then write(1)
    else write(2);
2. Ce se va afişa in rezultatul execuţiei următoarei
secvenţe?
a := 5;
if x > 7 then
  if x > 4 then writeln(1)
    else
 else writeln(2);
Se citesc trei variabile a,b,c. Să se calculeze:

 a  b, c  0

e   a * b, c  0
 Ex. 4 pag. 89. 
a  b, c  0

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