Əsrin Dilində Seçim Operatoru

Seçim operatoru verilmiş dəyişənin qiymətini bir neçə qiymətlə müqaisə etmək və düz gələn hala uyğun əməliyyatları yerinə yetrimək üçün istifadə olunur. Seçim operatoru həddindən artıq çox sayda şərt operatorundan istifadə etmənin qarşısını alır. Sintaksis aşağıadakı kimidir: Nümunə proqrama baxaq.


Aşağıdakı kod istifadəçinin imtahandan aldığı qiymətə uyğun nəticəni çap edir.

tam x;
 
xaricet("Imtahandan aldiginiz qiymeti daxil edin\y");
daxilet(x);
    
secim (x){
    
  hal 5:
    xaricet("Siz ela qiymet aldiniz, tebrikler \y");
    dayan;
      
  hal 4:
    xaricet("Siz yaxshi netice gosterdiniz \y");
    dayan;
        
  hal 3:
    xaricet("Siz kafi qiymet aldiniz \y");
    xaricet("biraz da oz uzerinizde calishin\y");
    dayan;        
        
  hal 2:
    xaricet("Siz imtahandan kesildiniz \y");
    xaricet("oz uzerinizde ciddi calishmalisiniz \y");
    dayan;     

   susma:
    xaricet("Zehmet olmasa 2 ve 5 arasinda eded daxil edin.\y");   
      
 }

Əgər bu kodu icra eləsək aşağıdakı nəticəni verər:

Imtahandan aldiginiz qiymeti daxil edin
3
Siz kafi qiymet aldiniz
biraz da oz uzerinizde calishin

Aşağıdakı kod istifadəçinin daxil etdiyi simvola uyğun hesab əməliyyatı aparır. Bunu sadə kalkulyator proqramı da hesab etmək olar.


proqram {

  var:
    tam x, y , netice;
    kesr netice_kesr;
    simvol emel;
    
  kod:
  
    capet("Her-hansi iki eded daxil edin: \y");
    daxilet(x,y);
  
    capet("Zehmet olmasa emeli daxil edin (+, - , *, /, %): \y");
    daxilet(emel);
    
    sec (emel){
    
      hal '+' :
        netice = x + y;
        capet(x, " + ", y, " = ", netice, "\y" );
        dayan;
    
      hal '-' :
        netice = x - y;
        capet(x, " - ", y, " = ", netice, "\y" );
        dayan;    
      
      hal '*' :
        netice = x * y;
        capet(x, " * ", y, " = ", netice, "\y" );
        dayan;    
    
      hal '%' :
        netice = x % y;
        capet(x, " % ", y, " = ", netice, "\y" );
        dayan;    
    
      /* bolme neticesinde qaliqi da onluq shekilde gostermek
       isteyirikse, onda neticeni kesr tipli secmeliyik.
        Eger bolmenin neticesin tam tipli edede menimsetsek 
        onda qalig nezere alinmir*/ 
      hal '/' :
        netice_kesr = x / y;
        capet(x, " / ", y, " = ", netice_kesr, "\y" );
        dayan;    
    
      susma:
        capet("Zehmet olmasa duzgun emeliyyat daxil edin.\y");
        capet("Duzgun emeliyyatlar: +, -, *, /, %   \y");
      
    }
}

Əgər bu kodu icra eləsək aşağıdakı nəticəni verər:

 Her-hansi iki eded daxil edin: 
 3 4
 Zehmet olmasa emeli daxil edin (+, - , *, /, %): 
 +
 3 + 4 = 7