Difference between revisions of "RodinV08-Package1"

From HaskellWiki
Jump to navigation Jump to search
 
(Deleting page that hasn't been edited for over 10 years)
Line 1: Line 1:
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;
 
 
};
 

Revision as of 11:43, 6 February 2021