منتدى الرياضيــات كل من اختار سلك الرياضيات هنا تجد مبتغاك

قديم 11-06-2009, 08:38 PM
  #11
ميس31
VIP_MEMBRE
مشرفة سابقة
 الصورة الرمزية ميس31
 
تاريخ التسجيل: 12-10-2008
الدولة: algerie/oran
المشاركات: 1,513
ميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداع
افتراضي رد: exercices en langage caml

هههههههههههه يعني المشكل فيك مش عندي
أكي لعيونك هاك التمارين


TP N° 02 CAML (Solution)


اقتباس:
اقتباس:





Exercice 00 : Donner les types des expressions suivantes :



Session 1 :

let a = 2 * 3 +1 ;;
Sol : int = 7
let a2 = a * a ;;
Sol : int = 49
a2 = 10 ;;
Sol : bool = false




Session 2 :

let a = 5 ;;
Sol : int = 5
let a = 12 in 2 * a +1 ;;
Sol : int = 25
let a2 = 2 * a ;;
Sol : int = 10
let a = 10 ;;
Sol : int = 10
a2 = a ;;
Sol : bool = true




Session 3 :

let a = 1 and b = 2 in a * b ;;
Sol : int = 2




Session 4 :

let a = 1 in let a = 2 and b = a in a + b ;;
Sol : int = 3




Session 5 :

let n = ’c’ in let n = 43 in char_of_int n ;;
Sol : char = ‘+’




Session 6 :

let m = "merci" and b = "beaucoup";;
Sol : m : string = "merci"
b : string = "beaucoup"
m;;
Sol : string = "merci"
m^b ;;
Sol : string = "mercibeaucoup"
m ^ " " ^ b ;;
Sol : string = "merci beaucoup"
m ^ " " ^ m ^ " " ^ m ;;
Sol : string = "merci merci merci"



Exercice 01 : Ecrire une fonction qui calcul la somme de 2 entiers.
Sol : let somme x y = x + y ;;



Exercice 02 : Ecrire une fonction qui incrémente de 1 un entier en utilisant la fonction somme précédente.
Sol : let incr x = somme 1 x ;;



Exercice 03 : Ecrire une fonction qui calcul le carré de x.
Sol : let carre x = x * x ;;



Exercice 04 : Ecrire une fonction qui calcul le cub de x.
Sol 1 : let cub x = x * x * x ;;
Sol 2 : (en utilisant la fonction carre précédente)
let cub x = carre x * x ;;




Exercice 05 : Ecrire une fonction qui converti une valeur x donnée en DA en son équivalent euro.
Rajouter let salaire = 20000 ;;
Qu’obtient-on pour euro salaire ?
Sol : let euro x = x /. 93.14 ;;
let salaire = 20000. ;; salaire : float = 20000.0
euro salaire ;; float = 214.730513206



Exercice 06 : Ecrire une fonction qui calcul l’énergie cinétique en physique EC :
m v = ½ m v².
Sol 1 : let cinetique m v = 0.5 *. m *. v *. v ;;



Exercice 08 : Ecrire une fonction qui calcul la valeur absolue d’un nombre x sachant que
|x| = x si x > 0 et –x sinon.
Sol 1 : let abs x = if x>=0 then x else -x ;;







TP N° 3 : CAML ( solutions )

اقتباس:



Exercice 1 : Ecrire une fonction qui indique si un entier est pair ou pas.
Sol 1 : let pair x = (x mod 2) = 0 ;;
pair 8 ;; bool = true
pair 11 ;; bool = false
Sol 2 : let pair x = if x mod 2 = 0 then
print_string (string_of_int x ^" "^ "est un entier pair")
else print_string (string_of_int x ^" "^ "est un entier impair");;
pair 8 ;; 8 est un entier pair
pair 11 ;; 11 est un entier impair

Exercice 2 : Ecrire une fonction qui indique si p divise n ou pas.
Sol 1 : let divise p n = ((n / p)* p = n) ;;
divise 4 12 ;; bool = true
divise 4 7;; bool = false
Sol 2 : let divise p n = if n mod p =0 then "p divise n"
else "p ne divise pas n" ;;
divise 4 12 ;; string = "p divise n"
divise 4 7;; string = "p ne divise pas n"

