CaRMetal-FR

Forum des utilisateurs francophones
login.php?sid=ec2bfde0775da7c21bb5579fd04c1ca2 profile.php?mode=register&sid=ec2bfde0775da7c21bb5579fd04c1ca2 faq.php?sid=ec2bfde0775da7c21bb5579fd04c1ca2 memberlist.php?sid=ec2bfde0775da7c21bb5579fd04c1ca2 search.php?sid=ec2bfde0775da7c21bb5579fd04c1ca2 index.php?sid=ec2bfde0775da7c21bb5579fd04c1ca2

passage à la caisse

 
Poster un nouveau sujet   Répondre au sujet    CaRMetal-FR Index du Forum -> Les CaRScripts
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
mohjer



Inscrit le: 10 Juin 2009
Messages: 56
Localisation: Tunis

MessagePosté le: Mer Jan 11, 2012 10:28 am    Sujet du message: passage à la caisse Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
alain974



Inscrit le: 13 Juin 2009
Messages: 144
Localisation: Réunion

MessagePosté le: Mer Jan 11, 2012 1:26 pm    Sujet du message: Répondre en citant

1) Déjà, le

Code:

s=0;
s=a;


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
Voir le profil de l'utilisateur Envoyer un message privé
mohjer



Inscrit le: 10 Juin 2009
Messages: 56
Localisation: Tunis

MessagePosté le: Mer Jan 11, 2012 5:35 pm    Sujet du message: Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    CaRMetal-FR Index du Forum -> Les CaRScripts Toutes les heures sont au format GMT
Page 1 sur 1

 
  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin
Traduction par : phpBB-fr.com