Algo sur une assurance (simple)
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:
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:
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 |