Travaux pratiques, semaine 3
#include <math.h>
double exponentielle (double x, double epsilon) {
int n;
double s = 1, u = 1;
for (n = 1; fabs (u) > epsilon; n++) {
u = u * x / n;
s = s + u;
}
return s;
}
Comparer les résultats fournis par cette fonction, pour x < 0 et "grand" en valeur absolue, à ceux fournis en ajoutant, au début du corps de la fonction, la ligne :
if (x < 0)
return 1 / exponentielle (-x, epsilon);
Utiliser la fonction exp de la bibliothèque standard
mathématique, pour obtenir la valeur "exacte"
(écrire une fonction main qui affiche les
valeurs des trois fonctions).
void main (void) {
double q, e;
for (e = 1e-10 ; e > 1e-18 ; e = e /10 ) {
q = 1 + e;
q = q - 1;
q = q / e;
printf("%g %g\n", e, q);
}
}
|
Expliquer les résultats produits par le programme suivant :
void main (void) {
int i;
double x = 1;
for (i = 1 ; i < 20 ; i++ ) {
x = 5 * ( 4 * (x - 1 / 5.0) - 3);
printf("%g\n", x);
}
}
|
#include <math.h>
double cosinus (double x, double epsilon) {
int n;
double u = ...;
double s = ...;
for (n = ... ; fabs(u) > epsilon ; n = ...) {
u = ...
s = ...
}
return s;
}
Ecrire la fonction main pour comparer les résultats avec ceux obtenus par la fonction cos de la bibliothèque mathématique standard.
| ||||||||
|