Programme pour calcul d'intégrale
Marc31031989
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
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,
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,
A voir également:
- Méthode des trapèzes excel
- Calcul moyenne excel - Guide
- Programme demarrage windows - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Telecharger clé d'activation windows 7 edition integrale gratuit - Guide
- Message programmé iphone - Guide
3 réponses
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.
En général, on ne donne pas deltaX mais un nombre d'interval :
fonction integraleRect(a,b,nect) : entier
puis : deltaX=(b-a)/nrect; ce qui évite de faire la dernière opération aire = aire + f(abscisse)*(b-abscisse)
En général, on ne donne pas deltaX mais un nombre d'interval :
fonction integraleRect(a,b,nect) : entier
puis : deltaX=(b-a)/nrect; ce qui évite de faire la dernière opération aire = aire + f(abscisse)*(b-abscisse)
Bonsoir,
Je ne connais pas le Pascal, mais je t'explique globalement l'algorithme :
Tu dois tout d'abord initialiser une variable qui va te servir à additionner les aires petit à petit. Tu l'initialises à 0 car avant de commencer le calcul, ton intégrale n'est ni positive, ni négative.
Une fois ceci fait, tu crées une boucle dans laquelle tu sommes l'aire de tes rectangles. Globalement l'algo ressemble à ça:
A la fin, je fais un petit rectangle pour finir mon intervalle [a;b]
Je ne connais pas le Pascal, mais je t'explique globalement l'algorithme :
Tu dois tout d'abord initialiser une variable qui va te servir à additionner les aires petit à petit. Tu l'initialises à 0 car avant de commencer le calcul, ton intégrale n'est ni positive, ni négative.
Une fois ceci fait, tu crées une boucle dans laquelle tu sommes l'aire de tes rectangles. Globalement l'algo ressemble à ça:
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]
Effectivement, en général tu dois donner le nombre d'intervalles pour éviter de faire le calcul pour 'finir' l'intervalle.
En revanche, en ce qui concerne ta moyenne, il ne faut pas la faire dans la méthode des rectangles. En effet, l'algorithme que tu explique revient à appliquer la méthode des trapèzes (qui est, tout comme la méthode des rectangles, une approximation de l'intégrale, mais plus précise).
Le but de l'exercice étant d'appliquer la méthode des rectangles, la méthode des trapèzes est selon moi hors-sujet.
Après, tout dépend de ce que demande l'exercice de Marc31031989. La méthode des trapèzes est plus précise, donc s'il n'est pas tenu d'utiliser uniquement la méthode des rectangles, c'est sûr que c'est mieux.