Exercice 3 : Ecrire une fonction qui calcul le maximum entre 2 nombres.
Sol : let max n p = if n > p then n else p ;;
max 8 25 ;; int = 25

Exercice 4 : Ecrire une fonction qui calcul le nombre de jour d’un mois m.
Sol 1 :
let njour y m = match m with
| 1| 3| 5| 7| 8| 10| 12 -> 31
| 2 -> if (y mod 4 = 0) then 29 else 28
| 4| 6| 9| 11 -> 30;;
njour 2000 6;; int = 30
njour 2000 2;; int = 29
njour 2003 2;; int = 28
Sol 2 : let njour y m = match m with
|"janvier"|"mars"|"mai"|"juill et"|"aout"|"octobre"|"decembre " ->31
|"février" -> if (y mod 4 =0) then 29 else 28
|"avril"|"juin"|"septembre"|"n ovembre" ->30 ;;
njour 2000 6;; int = 30
njour 2000 2;; int = 29
njour 2003 2;; int = 28

Sol 3 : let njour m = match m with
| 2 -> 28
| 4| 6| 9| 11 -> 30
| _ -> 31 ;;
njour 6;; int = 30
njour 2;; int = 28

Exercice 05 :
Indique si l’argument est une lettre ou pas.
Solution :
1) let lettre_ou_non x = match x with
|`a`..`z`|`A`..`Z`-> "lettre"
|_-> "autre";;
2) let estletrre = function
|`a`..`z` | `A`..`Z`-> true
|_ -> false ;;

Exercice 5 : Ecrire une fonction qui indique si l'argument est une lettre ou pas.
Sol 1 : let lettre_ou_non x = match x with
|`a`..`z`|`A`..`Z`-> "lettre"
|_-> "autre";;

Sol 2 : let lettre_ou_non = function
| 'a' .. 'z' | 'A' .. 'Z' -> true
| _ -> false;;

Exercice 6 : Ecrire une fonction qui calcul le nombre minimum de pièces contenues dans une somme donnée en utilisant seulement des pièces de 10, 5 et de 1 DA.
Exemple pour une somme de 87 Da on aurait 11 pièces ( 8 de 10 DA; 1 de 5 DA et 2 de 1 DA).
Sol 1 : let pieces x = (x/10) + (x mod 10)/5 + (x mod 10) mod 5;;
pieces 87 ;; int = 11

Sol 2 : let pieces = function x ->
( x / 10) + let r = x mod 10 in (r / 5) + (r mod 5) ;;

pieces 87 ;; int = 11

Exercice 7 : Ecrire une fonction qui calcul la moyenne de deux nombres x et y (version en entier et en float. Faite la différence)
Sol : pour float : let moy x y = (x +. y) /. 2. ;;
pour entier : let moy x y = (x + y) / 2 ;;
rajouter : let g = moy 2 ;; g : int -> int = <fun>
Quel est le résultat de : g 6 ;; int 4

Exercice 8 : Ecrire une fonction qui calcul le produit de 2 nombres x et y.
Sol : let f x y = x * y ;;
Rajouter g = f 2;;
Qu'obtient-on? Uncaught exception: Invalid_argument "equal: functional value"
Rajouter g 6;; int = 12

Exercice 9 : Ecrire une fonction qui calcul l'expression 2x +7.
Sol : let f x = 2 * x + 7 ;;
f 5;; int 17
Rajouter g = function x -> (f x) + (f ( 2 * x)) - x ;;
Qu'obtient-on?
Rajouter g 2;; int = 24



Exercice 10 : Soit x = 3, ecrire une fonction qui a y associe y + x (translation de x)
Sol : let f y = y +x ;;
f 2;; int =5
Rajouter: let x = 0;;
Rappeler f pour y = 2.
f 2 ;; int = 5 on obtient toujours 5.
Conclusion : Dans l'évaluation d'une fonction, s'il existe des paramètres, ils ne sont pas réévaluer a chaque fois (leur valeur est prise une fois pour toutes). Donc s'ils changent, pour la fonction comme si rien ne sait passer.


