Les Maths en série S

L'essentiel pour le bac

Algorithmes

A SAVOIR: le cours sur les algorithmes

Exercice 4

Dans cet exercice, toute trace de recherche, même non aboutie, serait prise en compte lors de la notation

On considère un programme associé à l'algorithme suivant:

Lire $N$
$U$ ← 4
Pour $I$ allant de 1 à $ N$
   $U$ ← $U^2-5$
Fin du Pour
Afficher $U$

1. Donner les valeurs successives prises par $I$ et $U$ lorsque le programme fonctionne pour une valeur de $N$ égale à 2.

2. Définir une suite $(u_n)$ pour laquelle ce programme présente un intérêt. Préciser l'utilité de ce programme relativement à la suite proposée.

3. Parmi les 3 algorithmes suivants, un seul est équivalent à l'algorithme initial
Lequel est-ce? (inutile de justifier)
Expliquer pourquoi les 2 autres algorithmes ne conviennent pas.

Algorithme 1

Lire $N$
$U$ ← 4
$I$ ← 0
Tant que $I≤N$
   $U$ ← $U^2-5$
   $I$ ← $I$+1
Fin du Pour
Afficher $U$

Algorithme 2

Lire $N$
$U$ ← 4
$I$ ← 0
Tant que $I$<$N$
   $U$ ← $U^2-5$
   $I$ ← $I$+1
Fin du Pour
Afficher $U$

Algorithme 3

Lire $N$
$U$ ← 4
$I$ ← 0
Tant que $I$<$N$
   $U$ ← $U^2-5$
Fin du Pour
Afficher $U$

Solution...

Corrigé

1. $N=2$; $U=4$.
Juste avant la première boucle: $I=1$
Première boucle: (on a bien $I≤2$); $U=4^2-5=11$;
Fin de la première boucle; $I$ est augmenté automatiquement de 1, et vaut donc 2.
Seconde boucle: (on a bien $I≤2$); $U=11^2-5=116$;
Fin de la seconde boucle; $I$ est augmenté automatiquement de 1, et vaut donc 3.
Il n'y a pas de troisième boucle car $I>2$.
Finalement, il s'affiche la valeur de $U$, c'est à dire 116.

2. Une suite convenable est la suite $(u_n)$ définie:
par la relation de récurrence $u_{n+1}=u_n^2-5$,
et par son premier terme $u_0=4$.
Notons ici que l'on obtient facilement $u_1=11$ et $u_2=116$.
Le programme proposé demande à l'utilisateur de saisir une valeur de $n$ et affiche alors la valeur de $u_n$ correspondante.
Par exemple, pour $n=2$, le programme renvoie la valeur de $u_2$, c'est à dire 116.

3. L'algorithme correct est le second.

Le premier algorithme ne convient pas, car, par exemple, pour $N=0$, il devrait afficher 4, mais il affichera 11 (car la première boucle va s'effectuer).
Le troisième algorithme ne convient pas, car, par exemple, pour $N=1$, les boucles vont s'enchaîner sans jamais s'arrêter, car $I$ reste constamment à 0, et par là, la condition $I$<$N$ est toujours vérifiée!

Réduire...

Copyright 2013 - maths-s.com - Toute reproduction interdite - Tous droits réservés.