Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)

Résultats :

Code de l'algorithme :
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))