Sunteți pe pagina 1din 5

 

                                         Instrucţiunea IF
                       Definiţie:
Instrucţiunea IF este o structură de calcul
alternativă,care permite în funcţie de anumite condiţii,
executarea (sau neexecutarea) unei anumite instrucţiuni
sau secvenţă de instrucţiuni.

Instrucţiunea if are două forme:                        


1)if <conditie> then <instructiune1>
   else <instructiune2>;                                                         
    Atenţie: în cazul folosirii acestei sintaxe, semnul " ; "
(punct si virgula) este interzis sa fie pus înainte de
ELSE.                                                                                             
  2)if <conditie> then <instructiune>;
   Atenţie: în cazul folosirii acestei sintaxe, semnul " ; "
(punct şi virgula) este strict necesar după instructiune1.
"<conditie>" este o expresie cu valoare logică, iar
"<instructiune1>", "<instructiune2>" şi "<instructiune>"
sunt instrucţiuni Pascal.

Principiul de execuţie:
      se evaluează expresia logică;
         dacă aceasta are valoarea TRUE, atunci se execută
secvenţa prezentată în cadrul instructiune1 iar în caz contrar se
execută secvenţa prezentată în cadrul instructiune2 sau se iese
din structură (cînd construcţia ELSE lipseşte).
     Atenţie: dacă secvenţele cuprind mai mult de 2
instrucţiuni,acestea trebuie cuprinse între BEGIN şi
END;

Exemplu de program:
   1. Am pus o condiţie şi în funcţie de ea
executăm o parte sau alta a codului. Parcă
suntem in viaţă. Ne oferă cineva ceva, dar noi nu
acceptăm decît dacă preţul e mai mic sau egal cu
o anumită sumă, pentru că altfel ni se pare prea
mare preţul.Să exemplificăm aceste structuri
prin programul de mai jos:
     program p7;
  var varsta : integer;
         gen : char;
begin
  write ('Ce varsta aveti ? ');
  readln (varsta);
  write ('Sunteti baiat sau fata ? (M / F) : ');
  readln (gen);
  If (gen = 'f') or (gen = 'F') Then WriteLn ('gen
feminin')
  Else WriteLn ('gen masculin');
  If varsta > 17 Then WriteLn('Persoana majora');
  ReadLn;
End.

   Pentru a înţelege programul, să-l luăm pas cu pas. Am


definit două variabile, una de tip integer (valoare
numerică) denumită varsta si una de tip Char (un singur
caracter) denumită gen. După citirea de la tastatură a
valorilor pentru aceste două variabile, verificăm dacă
variabila gen e cumva litera F. De remarcat că am folosit
operatorul logic OR pentru a verifica dacă variabila are
valoarea f sau F, ambele însemnînd faptul că genul este
feminin, caz în care afişăm acest lucru. Pe ramura de
Else, ştiind că genul nu este feminin, am pus direct
afişare că genul este masculin. În programul de mai sus,
dacă pentru variabila gen introducem litera c, progamul
va afişa tot "gen masculin".
   Pentru vîrstă facem o singură verificare, anume dacă
vîrsta este strict mai mare decît 17 (adica minim 18), caz
în care afişăm "Persoana majora" . 

Instrucţiunea COMPUSĂ
                        Definiţie:
Instrucţiunea COMPUSĂ este instrucţiunea formată dintr-o listă de instrucţiuni separate
prin caracterul ";" şi cuprinse între cuvintele cheie Begin şi End. Sintactic, ea este tratată ca o
singură instrucţiune.

Instrucţiunea compusă are forma:

  begin
    instructiune 1;
    instructiune 2;
    ......
    instructiune n;
  end;

unde instructiune 1, instructiune 2, ... instructiune n reprezintă instrucţiunile din corpul


instrucţiunii compuse;
                        Principiul de execuţie:
         se execută în ordine instrucţiunile specificate.
                        Exemple de programe:

1.
program p7;
  var m, n, t: integer;
begin
  m:= m + 1;
  n:= n + 2;
  t:= m + n;
end.

Programul conţine o singură instrucţiune compusă prin care se iniţializeaza variabilele m, n şi


t. 

Instrucţiunea CASE
                        Definiţie:
Instrucţiunea CASE este o instrucţiune alternativă multiplă care permite selectarea unei instrucţiuni
dintr-o listă de instrucţiuni marcate, în funcţie de valoarea unui selector.

Instrucţiunea case are două forme:


1)CASE expresie de tip ordinal OF
    Listă de constante1: instrucţiune1;
    Listă de constante2: instrucţiune2;
    .......................................................
    Listă de constanten: instrucţiunen;
  end;
2)CASE expresie de tip ordinal OF
    Listă de constante1: instrucţiune1;
    Listă de constante2: instrucţiune2;
    .......................................................
    Listă de constanten: instrucţiunen
    ELSE instrucţiune(n+1)
  end;