__________________
ميس31 غير متواجد حالياً  
قديم 11-06-2009, 08:43 PM
  #12
ميس31
VIP_MEMBRE
مشرفة سابقة
 الصورة الرمزية ميس31
 
تاريخ التسجيل: 12-10-2008
الدولة: algerie/oran
المشاركات: 1,513
ميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداع
افتراضي رد: exercices en langage caml

TP N° 4 : CAML (solutions)
اقتباس:





Exercice 01 :
· Ecrire une fonction qui calcul le produit scalaire pour u1,u2, v1, v2 en sachant qu'il est égal à u1*v1 + u2*v2.
Sol : let ProduitScalaire (u1, u2, v1, v2 )= u1 *. v1 +. u2 *. v2;;
ProduitScalaire (1.0, 2.0, 5.5, 4.5);; On obtient float =14.5
· Ecrire une fonction (booléenne) qui renseigne si deux vecteurs sont orthogonaux ou pas.
Sol : let orthogonal (u1, u2, v1, v2) = (ProduitScalaire (u1, u2, v1, v2) = 0.);;
orthogonal (1.5, 2.0, 2.0, -1.5);; On obtient bool = true
· Ecrire une fonction qui calcul la norme d'un vecteur.
Sol : let norme (u1, u2) = sqrt (ProduitScalaire (u1, u2, v1, v2));;
norme (1.0, 2.0) ;; On obtient float = 2.236067

Exercice 02 :
· Ecrire une fonction qui calcul le maximum et le minimum de deux nombres entiers.
Sol : let max2 (x, y) = if x >= y then x else y;;
let min2 (x, y) = if x < y then x else y;;
· Ecrire une fonction qui ordonne deux entiers.
Sol : let ordre2 (x, y) = min2(x,y), max2 (x, y);;
· Ecrire une fonction qui calcul le maximum et le minimum de quatre nombres entiers.
Sol : let max4 (w, x, y, z) = max2 (max2(w, x), max2(y, z));;
L et min4 (w, x, y, z) = min2 (min2(w, x), min2(y, z));;
· Ecrire une fonction qui ordonne quatre entiers.
Sol : let ordre4 (w, x, y, z) = let ma = max4 (w, x, y, z) and mi = min4 (w, x, y, z)
and a = min2 (max2(w, x), max2(y, z))
and b = max2 (min2(w, x), min2(y, z))
in (mi, min2(a,b), max2 (a, b), ma);;
· Sans utiliser les précédentes fonctions écrire la fonction max3 qui calcul la maximum de trois entiers.
Sol 1 : let max3 (x, y, z) = if x >= y then if x >= z then x else z
else if y>= z then y else z;;

Sol 2 : let max3 (x, y, z) = if x >= y && x >= z then x
else if y>= z && y >= z then y
else z;;

La Récursivité :

Exercice 03 :
Ecrire une fonction qui calcul la multiplication de deux entiers par additions successives utilisant la formule récurrente a * b = a + (b-1) *a
Sol : let rec fois (a, b) = if b = 0 then 0 else a + fois(a, b-1);;
fois (5, 7);; donne int = 35

Exercice 04 :
Ecrire une fonction qui calcul la distance entre deux points d'une droite avec la prise en compte que si le premier est situé avant le second. Sinon on se ramène au cas normal c-a-d en inversant les deux entiers.
Sol : let rec distance a b = if a < b then b-a else distance b a;;

Exercice 05 :
Ecrire une fonction qui calcul le factoriel d'un nombre entier.
Sol : let rec fact n = if n = 1 then 1 else n* fact (n - 1);;
fact 3;; donne int = 6

Exercice 06 :
Ecrire une fonction qui calcul la puissance d'un nombre entier.
Sol : let rec puiss x n = if n = 0 then 1 else x * puiss x (n - 1);;
puiss 3 2;; donne int = 9

