Sunteți pe pagina 1din 3

PASCAL

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 2)CASE expresie de tip ordinal OF
    Listă de constante1: instrucţiune1;     Listă de constante1: instrucţiune1;
    Listă de constante2: instrucţiune2;     Listă de constante2: instrucţiune2;
    .......................................................     .......................................................
    Listă de constanten: instrucţiunen;     Listă de constanten: instrucţiunen
  end;     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"). 
Trimiteți prin e-mailPostați pe blog!Distribuiți pe TwitterDistribuiți pe FacebookTrimiteți către Pinterest

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