07-04-2012, 08:28 PM
  #1
SanCheZ
 
La spécialité: Informatique
20 1955
: 02-04-2012
: 6
SanCheZ
Tp 2 de Calcul formal (Caml)



caml :

Les function : Ecrire en langage CAML les fonctions suivantes :
- succ qui calcule le successeur dun entier.
- pred qui calcule le prdcesseur dun entier.
- sum qui calcule la somme de 2 entiers.
- max qui calcule le maximum de 2 rels.
- max3 qui calcule le maximum de 3 rels de 2 faons diffrentes (Sans utiliser Max, puis en utilisant Max).
- minmax qui donne le min et le max en mme temps de 2 entiers.
- carre qui calcule le carre dun entier. utilise cette fonction pour calcule cube.
- scarre qui calcule la somme des carrs de 2 entiers (en utilisant la fonction Carre).
- valabs qui calcule la valeur absolue dun entier.
- abs qui calcule la fonction : Abs ( x, y ) = | x y | .
- surf qui calcule la suface dun cercle de rayon r ( ∏ = 3.14).
- pair qui retourne vrai si son argument est un entier est pair, faux sinon.


:
:
# let succ(x)=x+1;;
# let pred(x)=x-1;;
# let sum(x,y)=x+y;;
# let max(x,y)=if x<y then y else x;;
#let max1(x,y,z)=if x<y then if x<z then z else y else if x>z then x else z;;
#let max2(x,y,z)=if max(x,y)<z then z else max(x,y);;
#let minmax(x,y)=if x<y then "min=",x," max=",y else "min=",y," max=",x;;
# let carre(x)=x*x;; # let cube(x)=carre(x)*x;;
let scarre(x,y)=carre(x)+carre(y);;
# let valabs(x)=if x<0 then -x else x;;
# let abs(x,y)=if (x-y)>0 then x-y else -(x-y);;
# let surf(x)=x*.(3.14);;
# let paire(x)= x mod 2 = 0;;










SanCheZ