Bonjour, je n'arrive pas à résoudre cet algorithme après plusieurs heure, pouvez vous m'aider s'il vous plaît? Voici le sujet :
Des amis projettent un séjour d'une semaine à la montagne.
Le forfait hebdomadaire pour les remontées mécaniques est de 200 € par skieur.
La location de l'appartement coûte 600 € pour un 4 places et 800 € pour un 6 places.
Ils ne savent pas encore s'ils partiront à 3,4,5 ou 6 et désirent partager les frais.
Écrire un algorithme en langage naturel qui affiche le coût total du séjour (C) et la part revenant à chacun (P) quand on entre le nombre de participants (N)
Bonjour,
Avant de te lancer dans l'algorithme, il te faut comprendre mathématiquement l'énoncé.
Essaies de faire un exemple : imaginons qu'il y a 5 participants.
Comment calculerais-tu le coût de ce séjour ? Ainsi que la part revenant à chacun ?
J'avais fais :
Variable : A,B,C,D
Entrée : Saisir A
Traitement : B= Ax200
C= B+600
D= C/A
Sortie : Afficher C
Afficher À
Mais ça ne peut pas marcher aussi
Ton algorithme serait correct que s'il y aurait eu 3 ou bien 4 participants !!
Mais cela ne marcherait pas bien sûr pour 5 ou 6 participants...(qui plus est le prix de l'appartement est aussi différent !)
Donc tu devras distinguer alors 2 cas :
1) Le cas où il y a 3 ou 4 participants
2) Le cas où il y a 5 ou 6 participants
Pas besoin de faire 2 algorithmes !!
J'ai dit simplement que dans ton algorithme, tu devras distinguer 2 cas.
Il y a pourtant une instruction qui te permet de distinguer plusieurs cas : l'instruction
SI .... ALORS...
Donc :
Variable : A,B,C,D, E,F,H,I
Entrée : Saisir A
Traitement :
Si B= Ax200 ou E= Fx200
C= B+600 ou H = E+800
D= C/A ou I = H/F
Alors : il a 3 ou 4 personnes
Sinon : il y a 5 ou 6 personnes
Sortie : Afficher C
Afficher A
Afficher H
Afficher F
Ton instruction SI est fausse !!
Ta condition doit se faire sur le nombre de participants (on a appelé ça N !! Donc autant prendre les notations de ton énoncé !! ) Pas sur le prix de ton séjour !!
Tu dois donc avoir ce type de structure :
SI (N=3) ou (N=4)
ALORS .....
SI (N=5) ou (N=6)
ALORS .....
PUIS concernant les autres cas, tu pourras par exemple afficher que la valeur N entrée n'est pas 3, 4, 5 ou 6".
Donc :
Variable : A,B,C,D, E,F,G,H
Entrée : Saisir A
Traitement :
Si (N) = 4 et 5
Alors
B= Ax200
C= B+600
D= C/A
Si (N) = 5 et 6
Alors E= Fx200
G= E+800
H= G/F
Sortie :
Affichee G, F, A, C
Il y a du progrès mais beaucoup d'erreurs de syntaxe dans ton algorithme !!
Tout d'abord le nombre de variables :
Restes fidèle à ton énoncé, ne change pas les notations !! De plus, il n'y a pas autant de variables !! Seulement 3 : le nombre de participants N ; le coût du séjour C et la part de chacun P. Et c'est tout !!
Entrée : Saisir N (pas A) ok
Ensuite le traitement :
Donc :
Variable : N, C, P
Entrée : Saisir N
Traitement :
Si (N=3) ou Si (N=4)
Alors
C= 200*N+600
P= C/N
Sortie : Afficher C
Afficher N
Si (N=5) ou Si (N=6)
Alors
C= 200*N+800
P= C/N
Sortie :Afficher C
Afficher N
C'est presque terminé.
Il te reste encore 1 dernier détail :
La condition SINON (c'est le cas où l'utilisateur n'entrerait pas les chiffres 3, 4, 5 ou bien 6...) !!
Dans ce cas, il te suffit d'afficher un message d'erreur pour signaler à l'utilisateur que le chiffre que tu as entré n'est pas autorisé ! Ce qui n'est pas compliqué à faire.
Ainsi, cela terminera ton algorithme.
Aussi, c'est marqué qu'il y a forcément 3 ou ou 5 ou 6 et pas un autre chiffre dans l'énoncé, je ne vois pas pourquoi, il faudrait un message d'erreur.
Tu n'es pas obligé, remarque de le rajouter...
Mais comme je viens de dire, l'utilisateur peut (par erreur ou inadvertance) taper sur une touche autre que le 3, 4 5 ou 6 !! Donc un message informant l'utilisateur qu'il s'est trompé de chiffre n'est pas de trop non plus...
Je préfère pas car ma prof va me demander pourquoi j'ai fais ça alors que ça n'est pas d'une grande utilité en tout cas, je vous remercie énormément !
Oula, je viens de remarquer une petite erreur, mais je pense que tu as remarqué !!
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :