-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExample.ml
More file actions
70 lines (54 loc) · 2.18 KB
/
Copy pathExample.ml
File metadata and controls
70 lines (54 loc) · 2.18 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
(****************************************************)
(****************** JEUX DE TESTS *******************)
(****************************************************)
(* On inclu le projet contenant les fonctions du projet *)
include "projetV4.ml";;
(* Chemin d'accès absolu vers le dictionnaire *)
let file = "C:\Users\Taffoureau\Documents\dico.txt";;
(* La grille de jeu, sous forme de triplet (lettre, points, bonus) *)
let grille=[("d", 1, 0);
("i", 1, 0);
("t", 2, DL);
("a", 1, 0);
("m", 1, DW);
("j", 1, 0);
("n", 3, 0);
("a", 1, 0);
("e", 1, TW);
("a", 1, 0);
("z", 2, 0);
("g", 1, 0);
("e", 1, 0);
("s", 1, TL);
("i", 1, 0);
("f", 2, 0)];;
(* On ouvre le fichier dans un file descriptor *)
let fd = open_in(file);;
(* On prend l'empreinte du temps courante *)
let timeRead = Sys__time();;
(* On recupère le contenu du dictionnaire *)
let fileContent = readFileByLines(fd);;
(* Combien de temps la lecture du dictionnaire a-t-elle prise *)
let timeRead = Sys__time() -. timeRead;;
(* On ferme le fd *)
close_in fd;;
(* On reprend l'empreinte de temps courante *)
let timeTree = Sys__time();;
(* On crée l'arbre associé au contenu du dictionnaire *)
let arbre = createTree(fileContent, Noeud((` `, false), []));;
(* Combien de temps la génération de l'arbre a-t-elle prise ? *)
let timeTree = Sys__time() -. timeTree;;
(* On reprend l'empreinte de temps courante *)
let timeResult = Sys__time();;
(* On lance l'algorithme de recherche des résultats à partir de la grille et de l'arbre construit *)
let (result, points) = solve grille arbre;;
(* Combien de temps la recherche des resultat a-t-elle prise ? *)
let timeResult = Sys__time() -. timeResult;;
(* On affiche statistiques, temps, points et nombre de résultats *)
print_string("\n\nLecture du fichier: " ^ string_of_float(timeRead));;
print_string("Creation de l'arbre: " ^ string_of_float(timeTree));;
print_string("Recherche des résultats: " ^ string_of_float(timeResult));;
print_string("Nombre de résultats: " ^ string_of_int(list_length result));;
print_string("Nombre de points: " ^ string_of_int(points));;
print_string("Liste des résultats:");;
displayStringList(result, "\n", 8);;