Table des matières
1 Algorithmique 5
1.1 Généralités ............................. 6
1.2 Présentation d’un langage d’écriture des algorithmes . . . . . . . 9
1.2.1 Lesdonnées......................... 9
1.2.2 Les instructions . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Quelques algorithmes classiques . . . . . . . . . . . . . . . . . . 16
1.3.1 Construction de la liste des nombres premiers par la mé-
thode du crible d’Erathostène . . . . . . . . . . . . . . . 16
1.3.2 Décomposition d’un entier nen produit de facteurs premiers 18
1.3.3 Décomposition en base bd’un entier a.......... 19
1.3.4 Evaluation d’un nombre écrit en base b.......... 20
1.3.5 Développements décimaux illimités . . . . . . . . . . . . 21
1.3.6 L’algorithme de Hörner . . . . . . . . . . . . . . . . . . . 23
1.3.7 Algorithme d’exponentiation rapide . . . . . . . . . . . . 25
1.3.8 Un principe fondamental : la dichotomie . . . . . . . . . . 26
1.4 Illustration des notions de preuve et de terminaison d’un algorithme 30
1.4.1 Algorithme de multiplication : Un premier algorithme . . 30
1.4.2 Algorithme de multiplication : Un deuxième algorithme . 31
1.4.3 Algorithme de multiplication : Un troisième algorithme . . 33
1.4.4 Algorithme d’Euclide pour le calcul du PGCD de nombres
entiers............................ 34
1.4.5 Algorithme d’Euclide étendu . . . . . . . . . . . . . . . . 35
1.4.6 Division euclidienne . . . . . . . . . . . . . . . . . . . . 37
1.5 Construction de programmes itératifs par la mise en évidence de
l’invariant.............................. 38
1.5.1 Ladémarche ........................ 39
1.5.2 Tri d’un tableau par insertion . . . . . . . . . . . . . . . . 40
1.5.3 Tri d’un tableau par sélection . . . . . . . . . . . . . . . . 42
1.5.4 La recherche séquentielle . . . . . . . . . . . . . . . . . . 44
1.5.5 La recherche dichotomique . . . . . . . . . . . . . . . . . 46
3