Académique Documents
Professionnel Documents
Culture Documents
Exemples d’algorithmes 9
Niveau Lycée
notions de programmation, notions d’arithmétique (PGCD), notions d’analyse
Prérequis (fonctions, croissance), notions de probabilités (calcul de probabilités et loi forte
des grands nombres)
Références [169], [170], [171], [172], [?], [173]
Exemple 65.2 On donne l’exemple d’un algorithme (un peu tordu) pour savoir ce qu’on doit faire
quand une lampe ne fonctionne plus mis sous forme d’un organigramme.
Dans ce qui va suivre, les algorithmes seront programmés grâce au logiciel de calcul formel, Xcas.
Description de l’algorithme.
— Le cas où a et b est nul est trivial car PGCD(a, 0) = a.
10 Leçon n°65 • Exemples d’algorithmes
— On définit une suite (an )n∈N par récurrence telle que a0 = a et a1 = b puis tant que an+1
n’est pas nul, an+2 est défini comme le reste de la division euclidienne de an par an+1 .
On commence donc par calculer le reste de la division de a par b, qu’on note r ; puis on
remplace a par b, puis b par r et on réapplique le procédé depuis le début.
On obtient ainsi une suite, qui vaut 0 à un certain rang ; le PGCD cherché est le terme précé-
dent de la suite.
Dv
Exemple 65.4 On calcule, par exemple, le PGCD de 1071 et de 1029 à l’aide de l’algorithme
d’Euclide :
1071 = 1029 × 1 + 42
1029 = 42 × 24 + 21
42 = 21 × 2 + 0
Il faut prendre le dernier reste avant le zéro donc PGCD(1071, 1029) = 21.
pgcdeuclide(1071,1029)
21
F IGURE 65.1 – Crible d’Erastosthène pour les entiers inférieurs ou égaux à 100
1. Pour éliminer les multiples propres de 7, commencer à 72 , car les multiples inférieurs ont déjà été
éliminés.
2. Il est possible de savoir à l’avance « jusqu’où aller ». En effet, grâce au critère d’arrêt, tout entier
composé n admet un diviseur premier p tel que :
2 ≤ p ≤ n.
√ √
Si n ≤ 10, alors n ≤ 100 = 10. Tous les entier non premier sera éliminé en tant que multiple
propre de 2, 3, 5, 7 et 11.
On peut écrire un algorithme qui permet d’établir le crible d’Eratosthène (qu’on peut implémenter
sur Xcas) :
erato(n):={
local j,k,P;
P:=[seq(k,k=1..n)];
P[0]:=0;
pour j de 2 jusque floor(sqrt(n)) faire
si P[j-1]>=1 alors
pour k de 2 jusque floor(n/j) faire
P[j*k-1]:=0;
fpour;
fsi;
fpour;
retourne(select(x->(x>=1),P));
}:;
erato(100)
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97]
Principe
— On pose a0 = a et b0 = b.
— Soit m0 le milieu de [a, b] :
— Si f (m0 ) > 0 alors on pose a1 = a0 et b1 = m0
— Sinon on pose a1 = m0 et b1 = b0 .
— Ainsi de suite, si on veut construire le k e terme de la suite, on pose mk−1 le milieu de
[ak−1 , bk−1 ] :
— Si f (mk−1 ) > 0 alors ak = ak−1 et bk = mk−1
— Sinon on pose ak = mk−1 et bk = bk−1 .
dicho(x^4-x^2+x-4,5,0,5)
1.47198 est la solution trouvée apres 11 itérations
et sa version récursive :
dicho_rec(f,a,b,eps,compteur):={
si evalf(b-a)<eps alors 0.5*(b+a),compteur+1
sinon si f(a)*f(0.5*(b+a))>0
alors dicho_rec(f,0.5*(b+a),b,eps,compteur+1)
sinon dicho_rec(f,a,0.5*(b+a),eps,compteur+1)
fsi
fsi
}:;
dicho_rec(x->x^4-x^2+x-4,0,5,10^(-6),0)
(1.47198408842,24)
Le théorème des valeurs intermédiaires
Théorème 65.6 — Théorème des valeurs intermédiaires. Soient I un intervalle, a et b dans I tels que
a < b. Soit f une application continue sur l’intervalle I. Soit λ, un réel compris entre f (a) et f (b).
Alors il existe (au moins) un réel c dans [a , b] tel que f (c) = λ.
65.3 Algorithmes en analyse et probabilités 13
Dv
• Démonstration du théorème 65.6 — Supposons f (a) < f (b). Nous allons construire deux
suites adjacentes (an )n∈N∗ et (bn )n∈N∗ par l’algorithme suivant :
— Si le milieu m de l’intervalle [a , b] est tel que f (m) ≥ m alors on pose a1 = a et b1 = m.
— Sinon, on pose a1 = m et b1 = b.
On recommence le découpage :
— Si le milieu m de l’intervalle [a1 , b1 ] est tel que f (m) ≥ λ alors on pose a2 = a1 et
b2 = m.
— Sinon, on pose a2 = m et b2 = b1 .
On a ainsi :
a ≤ a1 ≤ a2 ≤ b2 ≤ b1 ≤ b et f (a2 ) ≤ λ ≤ f (b2 ).
Cf
f (b)
λ
f (a)
a ? b1 b
a1 ? b 2 b1
[a , b] ⊃ [a1 , b1 ] ⊃ · · · ⊃ [an , bn ] ⊃ · · · .
R 65.7
1. Le théorème des valeurs intermédiaires nous dit que l’équation f (x) = λ (f (a) < λ < f (b)) admet au
moins une solution dans [a , b].
14 Leçon n°65 • Exemples d’algorithmes
2. L’hypothèse de continuité est indispensable dans le théorème. Essayer d’applique le théorème des
valeurs intermédiaires à la fonction « partie entière » avec a = 0, b = 1 et λ = 21 . . .
Cf
f (b)
λ
f (a)
a c b
Cf
f (b)
λ
f (a)
a c b
Exemple 65.8 Tout polynôme de polynôme P (à coefficients réels) de degré impair admet (au moins)
une racine réelle. En effet, comme le degré de P est impair, on a :
lim P (x) = −∞ et lim P (x) = +∞.
x→−∞ x→+∞
En conséquence, il existe un réel a ∈ R tel que pour tout x < a, on ait P (x) < 0 et un réel b ∈ R tel
que pour tout x > b, on ait P (x) > 0. Comme P est une fonction continue, le théorème des valeurs
intermédiaires permet d’affirmer l’existence d’un réel c ∈ ]a , b[ tel que P (c) = 0.
R 65.9 Le théorème des valeurs intermédiaires n’admet pas de réciproque. Une fonction f peut très bien vérifier
la propriété des valeurs intermédiaires sans être continue. Considérer par exemple la fonction f définie sur
I = R par : (
sin x1 si x 6= 0
f (x) = où x0 ∈ [−1 , 1].
x0 si x = 0
65.3 Algorithmes en analyse et probabilités 15
On peut montrer (en exercice) que la fonction f est non continue en 0 et vérifie pourtant la propriété des
valeurs intermédiaires. En effet, soient a et b deux réels avec a < b.
— Si a et b sont non nuls et de même signe, alors c’est immédiat (puisque dans ce cas f est continue sur
[a , b]).
— Si a = 0 (et b > 0) alors on prend un réel λ compris entre f (a) = x0 et f (b). Comme λ ∈ [−1 , 1], on
peut toujours trouver un réel X ≥ 1b tel que sin X = λ. En posant x = X 1
, il vient bien f (x) = λ avec
x ∈ [a , b].
— On raisonne de même si on a un intervalle [a , 0] ou [a , b] lorsqu’il contient 0.
plusmoins(80)
80
sinon
retourne("le gagnant est la tortue")
fsi
}
:;
jeutortue()
le gagnant est le lièvre
La question se pose : quelle est la probabilité pour que la tortue gagne ? On note TG l’événement :
Pour que la tortue avance d’une case, il faut que le dé ne tombe pas sur le 6 donc sur, 1, 2, 3, 4 et 5.
Donc, si on note :
TC = {la tortue avance d’une case} ,
la probabilité que l’événement TC ait lieu est de :
5
P (TC ) = .
6
Ainsi,
6
5 56
P (TG ) = P (TC )6 = = ≈ 0, 335.
6 66
On peut vérifier le résultat en lançant un grand nombre de fois l’algorithme et en calculant la
proportion de jeux gagnants pour la tortue. La loi forte des grands nombres nous dira que plus le
nombre de jeux est grand, plus cette proportion tend vers la probabilité P (TG ).
probatortue(n):={
local g,T,k,simu,pourcent;
T := 0;
pour simu de 1 jusque n faire
g := 0;
pour k de 1 jusque 6 faire
si floor(hasard(1,7)) <> 6 alors
g := g+1;
fsi;
fpour;
si g == 6 alors
T := T+1;
fsi
fpour
pourcent := evalf(T/n*100);
retourne("la tortue gagne " +pourcent+ "% des parties")
}
:;
probatortue(20000)
Temps mis pour l’évaluation: 5.68
la tortue gagne 33.91
65.4 Algorithme de tri 17
L := [4,3,2,1]
[4,3,2,1]
bulle(L)
([1,2,3,4],6)
18 Leçon n°65 • Exemples d’algorithmes
}
}:;
tri_insertion(liste):={
if(liste==[])
then{[]}
else{insere(head(liste),tri_insertion(tail(liste)))}
}:;
tri_insertion([1,2,3,1])
[1,1,2,3]
remplace B par E, C par F, D par G et ainsi de suite. Donnons un exemple à partir de ce décalage de 3
lettres.
[154] M. L ENZEN, Diverses méthodes de calcul approché d’intégrales définies. L’exposé pourra être
illustré par un ou des exemples faisant appel à l’utilisation d’une calculatrice., 2011. URL :
http://capes-de-maths.com
[155] F. T HIRIOUX, BTS Electronique, Cours de Mathématiques, Lycée René Perrin, Ugine. https:
//drive.google.com/file/d/0BwDBipKCbVR0ZzRVd3RvVGJxb00/view.
[156] C. C HERRUAU & F. C HERRUAU, Maths, BTS Groupement A, Contrôle Continue Ellipses.
[157] G. C OSTANTINI, Exercices sur les équations différentielles, Terminale S. URL : http://
bacamaths.net.
[158] M. C UAZ, Plan d’étude d’une fonction numérique, Terminale S. URL : http://mathscyr.
free.fr.
[159] X. D ELAHAYE, Exercices d’étude de fonctions, Terminale ES. URL : http://xmaths.
free.fr/TES/exos/index.php
[160] G. C OSTANTINI, Étude de la fonction tangente, DM de Terminale S. URL : http://
bacamaths.net.
[161] Contributeurs de Wikipédia, Transformation de Laplace, Wikipédia.
[162] M.-N. S ANZ & al., Physique, Tout-en-Un, PSI-PSI*, 2e année, Dunod, 2010.
[163] G. C ONNAN, Une année de MAPLE en MPSI, Ch. 4, 2011-2012. URL : http://
download.tuxfamily.org/tehessinmath/les%20pdf/PolyMaple10.pdf.
[164] Dissections de polygones, la construction de Henry Ernest Dudeney (1857-1930),
URL : http://www-cabri.imag.fr/abracadabri/Coniques/Panoplie/
Dissect/dudeney.htm.
[165] URL : http://www.maths.ac-aix-marseille.fr/debart/college/aire_
college_classique.html.
[166] Contributeurs de Wikipédia, Médiane (géométrie), Wikipédia.
[167] APMEP, Démontrer par les aires, Journée régionale de Grenoble, 17 mars 2004.
[168] Contributeurs de Wikipédia, Théorème de Pick, Wikipédia.
[169] Contributeurs de Wikipédia, Algorithmique, Wikipédia.
[170] A LGOBOX, Gallerie d’algorithmes. URL : http://www.xm1math.net/algobox/
gallerie.html.
[171] Contributeurs de Wikipédia, Flocon de Koch, Wikipédia.
[172] F. BAYART, Code César. URL : http://www.bibmath.net/crypto/substi/
cesar.php3
[173] Codage en code César. URL : http://www.ac-noumea.nc/maths/spip.php?
article295.