Programmation C : Travaux Pratiques III K. El Omari – 1
Programmation C : Travaux Pratiques III
2`eme Ann´ee IUT GTE, UPPA
Z´eros de fonctions
On se propose de d´evelopper des programmes pour le calcul des racines r´eelles de l’´equation
f(x) = 0, o`u fest une application IR −→ IR. Il s’agit de trouver le z´ero (unique) de cette fonction
dans un intervalle [a,b].
Cr´eer un programme pour tracer une fonction entre deux bornes aet b.
Cr´eer un programme pour r´esoudre f(x) = 0 sur un intervalle [a,b] en utilisant :
– l’algorithme de bissection (ou de dichotomie) ;
– l’algorithme de Newton-Raphson ;
– l’algorithme de la s´ecante
– et l’algorithme de la fausse position.
Introduisez des v´erifications (s´ecurit´es) des donn´ees de l’utilisateur, et pr´esentez les r´esultats, de
fa¸con soign´ee, en les comparant `a la solution exacte.
Afin de pr´evil´egier la modularit´e, programmez chaque algorithme dans une fonction s´epar´ee.
Proposer des options suppl´ementaires :
– Menu utilisateur
– choix d’une m´ethode ou comparaison des trois
– ...
Etudier les fonctions :
–f(x) = x3−3x2−3x−35 dans [0 , 7]
–f(x) = exp(10x)−1
exp(10x)+1−0,5 dans [0 , 1]
–f(x)=(x−0,5)2−0,001 dans [0 , 1] et dans [0,5 , 1]
Annexe : Algorithmes
M´ethode de dichotomie
1. A partir d’un intervalle [a,b] (f(a)·f(b)<0)
2. c=a+b
2
3. si f(a)·f(c)<0 : b=c
sinon : a=c
4. si |a−b|> : revenir `a l’´etape 2
sinon la solution est : ?
cette m´ethode peut ˆetre lente mais elle reste efficace.