Bonjour,je suis en 1ère S et j'ai un algorithme à faire pour bientôt sur algobox mais je ne sais pas du tout comment faire,même pas comment débuter, svp aidez moi
:
Créer un algorithme permettant de simuler une caisse enregistreuse tels que:
À chaque article s'affiche
-Le total partiel
-Le nombre d'article
Puis à la fin, faire une réduction de 50% sur l'article le moins cher (je sais déjà pas faire le debut alors ça...)
Merci beaucoup d'avance et bonne fêtes de fin d'année !
Bonjour, donc réfléchis à la structure générale de ton algorithme.
il te faut une variable n qui va compter le nombre d'articles.
et une variable S qui va stocker le total du prix.
et X une variable qui stocke le prix de l'article courant que l'on rentre.
il faut aussi repérer l'article le moins cher car à la fin il faudra faire la réduction, donc on va stocker dans P son prix.
On va faire une boucle qui demande le prix du nouvel article qui est présenté à la caisse.
On va dire que l'on va continuer à enregistrer jusqu'à l'utilisateur (la caissière) rentre le prix 0.
Donc comme on ne connait pas le nombre d'articles, la boucle va être un TantQue X différent de 0.
La structure générale va donc être :
initialisation de S=0 ; n=0 ; P=100000 ; X=1
TantQue X != 0 Faire
Lire X
S prend la valeur S+X
n prend la valeur n+1
SI X < P Alors
P prend la valeur X 'on stocke dans P le prix de l'article le moins cher
FinSI
Afficher "nombre d'articles :"
Afficher* n
Afficher " Prix total :"
Afficher* S
Fin TantQue
Afficher "fin d'enregistrement. Prix total après réduction :"
S prend la valeur
S prend la valeur S-P/2 'on enlève 50% du prix de l'article le moins cher
Afficher S
Essaye de mettre ça en forme avec la syntaxe Algobox.
Voila mon algorithme, quand je le test il me demande sans arrêt de entrer une valeur de X c'est normal?
Variables
n est du type NOMBRE
S est du type NOMBRE
x est du type NOMBRE
P est du type NOMBRE
Début de l'algorithme
S prend la valeur 0
n prend la valeur 0
P prend la valeur 100000
X prend la valeur 1
Tant que (X!=0) faire
Début tant que
Lire X
S prend la valeur S+X
n prend la valeur n+1
SI( x<P) alors
Début si
P prend la valeur X
Fin si
Afficher n
Afficher S
Fin tant que
Afficher "fin d'enregistrement. prix total après réduction"
S prend la valeur (S-P)/2
Afficher S
fin algorithme

non on enlève que la moitié du prix P donc S prend la valeur S-P/2
Oui il demande sans arrêt de rentrer une valeur, jusqu'à ce que tu rentres la valeur 0. Il ne s'arrête pas si tu rentres 0 ?
et il faut rajouter un petit quelque chose pour quand X=0 il n'aille pas s'enregistrer dans P
Voilà l'algorithme corrigé, tu peux le copier/coller si tu es en mode editeur de texte dans algobox (ou direcxtement dans proglab
) :
VARIABLES
n EST_DU_TYPE NOMBRE
S EST_DU_TYPE NOMBRE
X EST_DU_TYPE NOMBRE
P EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
S PREND_LA_VALEUR 0
n PREND_LA_VALEUR 0
P PREND_LA_VALEUR 100000
X PREND_LA_VALEUR 1
TANT_QUE (X!=0) FAIRE
DEBUT_TANT_QUE
LIRE X
S PREND_LA_VALEUR S+X
n PREND_LA_VALEUR n+1
SI (XVous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :