Bonsoir,
J'ai tapé sur caml deux programmes mais il y a une erreur que je ne comprend pas dans chaque cas:
*Résolution d'une équation du 2de degré:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 let degre_2(a,b,c)= if a= 0. then failwith "equation incorrecte" else let delta = b**.2.-.4.*.a*.c in if delta >= 0. then ((-.b+.sqrt(delta)/.(2.*.a), (-.b+.sqrt(delta)/.(2.*.a)) else failwith "discriminant négatif";;
Entrée interactive:
je ne vois pas le soucis avec ce else !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 > else failwith "discriminant négatif";; > ^^^^ Erreur de syntaxe.
*Permutation de 2 éléments avec "if":
Entrée interactive:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 let permut x y= let sauv=!ref x in if y<x then x:= !y y:= !sauv else x:=!x y:=!y;;
là encore je ne vois pas ce que 'a signifie...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 > y:= !sauv > ^ Cette expression est de type ('a -> 'b) ref, mais est utilisée avec le type 'a.
Merci de votre aide.
Partager