1
VARIABLES
2
N EST_DU_TYPE NOMBRE
3
S1 EST_DU_TYPE NOMBRE
4
S2 EST_DU_TYPE NOMBRE
5
Precision EST_DU_TYPE NOMBRE
6
k EST_DU_TYPE NOMBRE
7
DEBUT_ALGORITHME
8
//N est le nombre de subdivisions initialisé à 0
9
N PREND_LA_VALEUR 0
10
//S1 est la somme des rectangles inférieurs
11
//dont la hauteur est l'image de la borne supérieure de chaque subdivision
12
//car la fonctionF1(x)=1/sqrt(1+pow(x,3)) est décroissante sur [0;1]
13
//Pour 0 subdivisions, S1 n'existe pas
14
//On choisit quand meme une valeur de toute evidence inférieure à l'integrale pour que le premier test de la boucle Tant Que ait un sens
15
S1 PREND_LA_VALEUR 0
16
//S2 est la somme des rectangles supérieurs
17
//dont la hauteur est l'image de la borne inférieure de chaque subdivision
18
//Pour 0 subdivisions, S1 n'existe pas
19
//On choisit quand meme une valeur de toute evidence supérieure à l'integrale pour que le premier test de la boucle Tant Que ait un sens
20
S2 PREND_LA_VALEUR 1
21
LIRE Precision
22
//L'intégrale de 0 à 1 de F1(x) est toujours comprise entre S1 et S2
23
//Pour approcher cette intégrale à la précision souhaitée
24
//Il suffit de calculer S1 et S2 pour des subdivisions toujours plus grandes
25
//Tant que S2-S1 est supérieure à Precision
26
TANT_QUE (S2-S1>Precision) FAIRE
27
DEBUT_TANT_QUE
28
//Incrémentation du nombre de subdivisions
29
N PREND_LA_VALEUR N+1
30
//Réinitialisation de S1
31
S1 PREND_LA_VALEUR 0
32
//Calcul de S1 pour N subdivisions
33
POUR k ALLANT_DE 1 A N
34
DEBUT_POUR
35
S1 PREND_LA_VALEUR S1+1/N*F1(k/N)
36
FIN_POUR
37
//Réinitialisation de S2
38
S2 PREND_LA_VALEUR 0
39
//Calcul de S2 pour N subdivisions
40
POUR k ALLANT_DE 0 A N-1
41
DEBUT_POUR
42
S2 PREND_LA_VALEUR S2+1/N*F1(k/N)
43
FIN_POUR
44
FIN_TANT_QUE
45
AFFICHER S1
46
AFFICHER S2
47
FIN_ALGORITHME
48
49 Fonction numérique utilisée :
50 F1(x)=1/sqrt(1+pow(x,3))