Exercice 07 :
Ecrire une fonction qui calcul le Nième terme de la suite de FIBONACCI donnée par la formule : U(0) = U(1) = 1 et U(N) = U(N-1) + U(N-2) pour tout N >=2.
Sol : let rec fibo n = if n = 0 or n = 1 then 1 else fibo (n-1) + fibo (n- 2) ;;


Exercice 08 : Méthode de Newton pour l'équation x2 - a = 0.
Sol : let rec racine a n = if n = 1 then 1. else
x = (racine a (n-1)) in ((( x *. x) -. a) /. (2. *. x));;
racine 2. 50;; donne float 1.4142135....
TP N° 5 CAML (SOLUTIONS)
اقتباس:


D’autres fonctions à écrire ! !
Q 1 : Reprendre la fonction carre du cours, et l’utiliser pour définir la fonction polynôme :
P(X) = X2 + 2X + 1. Calculer P(1) et P(2).
Sol :
let carre(x) = x * x;;
let p(x) = carre(x) + 2 * x + 1;; (* p : int -> int = fun *)
p(1);; (* - : int = 4 *)
p(2);; (* - : int = 9 *)

Q 2 : &Eacute;crire la fonction définie par: f(x) = x/2 si x est pair 3x + 1 si x est impair
Sol : let f(x) = if x mod 2 = 0 then x/2 else 3*x+1;; (* f : int -> int = <fun> *)

Les COUPLES ET n-UPLETS :

Q 3 : On représente des nombres complexes comme des couples de réels (re,im).
Définir des fonctions conj(z) (conjugué de z) et mul(z1,z2) (produit de z1 et z2).
&Eacute;crire une fonction qui calcule |z|2 pour tout z.
Sol : let conj(re,im) = (re,-.im);; (* conj : 'a * float -> 'a * float = <fun> *)

let mult((ra,ia),(rb,ib)) = (ra *. rb -. ia *. ib),(ra *. ib +. rb *. ia);;
(* mult : (float * float) * (float * float) -> float * float = <fun. *)

let modu2(z) = let (r,i) = mult(z,conj(z)) in r;; (* modu2 : float * float -> float = <fun> *)
modu2 (0.,1.);; (* - : float = 1.0 *)
modu2 (1.,1.);; (* - : float = 2.0 *)

GESTION DES POLYNOMES :
Exercice : On désire faire la gestion de polynômes monômes à l’aide de tableaux.
On suppose pour cela que les monômes des polynômes sont tous positifs ou nuls.
(Pas de monômes de degré négatifs).
Questions :

1 - Ecrire une fonction imprime_Monome qui permet d’afficher un monôme (c-a-d son coeff et son degré) de la façon suivante coeff ^ X degré.
Pour une meilleur présentation on n’affichera pas :
- Le monôme si le coeff est nul
- Le coeff s’il est de 1.
- coeff X^ 0 mais seulement son coeff (si degré = 0)
Sol :
let imprime_monome coeff degre =
if degre = 0 then print_int coeff
else if coeff <> 0 then
begin print_string « + » ; if coeff <> 1 then print_int coeff ;
print_string « x » ;
if degre <> 1 then begin print_string « ^ » ;
print_int degre ;
end
end ;;
Exemple :
imprime_monome 3 4;; donnera : + 3 x ^ 4- : unit = ()

2 – Ecrire une fonction imprime_polynome qui permet d’afficher un polynôme.
(Il suffit de faire appel à la fonction imprime_Monome pour tous les monômes du polynôme à afficher).
Exemple Pour le polynôme P(X) = X2 + 2X + 3 on verrait : 3 + 2 X + X ^2
Sol :
let imprime_poly p = for i = 0 to vect_length p – 1 do imprime_monome p.(i) i done ;;
Pour l’exemple: let p=[|3; 2; 1|];;
imprime_poly p;;
Ont aura 3 + 2 x + x^2- : unit = ()


Les références :

Exercice 1 : Ecrivez un programme qui crée une boite nommée b contenant 10, puis qui augmente le contenu de cette boite de 5, et qui pour terminer affiche le contenu de la boite (qui sera 15).
Sol : let b = ref 10 in b := !b + 5; print_int !b;;
Ont aura: 15- : unit = ()

