Guest User

Untitled

a guest
Apr 20th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 3.08 KB | None | 0 0
  1. let produit x y =
  2.   x*y;;
  3. produit 3 4;;
  4. let produittriple x=
  5.   produit 3 x;;
  6.  
  7. int x = 42 in function x -> x+1;;
  8.  
  9. x=41;;
  10. function x->x+1;;
  11.  
  12. let int x = fun som(x)-> x+1;;
  13. som(3);;
  14.  
  15. sqrt(42.);;
  16. let racinecarre x = sqrt(float_of_int x)
  17. let racine x2 x1 x0=
  18.   if x1*x1-4*x2*x0 <0
  19.   then [0]
  20.   else
  21.     if x1*x1-4*x2*x0 = 0
  22.     then [-x1/(2*x2)]
  23.     else [(-x1+ int_of_float(sqrt(float_of_int(x1*x1-4*x2*x0)))) /(2*x2) ; (-x1- int_of_float(sqrt(float_of_int(x1*x1-4*x2*x0)))) /(2*x2)];;
  24.  
  25. (*TP DU 28/11/2011 EN DESSOUS*)
  26.  
  27.  
  28. type nbrcomplexe = {re:int;im:int};;
  29. let nombre1 = {re=3;im=2};;
  30.  
  31. type humain = Homme | Femme;;
  32.  
  33. type personne = {
  34. sexe : humain;
  35. prenom : string;
  36. nom : string;
  37. jour : int;
  38. mois : int;
  39. annee : int};;
  40.  
  41. let alice = {
  42. sexe = Femme;
  43. prenom = "Alice";
  44. nom = "Dupond";
  45. jour = 13;
  46. mois = 05;
  47. annee = 1986};;
  48.  
  49. let bob = {
  50. sexe = Homme;
  51. prenom = "Bob";
  52. nom = "Leponge";
  53. jour = 01;
  54. mois = 05;
  55. annee = 1968};;
  56.  
  57. let personneToString perso = perso.prenom ^ " " ^ perso.nom ^ " est ne" ^
  58.   if perso.sexe=Femme
  59.   then "e le " ^ string_of_int(perso.jour) ^ "/" ^ string_of_int(perso.mois) ^ "/" ^ string_of_int(perso.annee)
  60.   else " le " ^ string_of_int(perso.jour) ^ "/" ^ string_of_int(perso.mois) ^ "/" ^ string_of_int(perso.annee);;
  61.  
  62. personneToString bob;;
  63. personneToString alice;;
  64. personneToString {sexe = Femme; prenom = "Linda"; nom = "lavoie"; jour = 03; mois = 05; annee = 1964};;
  65.  
  66. let compareAge p1 p2 =
  67.   if p1.annee<p2.annee
  68.   then 1
  69.   else
  70.     if p1.annee>p2.annee
  71.     then -1
  72.     else
  73.       if p1.jour=p2.jour && p1.mois=p2.mois
  74.       then 0
  75.       else
  76.         if p1.mois<p2.mois
  77.         then 1
  78.         else
  79.           if p1.mois>p2.mois
  80.           then -1
  81.           else
  82.             if p1.jour<p2.jour
  83.             then 1
  84.             else -1;;
  85.  
  86. type date = {annee:int ; mois:int ; jour:int};;
  87. let ageEnAnnee p date =
  88. if p.jour=date.jour && p.mois=date.mois && p.annee=date.annee
  89. then failwith("vous etes bien jeune pour utiliser ce programme")
  90. else
  91.   if p.jour=date.jour && p.mois=date.mois
  92.   then date.annee-p.annee
  93.   else
  94.     if p.mois<date.mois
  95.     then date.annee-p.annee
  96.     else
  97.       if p.mois>date.mois
  98.       then (date.annee-p.annee)-1
  99.       else
  100.         if p.jour<date.jour
  101.         then date.annee-p.annee
  102.         else (date.annee-p.annee)-1;;
  103. ageEnAnnee {annee = 1968; mois = 12; jour = 01} {annee = 2011; mois = 11; jour = 30};;
  104.  
  105. OU PLUS SIMPLE
  106. let ageEnAnnees p= if (p.mois < 11) || (p.mois=11 && p.jour<=30)
  107. then 2011 - p.annee
  108. else 2011 - p.annee - 1;;
  109.  
  110.  
  111. (* EXERCICE 3.7 *)
  112.  
  113. let moisEnLettre = function 1 ->"janvier"
  114.   |2 -> "fevrier"
  115.   |3 -> "mars"
  116.   |4 -> "avril"
  117.   |5 -> "mai"
  118.   |6 -> "juin"
  119.   |7 -> "juillet"
  120.   |8 -> "aout"
  121.   |9 -> "septembre"
  122.   |10 -> "octobre"
  123.   |11 -> "novembre"
  124.   |12 -> "decembre"
  125.   |_ -> "";;
  126.  
  127. moisEnLettre 10;;
  128.  
  129. let moisEnNumero =function "janvier" -> 1
  130.   |"fevrier" -> 2
  131.   |"mars"->
  132.   |"avril"->
  133.   |"mai"->
  134.   |"juin"->
  135.   |"juillet"-> 7
  136.   |"aout"-> 8
  137.   |"septembre"-> 9
  138.   |"octobre"-> 10
  139.   |"novembre"-> 11
  140.   |"decembre"-> 12
  141.   |_ -> 0;;
Add Comment
Please, Sign In to add comment