Exercice d'algo a resoudre
Fermé
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
-
6 mars 2008 à 10:55
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 6 mars 2008 à 18:05
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 6 mars 2008 à 18:05
A voir également:
- Exercice d'algo a resoudre
- Exercice informatique cm2 pdf ✓ - Forum Études / Formation High-Tech
- Exercice opérateur de saisie ✓ - Forum Études / Formation High-Tech
- Triangle des textures exercice corrigé - Forum Loisirs / Divertissements
- Fleur d'encre 5eme corrigé exercice ✓ - Forum PDF
- Exercice d'expression écrite cm2 gratuit - Télécharger - Éducatifs
13 réponses
Début
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
sinon Si poids <= 50 Alors
prix<-- prix+0.25
sinon Si poids <= 100 Alors
prix<-- prix+0.36
sinon Si poids <= 250 Alors
prix<-- prix+0.79
sinon Si poids<= 500 Alors
Prix<-- prix+ 0.75
Sinon
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Afficher(« Le prix du timbre est : »,prix)
Fin
mettre les finsi
sinon tu peux faire des tant que poid > ____ et <= ____
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
sinon Si poids <= 50 Alors
prix<-- prix+0.25
sinon Si poids <= 100 Alors
prix<-- prix+0.36
sinon Si poids <= 250 Alors
prix<-- prix+0.79
sinon Si poids<= 500 Alors
Prix<-- prix+ 0.75
Sinon
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Afficher(« Le prix du timbre est : »,prix)
Fin
mettre les finsi
sinon tu peux faire des tant que poid > ____ et <= ____
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
6 mars 2008 à 11:55
6 mars 2008 à 11:55
ton algo est bon, sauf que si tu sors des poids réglemnantaires, tu vas tout de même afficher "le prix du timbre set 0.5", sachant que prix a été initialisé à 0.5 en début d'algo.
il faut que tu trouve un moyen pour ne pas afficher "le prix du timbre set XX" quand tu passe dans le
"Sinon
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
"
il faut que tu trouve un moyen pour ne pas afficher "le prix du timbre set XX" quand tu passe dans le
"Sinon
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
"
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
1
6 mars 2008 à 12:12
6 mars 2008 à 12:12
En faisant comme ca ca devrait aller non??
:
5) Tarifs postaux
Début
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
Si poids <= 50 Alors
prix<-- prix+0.25
Si poids <= 100 Alors
prix<-- prix+0.36
Si poids <= 250 Alors
prix<-- prix+0.79
Si poids<= 500 Alors
prix<-- prix+ 0.75
Afficher(« Le prix du timbre est : »,prix)
Sinon
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Fin
:
5) Tarifs postaux
Début
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
Si poids <= 50 Alors
prix<-- prix+0.25
Si poids <= 100 Alors
prix<-- prix+0.36
Si poids <= 250 Alors
prix<-- prix+0.79
Si poids<= 500 Alors
prix<-- prix+ 0.75
Afficher(« Le prix du timbre est : »,prix)
Sinon
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Fin
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
6 mars 2008 à 12:18
6 mars 2008 à 12:18
il manque des sinon avant tout tes si excepté le 1er, et si tu fais comme ça, tu n'aura le message "le prix du timbre est XX" que dans le cas d'une lettre de poids >500
pour te mettre sur la piste, pour afficher ce message, tu peux tester si le poids est valide. avec une variable en plus, c'est facile à faire.
pour te mettre sur la piste, pour afficher ce message, tu peux tester si le poids est valide. avec une variable en plus, c'est facile à faire.
willerme
Messages postés
35
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
6 mars 2008
7
6 mars 2008 à 12:27
6 mars 2008 à 12:27
Si tu ne met pas les "sinon si" après le premier si, ta lettre aura toujours le même prix puisque ton envellope si elle est <= a 20g elle est aussi <= 500g la lettre coutera donc toujours le maximum.
Comprens tu ?
Comprens tu ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
6 mars 2008 à 12:32
6 mars 2008 à 12:32
bonjour,
Je pense qu'il y a quand même un petit problème dans vos algos ... Imaginons une lettre qui pèse 155 grammes, je ne vais payer que 0.86 € avec vos algos, au lieu de 1.11 € comme dit dans l'énoncé ...
Un bon moyen de vérifier, c'est de prendre un crayon et du papier et décrire noir sur blanc ce qui se passe à chaque étape.
Si j'écris ce que vous avez mis, ça donne ça :
ma lettre pèse plus de 100 grammes et moins de 250 grammes, j'applique ce qu'il y a d'écrit :
prix <-- prix + 0.36
prix = 0.50 + 0.36 = 0.86 €
copie à revoir ...
;o)
polux
Je pense qu'il y a quand même un petit problème dans vos algos ... Imaginons une lettre qui pèse 155 grammes, je ne vais payer que 0.86 € avec vos algos, au lieu de 1.11 € comme dit dans l'énoncé ...
Un bon moyen de vérifier, c'est de prendre un crayon et du papier et décrire noir sur blanc ce qui se passe à chaque étape.
Si j'écris ce que vous avez mis, ça donne ça :
ma lettre pèse plus de 100 grammes et moins de 250 grammes, j'applique ce qu'il y a d'écrit :
prix <-- prix + 0.36
prix = 0.50 + 0.36 = 0.86 €
copie à revoir ...
;o)
polux
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
1
6 mars 2008 à 12:44
6 mars 2008 à 12:44
Euh...en theorie...sachant que j'affecte a chaque fois une nouvelle donnée a prix
La variable prix change a chaque condition...donc
Prix<--0 ...en premiere ligne
Prix <-- Prix+0.36 ensuite...donc la viriable Prix a changer...
Tu vois ou pas???
Sinon...il est vrai qu'il manque des SInon a Mettre...
Je suis en train de le faire là
eMerci
La variable prix change a chaque condition...donc
Prix<--0 ...en premiere ligne
Prix <-- Prix+0.36 ensuite...donc la viriable Prix a changer...
Tu vois ou pas???
Sinon...il est vrai qu'il manque des SInon a Mettre...
Je suis en train de le faire là
eMerci
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
1
6 mars 2008 à 12:47
6 mars 2008 à 12:47
Voila..
Cela me semble bizarre..mais ..qui ne tente rien n'a rien...
Tarifs postaux
Début
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
Sinon
Si poids <= 50 Alors
prix<-- prix+0.25
Sinon
Si poids <= 100 Alors
prix<-- prix+0.36
Sinon
Si poids <= 250 Alors
prix<-- prix+0.79
Sinon
Si poids<= 500 Alors
prix<-- prix+ 0.75
Afficher(« Le prix du timbre est : »,prix)
Finsi
Si poids>=500 Alors
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Fin
Cela me semble bizarre..mais ..qui ne tente rien n'a rien...
Tarifs postaux
Début
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
Sinon
Si poids <= 50 Alors
prix<-- prix+0.25
Sinon
Si poids <= 100 Alors
prix<-- prix+0.36
Sinon
Si poids <= 250 Alors
prix<-- prix+0.79
Sinon
Si poids<= 500 Alors
prix<-- prix+ 0.75
Afficher(« Le prix du timbre est : »,prix)
Finsi
Si poids>=500 Alors
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Fin
willerme
Messages postés
35
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
6 mars 2008
7
6 mars 2008 à 12:48
6 mars 2008 à 12:48
Tarifs postaux
DEBUT
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
SI poids >= 500
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
SINON
SI poids <= 20 Alors
prix<-- prix
SINON SI poids <= 50 Alors
prix<-- prix+0.25
SINON SI poids <= 100 Alors
prix<-- prix+0.61
SINON SI poids <= 250 Alors
prix<-- prix+1.40
SINON SI poids<= 500 Alors
prix<-- prix+ 2.15
Fsi
Afficher(« Le prix du timbre est : »,prix)
FIN
Mais la je ne pense pas que c'est ce que l'on attende de toi d'après cette phrase : Le calcul tarif est fonction du poids,et doit se faire uniquement en fonction de la majoration par rapport au tarif precedent.
DEBUT
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
SI poids >= 500
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
SINON
SI poids <= 20 Alors
prix<-- prix
SINON SI poids <= 50 Alors
prix<-- prix+0.25
SINON SI poids <= 100 Alors
prix<-- prix+0.61
SINON SI poids <= 250 Alors
prix<-- prix+1.40
SINON SI poids<= 500 Alors
prix<-- prix+ 2.15
Fsi
Afficher(« Le prix du timbre est : »,prix)
FIN
Mais la je ne pense pas que c'est ce que l'on attende de toi d'après cette phrase : Le calcul tarif est fonction du poids,et doit se faire uniquement en fonction de la majoration par rapport au tarif precedent.
willerme
Messages postés
35
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
6 mars 2008
7
6 mars 2008 à 12:49
6 mars 2008 à 12:49
Si poids<= 500 Alors
prix<-- prix+ 0.75
Afficher(« Le prix du timbre est : »,prix)
Finsi
La tu doit afficher ta reponse en dehors de ton SI, car sinon elle ne s'affichera que pour la dernière condition
prix<-- prix+ 0.75
Afficher(« Le prix du timbre est : »,prix)
Finsi
La tu doit afficher ta reponse en dehors de ton SI, car sinon elle ne s'affichera que pour la dernière condition
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
6 mars 2008 à 12:48
6 mars 2008 à 12:48
ben non ... la variable prix ne change pas ... puisque la condition n'est pas remplie, on passe directement à la suivante sans toucher à la variable prix ... c'est le but d'un If ... Then ....Else ... qui veut dire : Si la condition est remplie alors on fait ça, sinon on fait autre chose
copie à revoir une fois de plus
;o)
polux
copie à revoir une fois de plus
;o)
polux
willerme
Messages postés
35
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
6 mars 2008
7
6 mars 2008 à 12:51
6 mars 2008 à 12:51
Tarifs postaux
DEBUT
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
SI poids >= 500
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
SINON
SI poids <= 20 Alors
prix<-- prix
SINON SI poids >20 ET poids<= 50 Alors
prix<-- prix+0.25
SINON SI poids > 50 ET poids<= 100 Alors
prix<-- prix+0.61
SINON SI poids >100 ET poids <= 250 Alors
prix<-- prix+1.40
SINON SI poids>250 ET poids<= 500 Alors
prix<-- prix+ 2.15
Fsi
Fsi
Afficher(« Le prix du timbre est : »,prix)
FIN
Autant pour moi j'ai oublier ça ^^'
DEBUT
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
SI poids >= 500
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
SINON
SI poids <= 20 Alors
prix<-- prix
SINON SI poids >20 ET poids<= 50 Alors
prix<-- prix+0.25
SINON SI poids > 50 ET poids<= 100 Alors
prix<-- prix+0.61
SINON SI poids >100 ET poids <= 250 Alors
prix<-- prix+1.40
SINON SI poids>250 ET poids<= 500 Alors
prix<-- prix+ 2.15
Fsi
Fsi
Afficher(« Le prix du timbre est : »,prix)
FIN
Autant pour moi j'ai oublier ça ^^'
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
6 mars 2008 à 12:57
6 mars 2008 à 12:57
bravo ... c'est bien ... mais je ne pense pas que celà apporte grand chose à Bansan, qui va faire un copier/coller mais qui n'aura pas compris le fonctionnement de l'algo ...
D'autre part, avec le SINON SI dans ce cas là tu n'as pas besoin de la double condition ...
;o)
polux
D'autre part, avec le SINON SI dans ce cas là tu n'as pas besoin de la double condition ...
;o)
polux
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
1
6 mars 2008 à 13:11
6 mars 2008 à 13:11
Merci,
J'ai en partie compris pkoi avoir mis le SI de >= 500 en premier...
Mais pkoi n'est ce pas possible de le mettre en fin comme je l'ai fait...???
J'ai en partie compris pkoi avoir mis le SI de >= 500 en premier...
Mais pkoi n'est ce pas possible de le mettre en fin comme je l'ai fait...???
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
6 mars 2008 à 13:31
6 mars 2008 à 13:31
Si ça marche pareil que tu le mettes après, tu peux même le mettre avec SINON SI ... mais il y a encore une grosse erreur que personne ne relève ...
C'est mon jour de bonté ... je te dis quoi :
L'énoncé dit : Si la lettre a un poids superieur a 500g ...
Dans l'algo on a :
et on a aussi :
Mais j'ai toujours le problème du tarif de ma lettre de 155 grammes ???
;o)
polux
C'est mon jour de bonté ... je te dis quoi :
L'énoncé dit : Si la lettre a un poids superieur a 500g ...
Dans l'algo on a :
SI poids >= 500 alors <---- ????? Afficher(« Veuillez vous renseigner auprès de votre bureau de poste ») SINON
et on a aussi :
Si poids<= 500 Alors <--- ici ça correspond à l'énoncé prix<-- prix+ 0.75
Mais j'ai toujours le problème du tarif de ma lettre de 155 grammes ???
;o)
polux
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
1
6 mars 2008 à 13:48
6 mars 2008 à 13:48
Et celui ci??
Début
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
Sinon
Si poids <= 50 Alors
prix<-- prix+0.25
Sinon
Si poids <= 100 Alors
prix<-- prix+0.36+0.25
Sinon
Si poids <= 250 Alors
prix<-- prix+0.79+0.36+0.25
Sinon
Si poids<= 500 Alors
prix<-- prix+ 0.75+0.79+0.36+0.25
Afficher(« Le prix du timbre est : »,prix)
Finsi
Si poids>500 Alors
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Fin
Début
poids<--0
prix<--0.50
Afficher (« Poser la lettre »)
Afficher (« poids de la lettre », poids)
Si poids <= 20 Alors
prix<-- prix
Sinon
Si poids <= 50 Alors
prix<-- prix+0.25
Sinon
Si poids <= 100 Alors
prix<-- prix+0.36+0.25
Sinon
Si poids <= 250 Alors
prix<-- prix+0.79+0.36+0.25
Sinon
Si poids<= 500 Alors
prix<-- prix+ 0.75+0.79+0.36+0.25
Afficher(« Le prix du timbre est : »,prix)
Finsi
Si poids>500 Alors
Afficher(« Veuillez vous renseigner auprès de votre bureau de poste »)
Finsi
Fin
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
6 mars 2008 à 13:55
6 mars 2008 à 13:55
encore une fois, ici, tu n'affiches le prix de ton timbre que si tu as une lettre qui pèse entre 250 et 500g
en plus, si tu fais tes sinon et tes si suivants sur 2 lignes différentes, il faut que tu fermes tes sinon encapsulants
si tu retourne à la ligne après ton sinon, ton nouveau si est une boucle si à part entière et il faut la fermer avant de fermer celle qui l'englobe.
en gros, c'est
si (condition)
// traitement
sinon
si (condition)
// traitement
finsi // fin du 2e si
finsi // fin du sinon
ou alors
si (condition)
// traitement
sinon si (condition)
// traitement
finsi
en plus, si tu fais tes sinon et tes si suivants sur 2 lignes différentes, il faut que tu fermes tes sinon encapsulants
si tu retourne à la ligne après ton sinon, ton nouveau si est une boucle si à part entière et il faut la fermer avant de fermer celle qui l'englobe.
en gros, c'est
si (condition)
// traitement
sinon
si (condition)
// traitement
finsi // fin du 2e si
finsi // fin du sinon
ou alors
si (condition)
// traitement
sinon si (condition)
// traitement
finsi
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
6 mars 2008 à 14:00
6 mars 2008 à 14:00
Oui, ça me paraît bien comme ça ... :o))
J'espère que tu as mieux compris ... et n'oublie pas, une feuille et un crayon, rien de tel pour résoudre un algo et surtout vérifier si ça fonctionne en testant avec des cas de figure ...
Désolé pour le msg 15, mais je crois que c'est préférable de faire soit même pour mieux comprendre le fonctionnement, plutôt que te donner une solution toute faite (fausse en plus) qui ne t'aurai servi à rien...
bon courage
;o)
Polux
J'espère que tu as mieux compris ... et n'oublie pas, une feuille et un crayon, rien de tel pour résoudre un algo et surtout vérifier si ça fonctionne en testant avec des cas de figure ...
Désolé pour le msg 15, mais je crois que c'est préférable de faire soit même pour mieux comprendre le fonctionnement, plutôt que te donner une solution toute faite (fausse en plus) qui ne t'aurai servi à rien...
bon courage
;o)
Polux
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
1
6 mars 2008 à 17:46
6 mars 2008 à 17:46
Bonsoir,
que dois je penser du message 19?
En fin de compte...est ce que mon algo est bon ou non??
Merci
que dois je penser du message 19?
En fin de compte...est ce que mon algo est bon ou non??
Merci
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
6 mars 2008 à 18:05
6 mars 2008 à 18:05
Seb a un raison pour la présentation, tu dois faire :
si (condition)
// traitement
sinon si (condition)
// traitement
sinon si
//traitement
....
finsi
C'est tout
si (condition)
// traitement
sinon si (condition)
// traitement
sinon si
//traitement
....
finsi
C'est tout
6 mars 2008 à 11:41
Donc , a priori mon algo est bon??
Merci