Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 Besoin d'être corrigé pour cet algo Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Shakan972
Forumeur fréquent
Forumeur fréquent


Ecole d'Ingénieurs

Messages: 67

MessagePosté le: Sam 21 Jan 2006 - 19:25 Répondre en citantRevenir en haut

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 !! Very Happy Very Happy
Voir le profil de l'utilisateurEnvoyer un message privé

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
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Dim 22 Jan 2006 - 00:21 Répondre en citantRevenir en haut

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 Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Shakan972
Forumeur fréquent
Forumeur fréquent


Ecole d'Ingénieurs

Messages: 67

MessagePosté le: Dim 22 Jan 2006 - 14:16 Répondre en citantRevenir en haut

Ah bon ? Il y a une instruction SELON??

Dans ce cas à quel moment l'utilise-t-on??
Voir le profil de l'utilisateurEnvoyer un message privé
Genzo
Modérateur
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Dim 22 Jan 2006 - 15:21 Répondre en citantRevenir en haut

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


Wink

_________________
N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Shakan972
Forumeur fréquent
Forumeur fréquent


Ecole d'Ingénieurs

Messages: 67

MessagePosté le: Dim 22 Jan 2006 - 17:26 Répondre en citantRevenir en haut

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 !! Smile
Voir le profil de l'utilisateurEnvoyer un message privé
kronky
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur Diplômé
Sexe: Sexe:Masculin
Messages: 143
Localisation: Dijon

MessagePosté le: Dim 22 Jan 2006 - 19:35 Répondre en citantRevenir en haut

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é... Wink
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer l'e-mailVisiter le site web du posteurMSN Messenger
Shakan972
Forumeur fréquent
Forumeur fréquent


Ecole d'Ingénieurs

Messages: 67

MessagePosté le: Lun 23 Jan 2006 - 23:08 Répondre en citantRevenir en haut

t'as raison je suis allé loin dans mon raisonnement !!
Voir le profil de l'utilisateurEnvoyer un message privé
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum