top of page

Instructiunea case

 

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 constante n: instrucÅ£iune n;
  end;

2)CASE expresie de tip ordinal OF
    Listă de constante1: instrucÅ£iune1;
    Listă de constante2: instrucÅ£iune2;
    .......................................................
    Listă de constante n: instrucÅ£iune n
    ELSE instrucÅ£iune(n+1)
  end; 

                                                           

 

                     Principiul de executie:

  • 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;

 

 

Diagrama de sintaxa:

Exemplu Program:

Program ce afiseaza mesajul 'Vocala' sau 'Consoana' in dependenta de litera introdusa de la tastatura.

 

Program Alfabet; {Alfabet - numele programului}

uses crt; {Directiva ce permite utilizarea bibliotecii CRT, adica pot fi executate astfel de functii, precum: curatarea ecranului dupa executare, adaugarea culorilor, sunetelor in program etc.}

var c: char; {Declaram variabila c de tip char - caracter imprimabil}

begin {Inceputul programului}

clrscr; {Comanda ce va curata automat ecranul dupa executie}

textcolor(5); {Coloreaza textul programului in culoarea cu nr. 5 - magenta}

textbackground(7); {Coloreaza fundalul programului in culoarea cu nr. 7 - lightgray}

write('Introdu o litera a alfabetului roman: '); { Se afiseaza pe ecran fraza: " Introdu o litera a alfabetului roman: "}

readln(c); { Se citeste litera introdusa de la tastatura, trece in rand nou}

case c of

'a',''e','i','o','u':writeln(c,' : Vocala '); {Daca litera introdusa este a,e,i,o sau u, atunci afiseaza pe ecran litera introdusa si fraza " :Vocala ", trece in rand nou}

'b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z':writeln(c,' : Consoana '); {Daca litera introdusa este b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y sau z, atunci afiseaza pe ecran litera introdusa si  fraza " : Consoana", trece in rand nou}

end;

writeln('Autor: Mirela Burduja'); {Se afiseaza pe ecran fraza: " Autor: Mirela Burduja",trece in rand nou}

readkey; {La apasarea unei taste, trece din ecranul negru in ecranul albastru}

end. {Sfarsitul programului}

 

 

Screenshot-uri:

© Creat in 2015 de Mirela. Toate drepturile rezervate!!

bottom of page