Maths-cours

COURS & EXERCICES DE MATHÉMATIQUES

Close

Algorithme : Liste d'entiers

On souhaite écrire un algorithme qui demande à l'utilisateur d'entrer un entier naturel n puis affiche tous les nombres entiers de 0 à n.

Voici trois propositions d'algorithmes.

Variables i, n Entrée Lire n Traitement Pour i allant de 0 à n Afficher i i prend la valeur i+1 Fin Pour

Algorithme 1

Variables i, n Entrée Lire n Traitement i prend la valeur 0 Tant que i inférieur ou égal à n Afficher i i prend la valeur i+1 Fin Tant que

Algorithme 2

Variables i, n Entrée Lire n Traitement i prend la valeur 0 Tant que i inférieur ou égal à n Afficher i Fin Tant que

Algorithme 3

Un seul de ces algorithmes est correct. Lequel ? (Justifier votre réponse.)

Corrigé

L'Algorithme 2 est le seul correct.

Dans l'algorithme 1, l'instruction :

i prend la valeur i+1

est en trop.

Dans une boucle « Pour », l'indice est automatiquement incrémenté. Il ne faut pas l'incrémenter une seconde fois.

Dans l'algorithme 3 au contraire, l'instruction :

i prend la valeur i+1

est manquante.

Dans une boucle « Tant que », l'indice n'est pas automatiquement incrémenté.

La valeur de i restera donc à 0. La condition « i inférieur ou égal à n » sera donc toujours vérifiée et l'algorithme tournera alors indéfiniment.