Auteur |
Message |
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Sam 21 Jan 2006 - 19:25 |
|
Bonjour à tous j'aurai besoin que vous corrigiez mon algo voici l'énoncé de l'exo :
TOUTNET SA utilise les services d'un transporteur pour assurer les livraisons des commandes auprès de ses clients. Celui-ci propose deux types de prestations :
*Une prestation <<transport URGENT>> pour livraison dans le département 54 uniquement. Le montant HT est calculé en appliquant les règles suivantes :
-Si le poids urgent est inférieur ou égal à 100kg : le tarif 1 sera appliqué sur ce poids.
-Si le poids urgent est inférieur ou égal à 1000kg : le tarif 1 sera appliqué jusqu'à 100kg, puis sur la tranche restante, on appliquera le tarif 2.
-A partir de 1001kg, on continuera à appliquer un système de tranche avec, sur la partie supérieur à 1000kg, le tarif 3.
Tarif 1 : 1.50€/kg
Tarif 2 : 1.00€/kg
Tarif 3 : 0.50€/kg
*Donc l'exo consiste à présenter un algorithme correspondant au calcul du montant HT d'une prestation de <<transport urgent>>.
Donc voici la solution que j'ai trouvé , à vous de me corriger je vous prie :
***********************************
PROGRAMME FraisDeTransport
VARIABLES :
POIDS : Réel (Poids de la livraison)
MHT : Réel (Montant hors taxes)
CONSTANTES :
TARIF1 <-- 1.50
TARIF2 <-- 1.00
TARIF3 <-- 0.50
DEBUT
Saisir "Poids de la livraison ?",POIDS
SI POIDS <= 100 ALORS
MHT <-- POIDS * TARIF1
SINON
SI POIDS <= 1000 ALORS
MHT <-- (POIDS-(POIDS-100)) * TARIF1
MHT <-- MHT+((POIDS-100) * TARIF2)
FINSI
SINON
SI POIDS > 1000 ALORS
MHT <-- 100 * TARIF1
MHT <-- MHT + (900*TARIF2)
MHT <-- MHT + ((POIDS-1000) * TARIF3)
FINSI
FINSI
Afficher "Montant HT :",MHT
*********************************
JE vous remerçie d'avance pour votre aide !! |
|
|
|
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Dim 22 Jan 2006 - 00:21 |
|
C'est correct.
Mais ton 3ème SI, pour le tarif 3, est inutile.
Enfin, un SELON aurait été bien plus judicieux, car très aproprié pour le calcul de tranches par exemple. |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Dim 22 Jan 2006 - 14:16 |
|
Ah bon ? Il y a une instruction SELON??
Dans ce cas à quel moment l'utilise-t-on?? |
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Dim 22 Jan 2006 - 15:21 |
|
SELON est utilisé dans le cas de SI imbriqués, et est bien plus lisible.
Exemple :
Code: |
SELON LES VALEURS DE variable ou expression
valeur1 : action 1 ou bloc d'actions
...
valeurN : action N ou bloc d'actions
AUTREMENT
action N+1 ou bloc d'actions
FIN SELON |
Le AUTREMENT est très utile pour une mauvaise saisie, style par exemple si l'utilisateur saisit un nombre négatif.
Pour ton cas, on peut aussi très bien mettre des tranches, du style :
Code: |
0..100 : action 1 ou bloc d'actions |
|
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Dim 22 Jan 2006 - 17:26 |
|
Disons que l'exercice est relatif à l'utilisation des structures imbriquées avec SI je suis pas encore arrivé à l'instruction SELON en plus j'suis con parce que je la connais dans le langage C SELON fait référence à SWITCH, CASE
si je me souviens bien!! En tout cas je te remerçie pour tes explications et la correction c'est très important pour moi !! |
|
|
|
|
kronky
Accro à Web-IG
Sexe:
Messages: 143
Localisation: Dijon
|
Posté le:
Dim 22 Jan 2006 - 19:35 |
|
Resalut, c'est encore moi,
Il y a juste dans la deuxième condition un truc me gène :
Code: |
SI POIDS <= 1000 ALORS
MHT <-- (POIDS-(POIDS-100)) * TARIF1
|
(Poids-(Poids-100)) = 100
Pourquoi faire simple quand on peut faire compliqué... |
|
|
|
|
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Lun 23 Jan 2006 - 23:08 |
|
t'as raison je suis allé loin dans mon raisonnement !! |
|
|
|
|
|