Programme des foctions

Hamidou -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,je m'appelle ***. je veux un programme qui permet de calculer le developemrnt limité de la fonction exponentielle.Merci



2 réponses

Utilisateur anonyme
 
Bonjour

Merci de garder à l'esprit que CodeS-SourceS et CCM sont des communautés d'entraide. Toutes les réponses sur le forum sont assurées par des bénévoles qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter également que nous ne faisons pas dans le "tout cuit". Soit tu trouves ton bonheur dans la partie sources du site, soit à l'aide de ton moteur de recherche favori. Ici, nous aidons volontiers sur une difficulté technique, précise et parfaitement isolée rencontrée dans le cours du développement.

Penser à poster le morceau de code qui pose problème, voir ici comment utiliser la coloration syntaxique. S'il y a un message d'erreur retranscrivez le dans son intégralité, en précisant à quelle ligne apparait cette erreur.

des conseils d'écriture des messages et ici et en particulier pour les devoirs scolaires ou PFE.

Penser que le titre doit refléter le contenu de la demande, "Question", "Problème" ou "Java", ne sont ni accrocheurs, ni utiles. Il semble évident qu'une question posée sur un forum de programmation Java tournera autour d'un problème lié à ce langage.

Merci donc de reformuler ta demande en respectant ces quelques points.


0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Ceci peut faire ton bonheur.
Notons que la validation des entrées est réduite à RIEN. Tu feras cela toi-même.
L'important c'est la fonction my_exp.
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

double my_exp(double r, double epsilon)
{
  double sum = 0.0 ;
  double term = 1.0 ;
  int i = 1 ;

  while(fabs(term) > epsilon)
    {
      /*
      printf("i = %d\tsum = %f\tterm = %f\n", i, sum, term);
      */
      sum += term ;
      term =  term * r / i ;
      i++ ;
    }
  return sum ;
}
  
void usage(char *pname)
{
  fprintf(stderr, "Usage %s argument, precision\n", pname) ;
  return ;
}

int main(int argc, char *argv[])
{
  double x, error ;

  if( 3 != argc)
    {
      usage( argv[0] ) ;
      return EXIT_FAILURE ;
    }

  sscanf(argv[1], "%lf" , &x) ;
  sscanf(argv[2], "%lf" , &error ) ;

  printf("my_exp(%lf): %lf\n", x, my_exp(x, error)) ;
  printf("exp(%lf): %lf\n", x, exp(x)) ;

  return EXIT_SUCCESS ;
}


Compilation et exécution:
johand@bata:~/src/CCM$ gcc -Wall -o exp -lm exp.c
johand@bata:~/src/CCM$ ./exp -1 1E-5
my_exp(-1.000000): 0.367882
exp(-1.000000): 0.367879
A toi de préciser la condition de fin de la boucle while.

On ne fera pas toujours tes devoirs à ta place!
C'est te rendre un très mauvais service
Gates gave ^W  sold  you the windows.
GNU gave us the whole house.(Alexandrin)
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut jisisv,

Je peux pas m'en empêcher :-) :
printf("my_exp(%lf): %lf\n", x, my_exp(x, error)) ;
Pas de %lf dans les printf(). Même si c'est toléré aujourd'hui, il est en fait ignoré par le compilateur.

return ;
Pas d'intérêt en fin de void().
0