Bonjour à tous,
Code demandé en 1995, la loi binomiale aussi nommée Loi de Poisson sur laquelle s'appuit la courbe de Laplace-Gauss du nom du mathématicien normand de l'ère napoléonienne qui déboucha sur l'école libre suite à la Révolution de 1789, peut s'écrire ainsi*:
Évidemment, même en 2006, donc a fortiori de nos jours, un compilateur actuel retourne warning et erreurs. A quelques exceptions près comme pour toute règle. Pourquoi.
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 #include <stdio.h> #include <math.h> long fact(int i) { long f; if (i==0) { return 1; } else { f = fact(i - 1); return i*f; } } main () { int n, k; double e, p, q, r, t, x, y, z; printf("entrez la valeur de k entier non nul positif\n"); scanf("%d", &k); printf("entrez le nombre d'essais n entier non nul positif\n"); scanf("%d", &n); x = fact(n); y = fact(k); z = fact(n-k); r = x/(y*z); printf("la combinaison n de k est : %lf\n", r); x = n-1; y = k-1; z = x-y; x = fact(x); y = fact(y); z = fact(z); e = x/(y*z); e = e/x; p = pow(e, k); printf("la probabilite de succes k de n est : %lf\n", p); x = n-k; y = 1-p; q = pow(y, x); r = r*p*q; printf("le resultat de la loi binomiale est : %lf\n", r); e = n*p; printf("l'esperance est de : %lf\n", e); t = sqrt(e*q); printf("l'ecart type est de : %lf\n", t); x = exp(-e); y = pow (e,k); z = x*y; k = fact(k); x = z/k; printf("la loi de poisson est : %g\n", x); }
1- l'architecture Intel 8,16,32,64 ( ou même 4096 ou 8192 ) bits d'une part
2- les limitations de la conception du langage C, qui date d'un demi-siècle, imprévu pour de tels calculs demandant une telle précision
Cependant, il s'agit d'une loi mathématique utilisée dans toutes les industries, y compris financière, afin de déterminer les risques en production et les délais de maintenance, ouvrant la route au big data. Il existe donc un workaround ou solution de contournement*: l'assembleur ou ASM que je ne maîtrise pas suffisamment non par méconnaissance du langage mais de l'architecture du µ.
De ces faits, je le laisse tel quel d'autant que cela produit un résultat aussi aléatoire qu'un ordinateur quantique demandé pour les PKI.
Marsu
Partager