Exercice 2 : Ecrivez un programme qui demande un entier n à l'utilisateur, et qui lui demande ensuite n fois un entier, pour afficher à la fin la somme de ces n entiers.
Sol : let n = read_int() in
let total = ref 0 in for i = 1 to n do let entier = read_int() in total := !total + entier;
done;
print_int !total;;
Exemple:
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image001.gif[/IMG]4 la valeur de n
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image002.gif[/IMG]3
2 les valeurs de la variable entier
7
4
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image003.gif[/IMG]16- : unit = () le résultat (valeur de total)

Exercice 3 : Modifier le code précédent pour écrire un programme qui calcule la somme des entiers de 1 à n, où n est donné par l'utilisateur.
Sol : La modification à faire, c'est de remplacer le read_int() par la valeur du compteur i. On peut alors remplacer entier par i dans l'affectation.
let n = read_int() in let total = ref 0 in for i = 1 to n do total := !total + i; done;
print_int !total;;
Exemple:
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image004.gif[/IMG]5 la valeur de n
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image005.gif[/IMG]15- : unit = () le résultat (valeur de total)

Exercice 4 : Modifier encore le code précédent pour écrire un programme qui calcule la somme des racines des nombres entiers de 1 à n, où n est donné par l'utilisateur. Vérifiez que pour n = 100, le résultat de votre programme soit bien 671.462947103.
Sol : Cette fois si, il faut utiliser une boite contenant des réelles. Le contenu initial est alors 0. (le zéro des réels). Pour prendre la racine de la valeur du compteur, il faut d'abord le convertir en un réel, avec float_of_int on le rappelle. Il ne faut pas oublier de mettre un print_float à la fin pour afficher le total.
let n = read_int() in let total = ref 0. in for i = 1 to n do let ajout = sqrt (float_of_int i) in total := !total +. ajout;
done;
print_float !total;;
Exemple:
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image004.gif[/IMG]100 la valeur de n
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image005.gif[/IMG]671.462947103 - : unit = () le résultat (valeur de total)

Exercice 5 : Ecrivez un programme qui demande à l'utilisateur un entier n, puis qui lui demande n entiers, et affiche alors le nombre d'entiers fournis qui étaient supérieurs ou égaux à 5.
Sol : On utilise une boite nommée quantite qui retient le nombre d'entiers supérieurs à 5 qui ont déjà été fournis. A chaque fois que l'utilisateur donne un entier, on test s'il est supérieur à 5, et dans ce cas, on remplace augmente le contenu de quantité de 1.
Sol : let n = read_int() in let quantite = ref 0 in for i = 1 to n do let valeur = read_int() in
if (valeur >= 5)
then quantite := !quantite + 1;
done;
print_int !quantite;;
Exemple:
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image001.gif[/IMG]4 la valeur de n
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image006.gif[/IMG]7
8
2 Les valeurs de la variable valeur
3
[IMG]file:///H:/DOCUME~1/ORAN~1.UST/LOCALS~1/Temp/msohtml1/01/clip_image007.gif[/IMG]2- : unit = () le résultat (valeur de la variable quantite)

__________________
ميس31 غير متواجد حالياً  
قديم 11-06-2009, 08:45 PM
  #13
ميس31
VIP_MEMBRE
مشرفة سابقة
 الصورة الرمزية ميس31
 
تاريخ التسجيل: 12-10-2008
الدولة: algerie/oran
المشاركات: 1,513
ميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداع
افتراضي رد: exercices en langage caml

tp n° 6 caml (solutions)

اقتباس:

les listes :

exercice 1 : Ecrire une fonction qui permet de compter le nombre d’éléments dans une liste.
sol : Let rec longueur l = match l with
| [] -> 0
| (a :: L_suite) -> 1 + (longeur l_suite) ;;
exemple :
longueur [1 ;5 ;7 ;1 ;0] ;; donnera : - : Int = 5

