Vous êtes sur la page 1sur 4

www.goodprepa.

tech

TD n°1 (Introduction générale à l’AN)


Exercice 1 :
1) Algorithme de Horner pour évaluer des polynômes :
1. Le nombre de multiplications est n(n+1)/2 = O(n2)
2. Avec Horner le nombre de multiplication est n=O(n)
3. Algorithme :
Réserver une place mémoire P et l’initialiser à P=an
Répéter pour k variant de n-1 à 0
P=P*x0 + ak
2) Exemple d’algorithme de tri :

Tri à bulles : consiste à faire remonter progressivement les plus grands éléments d'une liste,
comme les bulles d'air remontent à la surface d'un liquide :

Le nombre d’opérations de comparaison-échange


dans l’algorithme est n(n+1)/2 = O(n2).

Tri rapide :
La méthode consiste à placer un élément d'un tableau d'éléments à trier (appelé pivot) à sa
place définitive en permutant tous les éléments de telle sorte que tous ceux qui lui sont
inférieurs soient à sa gauche et que tous ceux qui lui sont supérieurs soient à sa droite. Cette
opération s'appelle le partitionnement. Pour chacun des sous-tableaux, on définit un nouveau
pivot et on répète l'opération de partitionnement. Ce processus est répété récursivement,
jusqu'à ce que l'ensemble des éléments soit trié.

Le nombre d’opérations de comparaison-


échange lorsque on a une liste désordonnée
complète de 1 à n est nlog2(n)= O(nlog(n)).
Exercice 2 :
1) Nombres entiers :
127=1+2+4+8+16+32+64=(1111111)2 ; 2354=2048+256+32+16+2=(100100110010)2
27=16+8+2+1=(11011)2
Autre méthode : Division euclidienne successive par 2
Quotient de la division Reste de la division
euclidienne par 2 euclidienne par 2
27 (nb initial) 1
13 1
6 0
3 1
1 1
0 1
Nombres fractionnaires : la partie entière est traitée comme pour les nombres entiers
Pour la partie fractionnaire on utilise les multiplications successives par 2 ; on obtient ou
bien une suite binaire finie ou bine une suite binaire infinie mais périodique.
Partie fractionnaire avant Partie entière après
multiplication par 2 multiplication par 2
0 ,245 0
0,49 0
0,98 1
0,96 1
0,92 1
0,84 1
0,68 1
 
0,245=(0,0011111…)2
2) Pour le passage de la base 2 à la base 10 on développe directement :
(101,00110)2 =4+1+1/8+1/16=5,1875

Exercice 3 Représentation en virgule flottante :


e
1. x=  2 0,C1 C2 …. Cp Avec -64 e  63 et p=8 et C10 si x0
1. Le plus petit nombre positif : x=2-640,1
Le plus grand nombre positif : x= 2630,11111111
2. Le nombre de cas possibles dans cette représentation pour x0:
2 possibilités pour le signe
128 possibilités pour e
27pour la mantisse (C10 si x0)
Donc le total des cas possibles : 215+1 ( on ajoute le cas x=0)
3. x = (2, 8)10=10,11001100….)2
représentation en virgule flottante : x2-20,101100110

Exercice 4 ( Calcul Voir polycopié AN)


Rappels et complément d’Algèbre linéaire

4.

Exercice 2 calcul immédiat


Exercice 3
1. Calcul similaire à 2.

 1 5  x1   6 
2. On a le système suivant :      
1,0001 5  x 2   6, 

0
Ce qui donne x   6 
 
5
b 0.0005 x  5
a. On a 
  8.3326e - 005 et  1
b 
6.0005 x 5

On voit que la variation relative de x est beaucoup plus grande que celle de b
autrement dit une petite variation sur le second membre peut produire une grande
variation sur la solution.
 1 5 1  5  5
b. On pose A     A 1   
 1,0001 5  0 .0005   1,0001 1 
Cond ( A)  A  A 1  6,0001 * 2 *10 4  120002

On a bien la relation des majorations des perturbations :


x  b 
1  Cond ( A)  120002 * 8.3326e - 005  9.9993
x b
c. La solution du système linéaire est le point d’intersection de deux droites données
par les deux équations du système.

On remarque que ici les deux droites sont presque paralléles donc une petite
perturbation de b (qui se traduit géométriquement par une petite translation d’une
droite par rapport à l’autre) se traduit par une grande ranslation de la solution.
Le cas idéal est lorsque les deux droites sont perpendiculaires (matrice orthogonale)
dans ce cas le conditionnement est égale à 1 et les perturbation de b et de x restent
du même ordre.