Mesdames, messieurs,
J'aimerais écrire une application console qui a pour but de calculer une approximation à l'ordre n (entier donné par l'utilisateur) du nombre exp(1) ou e.
Pour cela j'utilise le développement limité à l'ordre n de exp(x) où x=1 :
exp(1)=1+1/1!+1/2!+1/3!+1/4!+...
J'ai donc créé une fonction CalculFactorielle(entier) et une fonction CalculExp(entier). Cette dernière utilise CalculFactorielle.
CalculFactorielle marche nickel mais pas CalculExp qui renvoit toujours la même valeur 2...
Aussi ma question est de savoir si l'on peut faire appel à une fonction dans une autre fonction ?
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 class Program { public static int CalculFactorielle(int entier) { int resultat = 1; int compteur = 1; while (compteur < entier) { resultat = resultat * (compteur + 1); compteur = compteur + 1; } return resultat; } public static double CalculExp(int entier) { double resultat=1 ; int compteur = 1; while (compteur < entier) { resultat = resultat + (1 / CalculFactorielle(compteur)); compteur = compteur + 1; } return resultat; } static void Main(string[] args) { int entier; int factorielle; double exponentielle; Console.Write("Entrez un entier >=1 : "); entier = int.Parse(Console.ReadLine()); factorielle = CalculFactorielle(entier); exponentielle = CalculExp(entier); Console.WriteLine("La factorielle de " + entier + " est : " + factorielle); Console.WriteLine("exp = " + exponentielle); } }
Partager