exercice 2 : Ecrire une fonction qui permet de calculer la somme des éléments dans une liste.
sol 1 : Let rec somme = function
| [] -> 0
| (r ::q) -> r + somme q ;;
sol 2 : Let rec somme l = match l with
| [] -> 0
| (r ::q) -> r + somme q ;;
sol 3 : Let rec somme l = if l = [] then 0
else (lhd l) + (somme (tl l));;

exemple :
somme [1 ;5 ;7 ;1 ;0] ;; donnera : - : Int = 14

exercice 3 : Ecrire une fonction qui permet de tester la présence d’un élément dans une liste.
sol : Let rec existe element l = match l with
| [] -> false
| (t ::q) when t = element -> true
| (t ::q) -> existe element q ;;

pour existe 1 [5 ; 4 ; 3 ; 2 ; 1 ; 2 ; 2 ; 3 ; 4 ; 5] ;; retourne : Bool = true
pour existe 6 [5 ; 4 ; 3 ; 2 ; 1 ; 2 ; 2 ; 3 ; 4 ; 5] ;; retourne : Bool = false



exercice 4 : Ecrire une fonction qui permet de compter le nombre d’occurrence d’un nombre dans une liste.
sol 1 : Let rec compter n ln =
if ln = [] then 0
else if hd ln = n then 1 + compter n (tl ln)
else compter n (tl ln) ;;

sol 2 : Avec filtrage :
let rec compter n l = match l with
| [] -> 0
| h : :l -> let resultat = compter n l in
if h = n then 1 + resultat else resultat ; ;

pour compter 1 [1 ; 2 ; 3 ; 44 ; 1 ; 5 ; 6 ; 34 ; 56 ; 82 ; 1 ; 0];; on aurait int = 3

exercice 5 : Ecrire une fonction qui permet de multiplier par x tous les éléments d’une liste l.
sol :
let rec mult x l = match l with
| [] -> []
|y :: Reste -> (x*y) :: (mult x reste) ;;

pour mult 2 [1 ; 2 ; 3 ; 44 ; 1 ; 5 ; 6 ; 34 ; 56 ; 82 ; 1 ; 0];;
on aurait - : Int list = [2; 4; 6; 88; 2; 10; 12; 68; 112; 164; 2; 0]

exercice 6 : Ecrire une fonction qui réalise la concaténation de deux listes.
sol 1 : Let concat l m = l * m ;;
sol 2 : Let rec concat l m = match l with
| [] -> m
| x ::reste -> x :: (concat reste m) ;;

pour concat [1 ; 2 ; 3 ; 44 ] [ 5 ; 6 ; 34 ; 56 ; 82 ; 1 ; 0];;
on aurait - : Int list = [1; 2; 3; 44; 5; 6; 34; 56; 82; 1; 0]





exercice 7 : Ecrire une fonction qui réalise la fusion de deux listes supposées déjà triées.
sol : Let rec fusion l1 l2 = match (l1, l2 ) with
| ([], []) -> []
| (_, []) -> l1
| ([], _) -> l2
| (x :: Reste1, y :: Reste2) -> if x <= y then x :: (fusion reste1 l2)
else y :: (fusion l1 reste2) ;;

pour fusion [1 ; 5 ; 6 ; 44 ] [ 2; 5 ; 6 ; 34 ; 56 ; 82];;
on aurait : - : Int list = [1; 2; 5; 5; 6; 6; 34; 44; 56; 82]

pour fusion ["chat" ; "chien" ; "ours" ] ["miel";"os" ;"souris"];;
on aurait : - : String list = ["chat"; "chien"; "miel"; "os"; "ours"; "souris"]

exercice 8 : Ecrire une fonction qui recherche un élément indice i dans une liste.
sol 1 : Let rec cherche l i =
if (l = []) then failwith "rang incorrect"
else if i = 1 then hd l
else cherche (tl l) (i-1);;
sol 2 : Let rec cherche l i = match l with
|[]-> failwith "rang incorrect"
|(x::r) -> if i= 1 then x else cherche r (i-1);;

pour cherche [1; 2; 5; 6; 34; 44; 56; 82] 4;;
on aurait : Int = 6



__________________
ميس31 غير متواجد حالياً  
قديم 11-06-2009, 08:47 PM
  #14
