bonjour,
Je dois résoudre un problème d'algorithme mais je bloque complétement au niveau de la deuxième partie. Voici le problème:
"Écrire un algorithme demandant un entier et affichant la table de multiplication de cet entier (comme on la trouve au dos de certains cahier). Dans cette version, la table complète est créée dans une chaine de caractères unique qui est ensuite affichée en une seule fois."
Voila ce que j'ai comme algorithme de base :
var x;
x = SaisieEntier();
var i;
for (i = 1; i <= 10; i = i + 1) {
Ecrire(x + ' * ' + i + ' = ' + (x * i));
}
Mais je ne sais pas du tout comment faire pour le reste du problème.
Merci de votre aide.
Bonjour
Je propose l'algo suivant qui permet d'afficher la table en une seule fois, comme c'est demandé :
var x;
x = SaisieEntier();
var i; // entier
var y= x + ' * 0 = 0 ; '; // chaîne
for (i = 1; i <= 10; i = i + 1) {
y = y + x + ' * ' + i + ' = ' + (x * i) + ' ; ';
}
Afficher y;
Bonjour abou-salma
je me demandais à quoi servait y= x + ' * 0 = 0 ; '; dans la formule
y = y + x + ' * ' + i + ' = ' + (x * i) + ' ; '; ??
Merci de votre aide,
Cordialement.
^^ Cela permet d'initialiser la variable y utilisée pour le tableau de multiplication tout en ajoutant une première ligne de multiplication par zéro. On peut aussi initialiser cette variable à la chaîne vide ('') si on veut ignorer la multiplication par zéro.
Oui, ou même, il suffit de prendre la chaîne vide et de faire partir la boucle de 0 au-lieu de 1.
var x;
x = SaisieEntier();
var i; // entier
var y= ''; // chaîne
for (i = 0; i <= 10; i = i + 1) {
y = y + x + ' * ' + i + ' = ' + (x * i) + ' ; ';
}
Afficher y;
Et cette dernière solution proposée par nutsy est préférable. Pour la compréhension du code (le programme) et sa maintenance (ie le faire évoluer et présenter le tableay différemment), il est préférable de séparer les tâches effectuées (l'initialisation de y est une tâche, le remplissage du tableau pour i=0 en est une autre)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :