Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

table de multiplication en algorithme

Posté par
ofel2510
30-01-12 à 12:10

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.

Posté par
abou-salma
re : table de multiplication en algorithme 30-01-12 à 16:09

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;

Posté par
naruto44
re : table de multiplication en algorithme 11-02-12 à 08:58

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.

Posté par
abou-salma
re : table de multiplication en algorithme 12-02-12 à 19:52

^^ 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.

Posté par
nutsy
re : table de multiplication en algorithme 18-02-12 à 17:46

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;

Posté par
abou-salma
re : table de multiplication en algorithme 19-02-12 à 11:16

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 :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !