Calcul de la longueur totale d'une courbe

Contenu du snippet

IL FAUT ENTRE LA FOCTION A ETUDIER DIRECTEMENT DANS LE PROGRAMME (JE SAIS C PAS BIEN MAIS J Y TRAVAILLE),PUIS L'UTILISATEUR CHOISIT UN INTERVAL D'ETUDE. LE PROGRAMME AFFICHE A LA FIN LA LONGUEUR TOTALE DE LA COURBE

Source / Exemple :


FICHIER D'ENTETE
# include <iostream.h>		

double f1(double);	// prototype de la fonction f1
double lgseg(double,double,double,int); // prototype de la fonction lgseg
double lgtotale(double,double,int); // prototype de la fonction lgtotale

----------------------------------------------------------------------------------------------------------
				MAIN
# include "en tete.h" // inclusion du fichier d'entete

void main()
{ 
	// initialisation des variables
	int a=0;
	int b=0;
	int nbinter=0;
	
	// demande a l'utilisateur de saisir les bornes et le nombre d'intervalles
	cout<<" Entrer la valeur de la borne inferieure"<<endl;
	cin>>a;
	cout<<" Entrer la valeur de la borne superieure"<<endl;
	cin>>b;
	cout<<" Entrer le nombre d'intervalle"<<endl;
	cin>>nbinter;

	{
		cout<<"La Longueur de la courbe est : "<<lgtotale(a,b,nbinter)<<endl; // affiche le resultat de la longueur totale
	}
}
----------------------------------------------------------------------------------------------------------
			FONCTION A ETUDIER
# include <math.h> // declaration du fichier d'inclusion

double f1(double x) // appel de la fonction f1
{
	double resultat;
	resultat=sqrt((20-x)*x); // calcul de la fonction y= racine((20-x)*x)
	return resultat;
}
----------------------------------------------------------------------------------------------------------
				LONGUEUR SEGMENT
#include<iostream.h>
#include<math.h> // inclusion du fichier d'entete math.h pour le calcul de la racine (sqrt) et de la puissance (pow)

double lgseg(double x,double a,double b,int nbinter) // appel de la fonction lgseg

{
	double inter=0;
	double longseg=0;
	inter=(b-a)/(float)nbinter; // calcul de l'intervalle d'etude dela courbe

	longseg=sqrt(pow(((x+inter)-x),2)+pow(sqrt((20-x)*x)-sqrt((20-x+inter)*(x+inter)),2)); // calcul de la longueur du segment

	return longseg;

}
----------------------------------------------------------------------------------------------------------			LONGUEUR TOTALE
#include<iostream.h> 
#include<math.h>
double lgseg(double x,double a,double b,int nbinter); 

double lgtotale(double a,double b,int nbinter) // appel de la fonction lgtotale
{
	// declaration et initialisation des variables locales
	double totale;
	totale=0;
	int cpt;
	cpt=0;
	double inter;
	inter=0;
	inter=(b-a)/(float)nbinter;
	double x=0;
	
	while(cpt<nbinter)							//
	{											//
		totale=totale+lgseg(x,a,b,nbinter);		// boucle permetant de calculer la longueur totale
		cpt++;									//
		x=x+inter;								//
	}											//
	return totale;
}

Conclusion :


si quelqu'un pouvais m aider pour resoudre un probleme de precision dans le calcul se serais sympa !!!!
merci d'avance

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.