| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
mohjer
Inscrit le: 10 Juin 2009 Messages: 56 Localisation: Tunis
|
Posté le: Mer Jan 11, 2012 10:28 am Sujet du message: passage à la caisse |
|
|
Bonjour,
je n'arrive pas à mettre cet algorithme sous carscript
Variables : le prix d'un article: x
La somme à payer: S
Initialisation
S prend la valeur 0
Saisir x
Traitement
Tantque x 0
Saisir x
S prend la valeur S+x
Fin Tantque
Sorties
j'ai fait ceci :
var a=Input("Entrez a");
s=0;
s=a;
while (a!=0){
s=s+a;
var a=Input("Entrez a");
}
Println("Somme à Payer est"+s);
malheureusement, ça ne marche pas
merci de m'aider.
Afficher( "le total est : ",S) |
|
| Revenir en haut de page |
|
 |
alain974

Inscrit le: 13 Juin 2009 Messages: 144 Localisation: Réunion
|
Posté le: Mer Jan 11, 2012 1:26 pm Sujet du message: |
|
|
1) Déjà, le
sonne faux, vu que si on met a dans s à la deuxième ligne, la première des deux devient inutile...
2) Ensuite, entre l'algorithme en pseudocode et la version JavaScript, il y a une interversion: la saisie de x (ou a) ne doit pas être faite au début mais dans la boucle while.
Ceci dit il est possible que le problème vienne du type de données (texte par défaut), et il est mieux de convertir le texte en nombre avec parseFloat():
En gardant les notations (S et x) de l'énoncé ça donne quelque chose comme
| Code: |
var x;
var S=0;
x=parseFloat(Input("Entrez le prix du premier article : "));
S=x;//sans doute un oubli
while (x!=0){
x=parseFloat(Input("Entrez le prix de l'article suivant : "));
S=S+x;
}
Alert("La somme des prix est "+S);
|
Enfin, la présentation en trois phases (initialisation-traitement-sortie) se prête assez bien à un raccourci avec la boucle for de JavaScript, les points-virgules séparant les trois phases en question. C'est un peu spécial mais ça donne
| Code: |
for(x=Input("premier"),S=parseFloat(x);x!=0;x=Input("suivant"),S=S+parseFloat(x));
Println(S);
|
Et après il y en a pour dire que Python est concis! |
|
| Revenir en haut de page |
|
 |
mohjer
Inscrit le: 10 Juin 2009 Messages: 56 Localisation: Tunis
|
Posté le: Mer Jan 11, 2012 5:35 pm Sujet du message: |
|
|
| Merci Alain de m'avoir éclairé, je n'y avais pas pensé à convertir le texte en nombre avec parseFloat().Encore merci. |
|
| Revenir en haut de page |
|
 |
|