RodinV08-Package1

From HaskellWiki
Jump to navigation Jump to search

RodinV08-Ro -- 27/9/2008


Cuvinte cheie folosite, instructiuni, operatori, primele exemple:

Nou:Am introdus 'text' iar 'tasteaza' a devenit 'citeste'



Secventa de instructiuni


{ <expr>; .... <expr> ; }



Atribuirea


fie <name> <expr>


Alternativa/Conditionala


daca <expr> atunci <expr> altfel <expr>



Bucla cu test initial


cat timp (<expr>) <expr>


Bucla cu test final


executa <expr> atat cat (<expr>)




Bucla cu test de succes final


repeta <expr> pana cand <expr>


Bucla cea mai generala


pentru (<exp>; <exp>; <exp>) <exp>



Tastarea unui nr (op de citire)


citeste <ident>


Scrierea


scrie <expr>

text "string de afisat"



Functii anonime nerecursive


(\ <name> . <expr>)



Aplicarea (asociaa la dreapta)


<functie anonima> <expr>



Operatori: + - * / %

Comparatii: > , < , , !



Lipsesc: ! negatia, op logici ,op logici pe biti, cond-ul...



Atribuirea are valoare


{ fie y 2;

 fie x 100;
 cat timp (x>10)
   fie x x-(fie y   1);
 scrie x;
 scrie y;

}


Program 1:


{scrie 1;}


Program 2


{ citeste x;

 scrie x;}


Program 3


{ citeste x;

 fie x x+1;
 scrie x;

}


Program 4:cmmdc


{ citeste a;

 citeste b;
 fie undeimp a;
 fie unimp b;
 repeta
   { fie unrest undeimp%unimp;
     fie undeimp unimp;
     fie unimp unrest;
    }
 pana cand (unimp  0);
 scrie undeimp;

};



Program 5: bucla cu nr cunoscut de pasi


{pentru(fie x 1;x<10;fie x x+1) scrie x;};



Program 6: numere pitagoreice


{ pentru (fie x 1; x<3; fie x x+1)

  pentru (fie y x+1; y<3; fie y y+1)
    {
     scrie x*x+y*y;
     scrie y*y-x*x;
     scrie 2*x*y;
    };

};



Program 7: maximul unui sir de numere terminat cu zero


{ text " Maximul elementelor unui sir de numere ";

 text "pozitive distincte terminat cu numarul zero. ";
 fie xmaxpp   0;
 text "Dati y ";
 citeste y;
 executa {
   {daca (y>xmaxpp) atunci fie xmaxpp y altfel fie xmaxpp xmaxpp;};
   text "Dati urmatorul y ";
   citeste y; 
 }atat cat (y! 0);
 text "maximul este ";
 scrie xmaxpp;

};