Atenţie: în cazul folosirii acestei sintaxe, semnul " ; " (punct şi virgula) inainte de "else" este strict
interzis;
"instructiune1", "instructiune2" şi "instructiunen" sunt instrucţiuni Pascal.

                        Principiul de execuţie:


                    se evaluează expresia de tip ordinal (integer, char, Boolean,byte,word,longint, sau definită de
utilizator ca subdomeniu sau enumerare);
                    se obţine o valoare v care reprezintă valoarea selectorului utilizată pentru selecţia
uneia dintre alternative. Apoi se caută în lista de constante, constanta egală cu valoarea
evaluată. Dacă se localizează această constantă într-una dintre liste, se execută instrucţiunea
asociată acestei liste;
                    dacă nu există nici o instrucţiune care să conţină eticheta v, atunci dacă este prezent
cuvîntul 'ELSE' se execută instrucţiunea care urmează după aceasta,în caz contrar nu se
execută instrucţiunea CASE şi se trece la secvenţa imediat următoare.
Atenţie: Dacă secvenţele cuprind mai mult de 2 instrucţiuni,acestea trebuie cuprinse între
BEGIN şi END;

                        Exemplu de program:


1. Acum,datorită instrucţiunii "case" putem împarţi persoanele în
categorii după vîrsta şi sex:
program p10;
  var varsta :integer;
        sex :char;
begin
  write ('Ce varsta aveti ? ');
  readln (varsta);
  write ('Sunteti baiat sau fata ? (M / F) : ');
  readln (sex);
  Case sex Of
'f','F' : WriteLn ('Sex feminin');
'm','M' : WriteLn ('Sex masculin');
Else Writeln ('Sex necunoscut, probabil neutru');
  End;
  Case varsta Of
0 .. 17 : WriteLn ('Persoana minora');
18 .. 60 : WriteLn ('Persoana majora');
61 .. 150 : WriteLn ('Persoana in varsta');
151 .. maxint : WriteLn ('Personaj biblic');
-maxint .. -1 : WriteLn ('Persoana care este inca in planuri de viitor');
  End;
 ReadLn;
End.
Structura Case, după cum am explicat anterior, permite ca pentru o anumită instrucţiune, să verificăm
mai multe valori posibile. Aceste valori pot fi scrise una cîte una şi despărţite prin virgulă ('f','F')sau
pot fi scrise ca un şir de valori, în care se oferă valoarea minimă şi apoi valoarea maximă, aceste două
valori fiind despărţite prin " .. " (două puncte unul după celălalt: "18..60"). 

Instrucţiunea FOR
                        Definiţie:
  Instrucţiunea FOR este o instrucţiune repetitivă care permite execuţia repetată a unei instrucţiuni în
funcţie de valoarea unui contor.
  Nu este o instrucţiune strict necesară, ea poate fi simulată cu ajutorul instrucţiunii WHILE. Totuşi,
majoritatea programatorilor preferă să utilizeze instrucţiunea FOR.
 
Instrucţiunea for are două forme:                         
            1)FOR identificator:=expresie1 TO expresie2 DO instrucţiune;(CAZUL CRESCĂTOR)
           2)FOR identificator:=expresie1 DOWNTO expresie2 DO
instrucţiune;(CAZUL DESCRESCĂTOR)
unde identificator este o variabilă de orice tip ordinal, iar expresie1 şi expresie2 sunt
expresii de    acelaşi  tip cu variabila dată.
                      

 Principiul de execuţie:
                     dacă valoarea obţinută în urma evaluării expresiei1 este egală cu valoarea obţinută în
urma evaluării expresiei2, se atribuie variabilei de ciclare valoarea obţinută în urma evaluării
expresiei1, se execută instrucţiunea abordată şi execuţia instrucţiunii FOR este încheiată;
                      dacă valoarea obţinută în urma evaluării expresiei1 este strict mai mică decît
valoarea obţinută în urma evaluării expresiei2, se atribuie variabilei de ciclare valoarea
obţinută în urma evaluării expresiei1 şi se trece la pasul următor;se execută instrucţiunea
subordonată;
                      dacă valoarea reţinută de variabila de ciclare este strict mai mică decît valoarea
obţinută în urma evaluării expresiei2, (evaluare efectuată la început) se adună 1 variabilei de
ciclare şi se trece la executarea instrucţiunii subordonate; dacă valoarea reţinută de variabila
de ciclare este egală cu valoarea obţinută în urma evaluării expresiei2, execuţia instrucţiunii
FOR se încheie.
                      

Exemplu de program:
1.
program p6;
  var cnt:integer;
begin
  For cnt:=1 To 20 Do
  WriteLn(cnt);
  ReadLn;
End.

După cum vedeţi, contorul nu prea mai e în grija noastră (iar unele compilatoare chiar dau
eroare dacă veţi încerca să-i modificaţi valoarea în interiorul instructţiunii).

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