Tp 2 de Calcul formal (Caml)

SanCheZ

  • Newbie
  • *
    • مشاركة: 6
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
في: نيسـان 07, 2012, 07:28:56 مسائاً
السلام عليكم ورحمة الله
اقدم لكم الحصة الثانية من الاعمال التطبيقية للبرنامج ال caml مع الحل :

 
[FONT="]Les function[/FONT][FONT="] : Ecrire en langage CAML les fonctions suivantes : [/FONT]
 
[FONT="]-  succ qui calcule le successeur d’un entier.  [/FONT]
 
[FONT="]-  pred qui calcule le prédécesseur d’un entier. [/FONT]
 
[FONT="]-  sum qui calcule la somme de 2 entiers. [/FONT]
 
[FONT="]-  max qui calcule le maximum de 2 réels. [/FONT]
 
[FONT="]-  max3 qui calcule le maximum de 3 réels de 2 façons différentes (Sans utiliser Max, puis en utilisant Max). [/FONT]
 
[FONT="]-  minmax qui donne le min et le max en même temps de 2 entiers. [/FONT]
 
[FONT="]-  carre qui calcule le carre d’un entier. utilise cette fonction pour calcule cube.[/FONT]
 
[FONT="]-  scarre qui calcule la somme des carrés de 2 entiers (en utilisant la fonction Carre). [/FONT]
   
[FONT="]-  valabs qui calcule la valeur absolue d’un entier. [/FONT]
 
[FONT="]-  abs qui calcule la fonction : Abs ( x, y ) = | x – y | . [/FONT]
 
[FONT="]-  surf qui calcule la suface d’un cercle de rayon r ( ∏ = 3.14). [/FONT]
 
[FONT="]-  pair qui retourne vrai si son argument est un entier est pair, faux sinon. [/FONT]


الحل :
شفرة: [اختيار]
[LEFT]# let succ(x)=x+1;;[/LEFT]
  [LEFT]# let pred(x)=x-1;;[/LEFT]
  [LEFT]# let sum(x,y)=x+y;;[/LEFT]
  [LEFT]# let max(x,y)=if x<y then y else x;;[/LEFT]
  [LEFT]#let max1(x,y,z)=if x<y then if x<z then z else y else if x>z then x else z;;[/LEFT]
  [LEFT]#let max2(x,y,z)=if max(x,y)<z then z else max(x,y);;[/LEFT]
  [LEFT]#let minmax(x,y)=if x<y then &quot;min=&quot;,x,&quot; max=&quot;,y else &quot;min=&quot;,y,&quot; max=&quot;,x;;[/LEFT]
  [LEFT]# let carre(x)=x*x;;                          # let cube(x)=carre(x)*x;;[/LEFT]
  [LEFT]let scarre(x,y)=carre(x)+carre(y);;[/LEFT]
  [LEFT]# let valabs(x)=if x<0 then -x else x;;[/LEFT]
  [LEFT]# let abs(x,y)=if (x-y)>0 then x-y else -(x-y);;[/LEFT]
  [LEFT]# let surf(x)=x*.(3.14);;[/LEFT]
  [LEFT]# let paire(x)= x mod 2 = 0;;[/LEFT]








ادعو لنا بالنجاح
بالتوفيق


hakim39

  • Newbie
  • *
    • مشاركة: 17
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #1 في: نيسـان 08, 2012, 01:17:05 مسائاً
جعلها الله في ميزان حسناتك


haroun-43

  • Newbie
  • *
    • مشاركة: 5
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #2 في: نيسـان 13, 2012, 12:31:48 مسائاً
merciiiiiii