ميس31
VIP_MEMBRE
مشرفة سابقة
 الصورة الرمزية ميس31
 
تاريخ التسجيل: 12-10-2008
الدولة: algerie/oran
المشاركات: 1,513
ميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداع
افتراضي رد: exercices en langage caml

هذا أقصى ما أستطيع فعله
ارجو أن تستفيد


__________________
ميس31 غير متواجد حالياً  
قديم 11-06-2009, 09:40 PM
  #15
becho
 
La spécialité: Autres
جامعة المسيلة
تاريخ التسجيل: 01-05-2009
الدولة: الجزائر
المشاركات: 52
becho عضو يستحق التميزbecho عضو يستحق التميز
افتراضي رد: exercices en langage caml

السلام عليكم ورحمة الله وبركاته
الله ينجحك اختي الكريمة
الله يحفظك ويعطيك ماتتمنين
becho غير متواجد حالياً  
قديم 11-06-2009, 10:10 PM
  #16
becho
 
La spécialité: Autres
جامعة المسيلة
تاريخ التسجيل: 01-05-2009
الدولة: الجزائر
المشاركات: 52
becho عضو يستحق التميزbecho عضو يستحق التميز
افتراضي رد: exercices en langage caml

السلام عليكم ورحمة الله وبركاته
اختي الكريمة لكن لايوجد
TP N° 01CAML (Solution)
becho غير متواجد حالياً  
قديم 12-06-2009, 11:18 AM
  #17
ميس31
VIP_MEMBRE
مشرفة سابقة
 الصورة الرمزية ميس31
 
تاريخ التسجيل: 12-10-2008
الدولة: algerie/oran
المشاركات: 1,513
ميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداعميس31 عضو محترف الابداع
افتراضي رد: exercices en langage caml

نعم هي لم تعطنا
يعني tp1 كان عبارة عن مبادئ أولية فقط
__________________
ميس31 غير متواجد حالياً  
قديم 12-06-2009, 02:54 PM
  #18
mimik
 الصورة الرمزية mimik
 
La spécialité: Autres
جامعة عبد الحق بن حمودة جيجل
تاريخ التسجيل: 12-05-2008
الدولة: الجزائر
المشاركات: 1,609
mimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداع
افتراضي رد: exercices en langage caml

اقتباس:
المشاركة الأصلية كتبت بواسطة ميس31 مشاهدة المشاركة
أختي ميميك
الرابط شغال مئة بالمئة
لا أدري ربما المشكلة من عندك
شكرا بالرابط الجديد استطعت التحميل شكرا اختي بارك الله فيك
__________________

mimik غير متواجد حالياً  
قديم 16-06-2009, 11:56 AM
  #19
3arabi3
 الصورة الرمزية 3arabi3
 
La spécialité: Informatique
جامعة عمار ثليجي الأغواط
تاريخ التسجيل: 01-06-2009
المشاركات: 64
3arabi3
افتراضي رد: exercices en langage caml

السلام عليكم
شكرا على هذه المجموعة الرائعة من التمارين

3arabi3 غير متواجد حالياً  
قديم 07-09-2009, 10:57 PM
  #20
مونينو
 
La spécialité: Autres
جامعة سعد دحلب البليدة
تاريخ التسجيل: 08-08-2009
المشاركات: 4
مونينو عضو يستحق التميز
افتراضي رد: exercices en langage caml

الرابط لا يعمل
مونينو غير متواجد حالياً  

الكلمات الدلالية (Tags)
caml, exercices, langage

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
Le Langage VHDL Cours Et Exercices azou annabi منتدى الالكترونيك 2 01-07-2010 01:42 PM
Exercices en langage C++ fathibenali الإعــلام الآلي والرياضيــات 4 12-02-2010 02:43 AM
live de langage on caml شذى الروح الإعــلام الآلي والرياضيــات 1 22-05-2009 07:58 AM
langage CAML lucky girl الإعــلام الآلي والرياضيــات 6 06-05-2009 10:55 PM


الساعة الآن 06:38 AM.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. , TranZ By Almuhajir