Sunteți pe pagina 1din 3

Link-ul unde puteti intra sa lucrati in Pascal:

https://www.onlinegdb.com/online_pascal_compiler

1.Pe link-ul de mai jos gasiti informatii generale despre instructiunea case:

https://www.slideshare.net/bacalina89/case1-6461350

2.Studiati si tema din manual( pag. 90)


Analizati Program P53 ,pag. 91

Program P54 , pag 92

3. Sarcina:Utilizînd instrucţiunea case, scrieţi un program care transformă numerele


zecimale 1, 5,10, 50, 100, 500, 1000, citite de la tastatură, în cifre romane.

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 programe:
1. Program afisare;
type semnal=(Rosu,Galben,Verde);
var s:semnal;
begin
s:=Verde;
s:=pred(s);
case s of
Rosu: writeln ('STOP');
Galben :writeln ('ATENTIE');
Verde: writeln ('START');
end;
readln;
end.
2.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');
  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"). 

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