Bonjour !

J'aurai aimé savoir, déjà ce que vous en pensez globalement, mais aussi si le second algorithme est valable ?
Lequel est le plus compréhensible selon vous ?

Pour info, c'est un problème sur le tarif d'une assurance (qui va du moins cher au plus cher : bleu, vert, orange, rouge) et la dernière partie de l'algo signifie juste que si la personne a déjà fait plus d'un an dans la boite, on lui donne la meilleure assurance possible.

Merci d'avance

(au besoin je pourrai mettre l'énoncé)

Code : 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
Variables age, accident Type Entier;
Variable permis Type Boolean;
Variable assu Type String;
 
Début
Si (age <= 25 ans) Alors
	Si (permis < 2 ans) Alors
		Si (accident < 0) Alors Ecrire "assu ROUGE";
		Sinon Ecrire "assu REFUSE";
		Fin Si
 
	Sinon Si (accident = 0) Alors Ecrire "assu ORANGE";
	Sinon Si (accident = 1) Alors Ecrire "assu ROUGE";
		Sinon Ecrire "assu REFUSE";
	Fin Si
 
Sinon
	Si (permis < 2 ans) Alors
		Si (accident = 0) Alors Ecrire "assu ORANGE";
		Sinon Si (accident = 1) Alors Ecrire "assu ROUGE";
		Sinon Ecrire "assu REFUSE";
		Fin Si
 
	Sinon Si (accident = 0) Alors Ecrire "assu VERT";
	Sinon Si (accident = 1) Alors Ecrire "assu ORANGE";
	Sinon Si (accident = 2) Alors Ecrire "assu ROUGE";
		Sinon Ecrire "assu REFUSE";
Fin Si;
 
Si (date_entree >= date_actuelle + 1) Alors
	Si assu = "ROUGE" Alors assu = "ORANGE";
	Sinon Si assu = "ORANGE" Alors assu = "VERT"
	Sinon assu = "BLEU";
Fin Si
Fin
Le second :
Code : 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
Variables age, accident, permis Type Entier;
Variables date_entree, date_actuelle type Date;
Variable assu Type String;
 
Début
Ecrire "REFUSE"
	Si (age <= 25 ans  ET permis <= 2 ans ET accident > 0)
	OU (age <= 25 ans  ET permis > 2 ans ET accident > 1)
	OU (age > 25  ans ET permis  <= 2 ans ET accident > 1)
	OU (age > 25  ans ET permis > 2 ans ET accident > 2);
Fin Si
 
Ecrire "ROUGE"
	Si (age <= 25 ans ET permis <= 2 ans ET Accident = 0)
	OU (age <= 25 ans ET permis > 2 ans ET accident = 1)
	OU (age > 25 ans ET permis <= 2 ans ET accident = 1)
	OU (age > 25 ans ET permis > 2 ans ET accident = 2);
Fin Si
 
Ecrire "ORANGE"
	Si (age <= 25 ans ET permis > 2 ans ET accident = 0)
	OU (age > 25 ans ET permis <= 2 ans ET accident = 0)
	OU (age > 25 ans ET permis > 2 ans ET accident = 1)
Fin Si
 
Ecrire "VERT"
	Si (age > 25 ans ET permis > 2 ans ET accident = 0)
Fin Si
 
Si (date_entree >= date_actuelle + 1) Alors
	Si assu = "ROUGE" Alors assu = "ORANGE";
	Sinon Si assu = "ORANGE" Alors assu = "VERT"
	Sinon Si assu = "VERT" Alors assu = "BLEU;
Fin Si
Fin