Bonsoir , j'ai un petit probleme concernant un programme en Caml . Il est censé dessiner les carrés suivants : http://img293.imageshack.us/img293/6...rcursiftn3.jpg . Mais mon algo ne dessine qu'un seul carré sans prendre en compte la récursivité . Mon code :

Code caml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
(* initialisation graphique *)
#load "graphics.cma";; 
Graphics.open_graph "";;
Graphics.set_color 0;;
 
(* definition du type point en 2D, de son constructeur et de ses accesseurs *)
type point = {x:int; y:int};;
let creer_point a b = {x=a; y=b};; 				    	
 
 
let tracerCarre a taille =
	Graphics.set_color Graphics.red;
	Graphics.fill_rect (a.x) (a.y) taille taille;
;;
 
let carre_central a taille = creer_point (a.x + (taille/3)) (a.y + (taille/3));;
 
let rec carrecursifs a taille = if taille < 2
									then tracerCarre a taille
										else
										begin
											tracerCarre a taille ;
											carrecursifs ( carre_central a taille ) (taille*(1/3)) ;
											carrecursifs a (taille*(1/3)) ;
											carrecursifs (creer_point (a.x + ((2/3)*taille) )( a.y )) (taille*(1/3));
											carrecursifs (creer_point (a.x + ((2/3)*taille) )( a.y + ((2/3)*taille))) (taille*(1/3));	
											carrecursifs (creer_point (a.x)(a.y+ ((2/3)*taille))) (taille*(1/3))
										 end ;; 
 
(* val carrecursifs : point -> int -> unit = <fun> *)
 
(* Creation d'un point *)
let a = creer_point 0 0;;
let taille = 333 ;;
 
 
(* nettoyage de la fenetre graphique *)
 Graphics.clear_graph();;
 
 carrecursifs a taille;;

Si quelqu'un a une idée ou est prêt à me filer un coup de main je lui serais plutôt reconnaisant

Merci d'avance !

PS:Ce code est pour la premiere image ( à gauche ).