-
Notifications
You must be signed in to change notification settings - Fork 0
/
backtracking.adb
60 lines (41 loc) · 1.76 KB
/
backtracking.adb
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
with Kirkman, Ensembles, Ada.Text_IO;
procedure Backtracking is
package K is new Kirkman(15, 3, 7);
package Txt renames Ada.Text_IO;
function GenererRang(ConnaissancesGroupe : in out K.ConnaissancesGroupe; Personnes_Presentes : in out K.EP.Ensemble) return K.Rang is
Resultat : K.Rang;
begin
return Resultat;
end GenererRang;
function GenererJour(ConnaissancesGroupe : in out K.ConnaissancesGroupe) return K.Jour is
Resultat : K.Jour;
Personnes_Presentes : K.EP.Ensemble;
begin
for Indice in Resultat'Range loop
Resultat(Indice) := GenererRang(ConnaissancesGroupe, Personnes_Presentes);
end loop;
return Resultat;
end GenererJour;
function GenererSemaine return K.Semaine is
Resultat : K.Semaine;
ConnaissancesGroupe: K.ConnaissancesGroupe;
begin
for Indice in Resultat'Range loop
Resultat(Indice) := GenererJour(ConnaissancesGroupe);
end loop;
return Resultat;
end GenererSemaine;
ConnaissancesGroupe: K.ConnaissancesGroupe;
Experience : K.Semaine;
begin
Txt.Put_Line ("-- Instanciation du premier jour");
Experience(1) := (((1, True), (2, True), (3, True)), ((4, True), (5, True), (6, True)), ((7, True), (8, True), (9, True)), ((10, True), (11, True), (12, True)),
((13, True), (14, True), (15, True)));
Txt.Put_Line ("-- Affichage du premier jour");
K.AfficherJour(Experience(1));
Txt.Put_Line ("-- Mémorisation des rencontres du premier jour");
K.RetenirRencontresJour(Experience(1), ConnaissancesGroupe);
Txt.Put_Line ("-- Affichage des connaissances des groupes");
K.AfficherCG(ConnaissancesGroupe);
Txt.Put_Line ("-- Fin du programme");
end Backtracking;