[java]où dois je placer le tarif bleu
Résolu/Fermé
A voir également:
- [java]où dois je placer le tarif bleu
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Placer des points sur une carte - Guide
- Java apk - Télécharger - Langages
- Whatsapp message lu mais pas bleu - Guide
6 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
20 mai 2015 à 17:51
20 mai 2015 à 17:51
Bonjour,
Pour prendre en compte ce cas il te manque une information : la date de souscription de l'assuré (et donc son ancienneté), si elle est supérieure à 1 an, tu rentres directement en tarif bleu.
Pour le reste, je pense que tu peux faire des simplifications dans tes if, tu pourrais par exemple t'aider d'une table de Karnaugh.
Remarque : tu devrais utiliser
Pour prendre en compte ce cas il te manque une information : la date de souscription de l'assuré (et donc son ancienneté), si elle est supérieure à 1 an, tu rentres directement en tarif bleu.
Pour le reste, je pense que tu peux faire des simplifications dans tes if, tu pourrais par exemple t'aider d'une table de Karnaugh.
Remarque : tu devrais utiliser
&&pour les booléens,
&a un comportement un peu différent et ne devrait être utilisé que pour les calculs de bits à bits.
vous pouvez aidez simplifiez les if svp?
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
20 mai 2015 à 19:53
20 mai 2015 à 19:53
Je pars du principe que tu as lu et compris l'article sur les tables de Karnaugh dont j'ai donné le lien tout à l'heure.
Et je pose :
A, la condition sur l'age, avec 0 si <=25 et 1 si >25
B, la date du permis, avec 0 si <2 et 1 si >=2
C, l'ancienneté du contrat, avec 0 si <1 et 1 si >=1
D, le nombre d'accident, avec 0 si =0 et 1 si >0 (ce n'est pas parfait, mais c'est un début)
Le tableau de Karnaugh devrait donner (par exemple)
Avec R = tarif rouge, O = tarif orange, V = tarif vert, B = tarif bleu, N = refusé. Et pour gérer le cas particulier du nombre d'accident, on a R1 = Rouge si 1 accident ou refusé si plus, B1 = Bleu si 1 accident ou refusé si plus, B2 = Bleu si 1 ou 2 accidents, refusé si plus et enfin O1R2 = Orange si 1 accident, Rouge si 2 accidents, refusé si plus.
Dans les simplifications on voir apparaître trois choses. La plus évidente c'est la quatrième colonne sur le tarif bleu, il y a également les lignes 2 et 4 qui sont identiques. Et c'est plus anecdotique, mais on peut également simplifier les deux N de la première ligne.
Cela nous donne (à vérifier bien sûr, je fais ça sans tester)
Remarque : il y a d'autre manières de réfléchir. On peut également partir d'une "couleur" de départ (par exemple "bleu" ou "vert" selon l'ancienneté) et progressivement passé au orange, rouge ou refus dès lors que les conditions sont égrainées peu à peu. C'est une méthode particulièrement utile quand il y a beaucoup de conditions, d'états possibles et des évolutions à prévoir.
Et je pose :
A, la condition sur l'age, avec 0 si <=25 et 1 si >25
B, la date du permis, avec 0 si <2 et 1 si >=2
C, l'ancienneté du contrat, avec 0 si <1 et 1 si >=1
D, le nombre d'accident, avec 0 si =0 et 1 si >0 (ce n'est pas parfait, mais c'est un début)
Le tableau de Karnaugh devrait donner (par exemple)
CD 00 01 11 10
AB
00 R N N B
01 O R1 B1 B
11 V O1R2 B2 B
10 O R1 B1 B
Avec R = tarif rouge, O = tarif orange, V = tarif vert, B = tarif bleu, N = refusé. Et pour gérer le cas particulier du nombre d'accident, on a R1 = Rouge si 1 accident ou refusé si plus, B1 = Bleu si 1 accident ou refusé si plus, B2 = Bleu si 1 ou 2 accidents, refusé si plus et enfin O1R2 = Orange si 1 accident, Rouge si 2 accidents, refusé si plus.
Dans les simplifications on voir apparaître trois choses. La plus évidente c'est la quatrième colonne sur le tarif bleu, il y a également les lignes 2 et 4 qui sont identiques. Et c'est plus anecdotique, mais on peut également simplifier les deux N de la première ligne.
Cela nous donne (à vérifier bien sûr, je fais ça sans tester)
public static String tarif(int age, int permis, int contrat, int accident) { // 4è colonne if (contrat>=1 && accident==0) { // pour encourager la fidélité des clients acceptés, la compagnie propose un contrat de la couleur bleu immédiatement la plus avantageuse s'il est entré dans la maison depuis plus d'un an. return "bleu"; } // 2è et 4 ligne if ((age<25 && permis>=2) || (age>=25 && permis<=2) { // Un conducteur de moins 25 ans et titulaire du permis depuis plus de 2 ans, ou de plus de 25 ans mais titulaire du permis depuis moins de deux ans a le droit au tarif orange s'il n'a jamais provoqué d'accident, au tarif rouge pour un accident, sinon il est refusé. // 1ère colonne if (contrat<1 && accident==0) return "orange"; // 2è et 3è colonne if (accident>1) return "refus"; if (anciennete<1) return "rouge"; // colonne 2 else return "bleu"; // colonne 3 } // 1è ligne if (age<25 && permis<2) { // Un conducteur de moins 25 ans et titulaire du permis depuis moins de 2 ans, se voit attribuer le tarif rouge, si toutefois il n'a jamais été responsable d'accident. Sinon, la compagnie refuse de l'assurer. if (accident==0) return "rouge"; // colonne 1 else return "refus"; // colonne 2 et 3 } // 3è ligne if (age>=25 && permis <=2) // toujours vrai vu qu'on a déjà traité les autres cas { // Un conducteur de plus de 25 ans et titulaire du permis depuis plus de 2 ans bénéficie du tarif vert s'il n'est à l'origine d'aucun accident et du tarif orange pour un accident, du tarif rouge pour deux accidents, et refusé au-delà // colonne 1 if (contrat<1 && accident==0) return "orange"; // colonne 2 et 3 if (accident > 2) return "refus"; else { // colonne 3 if (contrat>=1) return "bleu"; // colonne 2 if (accident==1) return "orange"; else // accident==2 return "rouge"; } } }
Remarque : il y a d'autre manières de réfléchir. On peut également partir d'une "couleur" de départ (par exemple "bleu" ou "vert" selon l'ancienneté) et progressivement passé au orange, rouge ou refus dès lors que les conditions sont égrainées peu à peu. C'est une méthode particulièrement utile quand il y a beaucoup de conditions, d'états possibles et des évolutions à prévoir.
domxaline
Messages postés
188
Date d'inscription
lundi 16 mai 2005
Statut
Membre
Dernière intervention
7 mars 2018
10
>
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
21 mai 2015 à 16:33
21 mai 2015 à 16:33
bonjour monsieur merci pour votre aide
je ne comprend pas ce tableau
CD 00 01 11 10
AB
00 R N N B
01 O R1 B1 B
11 V O1R2 B2 B
10 O R1 B1 B
je ne comprend pas ce tableau
CD 00 01 11 10
AB
00 R N N B
01 O R1 B1 B
11 V O1R2 B2 B
10 O R1 B1 B
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
21 mai 2015 à 18:56
21 mai 2015 à 18:56
C'est le O en gras qui pose problème ?
A=1, B=0, C=0, D=0, c'est à dire, âge>25, permis<2, contrat<1, accident=0
On est dans ce cas là :
A=1, B=0, C=0, D=0, c'est à dire, âge>25, permis<2, contrat<1, accident=0
On est dans ce cas là :
Un conducteur de moins 25 ans et titulaire du permis depuis plus de 2 ans, ou de plus de 25 ans mais titulaire du permis depuis moins de deux ans a le droit au tarif orange s'il n'a jamais provoqué d'accident, au tarif rouge pour un accident, sinon il est refusé.
CD 00 01 11 10
AB
00 R N N B
01 O R1 B1 B
11 V O1R2 B2 B
10 O R1 B1 B
pouvez vous m'expliquez les N SVP
AB
00 R N N B
01 O R1 B1 B
11 V O1R2 B2 B
10 O R1 B1 B
pouvez vous m'expliquez les N SVP
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
21 mai 2015 à 23:22
21 mai 2015 à 23:22
Pourquoi est-ce que tu ne lis pas ce que je marque dans mes réponses ?
Avec R = tarif rouge, O = tarif orange, V = tarif vert, B = tarif bleu, N = refusé.
ok compris
mais j'ai toujours même pb avec tarif bleu
il manques un paramètres peut être?
mais j'ai toujours même pb avec tarif bleu
il manques un paramètres peut être?
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
22 mai 2015 à 18:44
22 mai 2015 à 18:44
Là encore c'est une question à laquelle j'ai déjà répondu, c'était même ma première réponse :
Pour prendre en compte ce cas il te manque une information : la date de souscription de l'assuré (et donc son ancienneté)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question