Vous êtes sur la page 1sur 6

Travaux Pratiques

Analyse Numrique et Algorithmique de Base


Fabrice M ONTEIRO
Version: octobre 2014

Prambule
Ce document prsente les noncs de travaux pratiques (TP) relatifs au cours danalyse
numrique et algorithmiques de base. Il est constitu de trois sries de TP.
Chaque srie de TP propose plusieurs problmes (lis entre eux), rpartis en deux groupes.
Le premier groupe est constitue des problmes dont il est attendu quil soit rsolus au
cours de la scance de TP ddie. Le deuxime groupe rassemble des problmes apparents quils vous est possible de rsoudre, une fois le traitement des problmes du premier
groupe termin (ll vous est demand de ne pas entamer le traitement du deuxime groupe
avant la fin premier). Tous les clearroblmes traits seront pris en considration pour la notation.
Pour chaque srie, vous devez rendre un fichier ZIP (ou RAR) que vous prendrez le soit
de nommer en combinant le numro de la srie ainsi que vos nom et prenom. Par exemple,
le fichier devrait sappeller s2_dupont_jean.zip (ou s2_dupont_jean.rar) si vous vous appelez
"Jean DUPONT" et que la srie de TP concerne est la srie 2. Le contenu de ce fichier ZIP
(ou RAR) doit tre le suivant ( lexclusion de tout autre lment) :
Un rapport (au format PDF) dans lequel vous exposez votre analyse des problmes et
votre approche pour les rsoudre.
Lensemble des fichiers sources (fichiers.c) relatifs vos programmes.
Chaque fichier source aura un nom dbutant par un prfixe indiquant le numro de problmes.
Par exemple, pour les problmes A et B de la srie 1 auront des noms commenant respectivement par "S1A_" et "S1B_".

Chapitre 1
Problmes polynomiaux
Cette srie porte sur le traitement de problmes numriques relatifs aux fonctions polynomiales. Il sagit de rsoudre des problmes tels que la recherche de racines de polynmes par
des mthodes danalyse numriques en utilisant les approches algorithmiques bases sur les
suites rcurrentes.
Pour chaque problme, vous identifierez les aspects qui seront traits par des suites rcurrentes en explicitant les suites rcurrentes qui conviennent (indiquer explicitement les formules
des suites rcurrentes ainsi que les termes initiaux et les conditions darrt dterminant le
nombre de termes calculer).
Pour chaque suite rcurrente, vous tes ensuite libres de choisir la mthode de traitement
informatique parmi les approches suivantes :
approche itrative
approche rcursive
Lapproche itrative, qui repose sur lemploi de boucles, est trs efficace du point de vue
des performances. Elle nest cependant pas toujours triviale dvelopper du point de vue de la
simplicit dcriture et surtout, de relecture.
Dans lapproche rcursive, lemploi de boucles est remplac par lutilisation de fonctions
qui font appel elles-mme dans leur dfinition (une fonction rcursive est une fonction
contenant au moins un appel elle-mme dans son code). Cette approche peut tre dcline
sous deux formes principales, comme vu en cours.
approche rcursive directe :
bien que le codage trivial selon cette approche soit gnralement trivial, les performances
sont plutt mauvaise, voire trs mauvaises pour la plupart des rcurrences
approche rcursive terminale : de codage moins trivial que lapproche prcdente, les
2

performances sont en revanche quivalentes celles de lapproche itrative


Les problmes de cette srie sont regroups en deux sous-sries. La premire est constitu de
problmes dont la rsolution est obligatoire et pour laquelle le temps imparti est tout fait
suffisant. La deuxime sous-srie est constitue des problmes optionels que vous pouvez une
fois rsolus ceux de la premire sous-srie.
Pour chaque problme, vous devez dvelopper un programme ddi. Certains aspects
pouvant tre commun au traitement de plusieurs problmes, il est tout fait normal que
puissiez rutiliser des parties de codes (ex : fonctions) dans plusieurs de vos programmes.
Pour lensemble des programmes qui suivent, il vous est demand de bien organiser et
structurer votre code, notamment en sparant bien clairement les parties charges de grer le
dialogue avec lutilisateur (interface utilisateur) des parties charges des calculs proprement
dits. Ce point sera fortement pris en compte lors de la correction.

1.1

Sous-srie obligatoire

Problme A : crire un programme permettant un utilisateur de calculer la valeur prise


par un polynme P (x) en diffrent points x. Linterface de dialogue demandera dans
un premier temps le degr et coefficients du polynme. Puis ensuite, rptitivement, le
programme demandera si lutilisateur veut calculer les valeur de P (x) et de P 0 (x) en
un point x. Tant que lutilisateur rpondra affirmativement, le programme demandera la
valeur de x puis affichera les valeurs de P (x) et P 0 (x).
Problme B : crire un programme permettant un utilisateur de rechercher une racine
dun polynme P (x) par la mthode dicothomique. Linterface de dialogue demandera
tout dabord le degr et coefficients du polynme puis ensuite les deux coordonnes
limites gauche et droite du premier intervalle de recherche. En sortie, le programme
indiquera la valeur x = r de la racine trouve, ou un message indiquant limpossibilit
(si lintervalle initial de recherche ne le permet pas).
Problme C : crire un programme permettant un utilisateur de rechercher une racine
dun polynme P (x) par la mthode de Newton-Raphson. Linterface de dialogue
demandera tout dabord le degr et coefficients du polynme puis ensuite la coordonne
x0 du point initial do dbute la recherche. En sortie, le programme indiquera la valeur
x = r de la racine trouve.

1.2

Sous-srie optionnelle

Problme D : crire un programme permettant un utilisateur de rechercher une racine


dun polynme P (x) par la mthode de la scante. Linterface de dialogue demandera
tout dabord le degr et coefficients du polynme puis ensuite les coordonnes initiales
x0 et x1 do dbute la recherche. En sortie, le programme indiquera la valeur x de la
racine trouve.
Problme E : crite un programme capable de trouver lensemble des racines dun
polynme. Pour cela, vous pouvez utiliserez la mthode de Newton-Raphson. La stratgie
adopter est considrer une suite de polynmes. Le premier polynme de la suite P0 (x)
est dfinini par P0 (x) = P (x). Pour passer dun polynme Pk (x) au polynme suivant
Pk+1 (x), on procde de la manire suivante :
rechercher une racine rk de Pk (x)
poser Pk+1 = Pk (x)/(x rk )
Le processus de termine (toute les racines sont trouves) lorsque le polynme courant
Pk (x) est de degr 0.

Vous aimerez peut-être aussi