Python au lycée (3) : Les boucles Exercices

Algorithme : Liste d’entiers

Durée estimée
15 minutes
Difficulté
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Objectif travaillé

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.

Algorithme 1
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 2
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 3
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

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.