Algorithme 1ère ES dérangeant :(
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
Cidiat
- Membre Naturel
- Messages: 36
- Enregistré le: 01 Jan 2015, 16:43
-
par Cidiat » 23 Avr 2015, 08:45
Bonjour, j'ai un algorithme à présenter qui m'a été imposé mais que je n'arrive malheureusement pas à réaliser... :mur:
Je cherche depuis 8h30 en vain !!! :hum:
J'ai tenté de faire avec structure itérative et si/sinon, i variant... et Début-Fin au lieu de Entrée-Traitement-Sortie vu qu'il y aurait sûrement 3 sorties et non une seule :doh:
La consigne est la suivante :
Dans une papeterie, les stylos sont vendus initialement à 2.50 euros l'unité. Le directeur propose une réduction selon le principe suivant :
-> Pour un achat de moins de 8 stylos, aucune réduction n'est accordée.
-> Pour un achat de 8 à 24 stylos, une réduction de 12% sur le montant total est accordé.
-> Pour un achat de 25 stylos ou plus, une réduction de 20% sur le montant total est accordé.
Pour faciliter le travail des caissiers, écrire un algorithme permettant de calculer le montant M à payer (après réduction éventuelle), en fonction du nombre n de stylos souhaités.
-
zygomatique
- Habitué(e)
- Messages: 6928
- Enregistré le: 20 Mar 2014, 12:31
-
par zygomatique » 23 Avr 2015, 09:06
salut
lire n
si n < 8 alors afficher 2,5n
sinon si n < 25 alors afficher 0,88*25n
........sinon afficher 0,8 * 2,5n
....
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE
-
Cidiat
- Membre Naturel
- Messages: 36
- Enregistré le: 01 Jan 2015, 16:43
-
par Cidiat » 23 Avr 2015, 11:23
zygomatique a écrit:salir
lire n
si n < 8 alors afficher 2,5n
sinon si n < 25 alors afficher 0,88*25n
........sinon afficher 0,8 * 2,5n
....
Salut, merci ENORMEMENT, mais j'ai vraiment pas compris après réflexion :mur:
-
mathelot
par mathelot » 23 Avr 2015, 12:02
bjr,
réduire de

(resp.

) , c'est multiplier le prix par

(resp. par

)
-
Cidiat
- Membre Naturel
- Messages: 36
- Enregistré le: 01 Jan 2015, 16:43
-
par Cidiat » 23 Avr 2015, 12:38
mathelot a écrit:bjr,
réduire de

(resp.

) , c'est multiplier le prix par

(resp. par

)
D'accord merci à vous 2 !!! :we:
Mais il faut que je continue après les ...
Il faut que je dise Début-Fin etc... ? :hein: :hein: :hein:
-
mathelot
par mathelot » 23 Avr 2015, 12:55
lire ici ......................
-
Cidiat
- Membre Naturel
- Messages: 36
- Enregistré le: 01 Jan 2015, 16:43
-
par Cidiat » 24 Avr 2015, 08:45
Merci encore pour le lien mathelot, j'aimerais juste que vous vérifiez mon algorithme complet si vous le voulez bien :hein: :lol3:
Début
Saisir n
Si n < 8 alors afficher 2,5n
Sinon si n < 25 alors afficher 0,88*25n
........Sinon afficher 0,8 * 2,5n
Afficher n
Fin
-
zygomatique
- Habitué(e)
- Messages: 6928
- Enregistré le: 20 Mar 2014, 12:31
-
par zygomatique » 24 Avr 2015, 09:27
à quoi sert cette dernière instruction "afficher n" ?
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE
-
Cidiat
- Membre Naturel
- Messages: 36
- Enregistré le: 01 Jan 2015, 16:43
-
par Cidiat » 24 Avr 2015, 11:14
zygomatique a écrit:à quoi sert cette dernière instruction "afficher n" ?
Ma prof nous dit qu'a la fin il faut toujours dire "Afficher "la lettre"" à la fin de l'algorithme, donc je sais pas :hein: sinon je le met pas et c'est mieux tu trouves :zen:
Merci beaucoup à toi zygomatique :lol3: :lol3:
-
zygomatique
- Habitué(e)
- Messages: 6928
- Enregistré le: 20 Mar 2014, 12:31
-
par zygomatique » 24 Avr 2015, 18:17
ben ça ne sert à rien surtout ....
puisque de toute façon les résultats sont affichés avant ....
ou alors tu programme pour qu'il affiche (au début) ::
"le prix de ", n, "stylos est : "
....
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE
-
Cidiat
- Membre Naturel
- Messages: 36
- Enregistré le: 01 Jan 2015, 16:43
-
par Cidiat » 25 Avr 2015, 18:28
Juste une dernière question : ne vaudrait-il pas mieux mettre par exemple pour n allant de ... à ... :hein:
Et sinon est-il quand même possible d'écrire n<25 sachant que l'ont met juste avant n<8 (ligne précédente) n'est ce pas faux ou contradictoire :hein:
Merci d'avance... :lol3:
-
Cidiat
- Membre Naturel
- Messages: 36
- Enregistré le: 01 Jan 2015, 16:43
-
par Cidiat » 25 Avr 2015, 18:42
Cidiat a écrit:Juste une dernière question : ne vaudrait-il pas mieux mettre par exemple pour n allant de ... à ... :hein:
Et sinon est-il quand même possible d'écrire n<25 sachant que l'ont met juste avant n<8 (ligne précédente) n'est ce pas faux ou contradictoire :hein:
Merci d'avance... :lol3:
Parce que en plus en le testant à la calculatrice le programme ne s'arrête pas donc je pense que je dois mettre des "pour ..." svp je suis vraiment perdu :mur: :bad:

-
MABYA
- Membre Relatif
- Messages: 401
- Enregistré le: 13 Mar 2015, 14:37
-
par MABYA » 25 Avr 2015, 21:00
C'est bien ce que tu as fait mais moi je vais te l'écrire comme je le ferais (j'ai fais de la programmation)
1-Entrer la quantité de stylo= n
2-Si n<8 le montant total payé = 2.50 x n
3-Si n = 8 OU n > 8 ET n < 25 alors (then)
....la remise sera = 12 %
....le montant total sera n x 2.50 x 0.88
autrement (else)
....la remise sera = 20 %
.... le montant total sera= n x 2.50 x 0.8
Fin :
afficher (pour le caissières)
.... Quantité de stylos
.... remise accordée
.... total
C'est un algorithme général , je ne sais pas comment peut l'interpréter ta calculatrice
bien sur que tu peux ne pas afficher à la fin mais on t'a dit que c'était pour la caissières donc il faut que tes résultats finaux soient affichés voire imprimés sur le ticket de caisse, le déroulement du programme n'a pas à apparaître il ne sera pas affiché ni imprimé.
-
Black Jack
par Black Jack » 26 Avr 2015, 09:10
Il y a autant de manières de programmer un algo qu'il y a de programmeurs.
En voila une possible (sur algobox) :
VARIABLES
n EST_DU_TYPE NOMBRE
remise EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
AFFICHER "Entrez le nombre de stylos achetés"
LIRE n
remise PREND_LA_VALEUR 2.5 * 0.12 * n
SI (n>=25) ALORS
DEBUT_SI
remise PREND_LA_VALEUR 2.5 * 0.2 * n
FIN_SI
SI (n<8) ALORS
DEBUT_SI
remise PREND_LA_VALEUR 0
FIN_SI
AFFICHER "Nombre de stylos achetés : "
AFFICHER* n
AFFICHER "Remise accordée : "
AFFICHER* remise
AFFICHER "Total à payer : "
AFFICHERCALCUL* 2.5 * n - remise
FIN_ALGORITHME
:zen:
-
MABYA
- Membre Relatif
- Messages: 401
- Enregistré le: 13 Mar 2015, 14:37
-
par MABYA » 26 Avr 2015, 09:54
Petite précision: en passant très bien ton algobox, je ne connaissais pas. A l'initiation, nous n'avions que le basic rudimentaire, très formateur également qui avait l'avantage d'aborder directement les premiers pas en programmation... syntaxe ET et OU... boucles
Cependant dans cet exermple nous avons oublié d'afficher en finale (d'imprimer) le montant total (avant remise) en tout premier lieu puis les autres instructions seulement s'il y a remise, ceci pour rendre plus proche du ticket de caisse.
-
zygomatique
- Habitué(e)
- Messages: 6928
- Enregistré le: 20 Mar 2014, 12:31
-
par zygomatique » 26 Avr 2015, 14:53
pourquoi faire compliqué quand on peut faire simple ....
:mur:
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE
-
Black Jack
par Black Jack » 27 Avr 2015, 15:20
zygomatique a écrit:pourquoi faire compliqué quand on peut faire simple ....
:mur:
Peut-être à cause de la réponse faite qui disait :
D'accord merci à vous 2 !!!
Mais il faut que je continue après les ...
Il faut que je dise Début-Fin etc... ?
... qui pourrait suggérer que l'algo doit être fonctionnel (donc tourner avec un logiciel donné).
Comme ce n'est pas précisé, pourquoi pas sur Algobox ? et pourquoi pas alors le rendre plus proche de ce qui serait demandé sur une "vraie" application.
Si on veut un algo en langage "commun", il aurait mieux valu le préciser ... comme d'ailleurs aussi si on voulait un algo qui fonctionne sur Algobox ou sur autre chose.
A énoncé non précis, réponses "larges"
:zen:
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 77 invités