|
|
|
|
Bonjour,
Je dois créer un sous programme pascal qui calcule sur l'intervalle [a,b] l'intégrale d'une fonction donnée la méthode employée sera celle des rectangles. On peut traduire l'intégrale par l'approximation A= Intégrale de a à b de f(x)dx = Somme de a à b de alpha(i) avec alpha(i)= Yi* deltax delta x étant la largeur d'un rectangle. Il y a d'autres indications:
Afin d'avoir une écriture indépendante , on adoptera les déclarations suivantes :
Type
Element = ....; (* nom du type de la variable de la fonction *)
Valeur = ....; (* --"-- du résultat de la fonction *)
Par mesure de facilité la fonction à étudier ne sera pas saisie au clavier, mais définie directement dans
le texte via un sous-programme :
Function MA_FONCTION (i : Element ) : Valeur;
Var
y : Valeur;
Begin
y := f(i); (* C'est sur cette ligne que l'on écrira la
définition de la fonction à étudier *)
MA_FONCTION := y;
End;
N. B:
Connaissances nécessaires :
-Notion de type, de variable,
-Instructions : Entrée / Sortie,
Itérations,
Conditionnelles,
Configuration: Windows Vista Firefox 2.0.0.14
Bonsoir,
fonction integraleRect(a,b,deltaX) : entier aire=0 Pour abscisse=a, tant que abscisse<b-deltaX, faire aire = aire + f(abscisse)*deltaX abscisse=abscisse+deltaX Fin pour aire = aire + f(abscisse)*(b-abscisse) retourner aire A la fin, je fais un petit rectangle pour finir mon intervalle [a;b] |
Attention tout de même, là tu fait une erreur sur l'intégrale. Si tu veux calculer une intégrale plus précise, tu calcul celle de Marco, puis la plus en remplaçant f(abscisse)*deltaX par f(abscisse+deltaX)*deltaX puis tu fait la moyenne des deux aires ainsi obtenues.
|