/*************************************************************************************************************************************/
/* */
/* D E V E L O P P E M E N T E N S E R I E D U C O S I N U S E T D U S I N U S */
/* C I R C U L A I R E E T H Y P E R B O L I Q U E : */
/* */
/* */
/* Author of '$xtc/DeveloppementCosinusSinusCirculaireHyperbolique.01$c' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20210208105035). */
/* */
/*************************************************************************************************************************************/
#include "INCLUDES.01.I"
#define ANGLE_0 \
0
#define ANGLE_N \
PI_SUR_4
#define PAS \
0.1
#define N0 \
0
#define N \
9
double CosinusSinus(u,Cosinus,CirculaireHyperbolique)
double u;
int Cosinus;
/* Indicateur : */
/* */
/* VRAI ==> cos(...) */
/* FAUX ==> sin(...) */
/* */
int CirculaireHyperbolique;
/* Indicateur : */
/* */
/* -1 ==> Circulaire */
/* +1 ==> Hyperbolique */
/* */
{
double serie=0;
double numerateur=1;
double denominateur=1;
int signe=+1;
int n;
for (n=N0 ; n<=N ; n++)
{
if (EST_IMPAIR(n))
{
if (IFEQ(Cosinus,FAUX))
{
serie = serie + (signe*(numerateur/denominateur));
signe = CirculaireHyperbolique*signe;
/* Cas du 'sin(...)'. */
}
else
{
}
}
else
{
if (IFEQ(Cosinus,VRAI))
{
serie = serie + (signe*(numerateur/denominateur));
signe = CirculaireHyperbolique*signe;
/* Cas du 'cos(...)'. */
}
else
{
}
}
numerateur = numerateur*u;
denominateur = denominateur*(n+1);
}
return(serie);
}
main()
{
double angle;
for (angle=ANGLE_0 ; angle<=ANGLE_N ; angle=angle+PAS)
{
printf("serie=%.8f --> cosc=%.8f serie=%.8f --> sinc=%.8f"
,CosinusSinus(angle,VRAI,-1),cos(angle)
,CosinusSinus(angle,FAUX,-1),sin(angle)
);
printf(" ");
printf("serie=%.8f --> cosh=%.8f serie=%.8f --> cosh=%.8f"
,CosinusSinus(angle,VRAI,+1),cosh(angle)
,CosinusSinus(angle,FAUX,+1),sinh(angle)
);
printf("\n");
}
}