■ /!\ la valeur de k n’a pas été initialisée
2. Proposez une correction de la question 2 telle que vous l’exposeriez devant
une classe de Seconde.
Conjecture :
Pour tout entier n différent de 0, l'algorithme affichera toujours n = 20.
Preuve :
Pour les entier i supérieurs à 20, on retranche à chaque boucle tant que 4 : i = i - 4
jusqu'à ce que i soit inférieur à 20. Donc pour i > 20 il existe k tel que i - 4 k < 20×
Pour vérifier que le résultat de l’algorithme soit toujours égale à 20, il suffit de vérifier
que la conjecture soit vrai pour tout entier n inférieur à 20.
3. Présentez deux ou trois exercices faisant intervenir un algorithme
Exercice n°1 :
On souhaite écrire un algorithme permettant de réduire la somme au même
b
a+c
d
dénominateur, a,b,c, et d étant des entiers, avec et .=b/ 0 =d/ 0
1. Existe t-il des contraintes sur les valeurs d’entrée a,b,c et d ?
2. Donner un exemple d’entrées telles que la somme ne soit pas décimale.
3. Pour obtenir un résultat exact, on introduit deux variables u et v telles que : ,
b
a+c
d=v
u
u et v seront donc les sorties de cet algorithme.
a. Donner les formules permettant de calculer u et v.
b. Ecrire cet algorithme en langage naturel.
● Pourquoi cet exercice :
○ c’est un TP qui force les élèves à sortir de leur logique habituelle tout en se
basant sur des techniques mathématiques.
○ calcul d’une somme de fractions : mettre sur même dénominateur
○ utilisation du langage naturel idéal pour commencer à s’approprier les
algorithmes.
○ Exercice qui peut être mis en concurrence avec les calculatrices
Exercice n°2 :²
L’algorithme ci-contre écrit en Python, renvoie une valeur y pour tout couple (x;n) où n est un
entier naturel.
Programme :
def f(x,n):
i=n
y=1
if (i==0):
return y
else :
while i>0 :
y=y*x
i=i-1
return y