Introduction
Dans ce laboratoire, nous allons apprendre à calculer les probabilités binomiales en langage de programmation C. Le laboratoire couvre les étapes suivantes :
- Lecture des valeurs d'entrée pour le calcul de la probabilité binomiale, y compris le nombre d'essais (n), la probabilité de succès (p) et le nombre de succès (k).
- Implémentation de fonctions pour calculer la factorielle et les combinaisons (n choose k), qui sont utilisées dans la formule de la probabilité binomiale.
- Calcul de la probabilité binomiale en utilisant la formule P(X=k) = C(n,k) _ p^k _ (1-p)^(n-k), où C(n,k) représente les combinaisons.
- Affichage de la probabilité calculée.
À la fin de ce laboratoire, vous aurez une bonne compréhension de la manipulation des probabilités binomiales en C et pourrez appliquer ces concepts à divers problèmes du monde réel.
Lire n, p, k
Dans cette étape, nous allons apprendre à lire les valeurs d'entrée pour le calcul de la probabilité binomiale : n (nombre d'essais), p (probabilité de succès) et k (nombre de succès).
Tout d'abord, créons un programme C pour lire ces valeurs d'entrée :
#include <stdio.h>
int main() {
int n, k;
double p;
printf("Enter number of trials (n): ");
scanf("%d", &n);
printf("Enter probability of success (p): ");
scanf("%lf", &p);
printf("Enter number of successes (k): ");
scanf("%d", &k);
printf("Input values:\n");
printf("n = %d\n", n);
printf("p = %.2f\n", p);
printf("k = %d\n", k);
return 0;
}
Enregistrons ce fichier et compilons - le :
nano ~/project/binomial_prob.c
gcc ~/project/binomial_prob.c -o ~/project/binomial_prob
Exemple de sortie lors de l'exécution du programme :
Enter number of trials (n): 10
Enter probability of success (p): 0.5
Enter number of successes (k): 6
Input values:
n = 10
p = 0.50
k = 6
Ce programme montre comment :
- Déclarer des variables pour n, p et k
- Utiliser
scanf()pour lire des entrées entières et à virgule flottante - Afficher les valeurs d'entrée pour vérification
Les valeurs d'entrée représentent :
- n : Nombre total d'essais indépendants
- p : Probabilité de succès à chaque essai
- k : Nombre d'essais réussis pour lequel nous voulons calculer la probabilité
Calculer P(X=k)=C(n,k)p^k(1-p)^(n-k)
Dans cette étape, nous allons étendre notre programme précédent pour calculer la probabilité binomiale en utilisant la formule P(X=k) = C(n,k) _ p^k _ (1-p)^(n-k).
Nous allons ajouter des fonctions pour calculer les combinaisons et la probabilité binomiale :
#include <stdio.h>
#include <math.h>
// Function to calculate factorial
unsigned long long factorial(int n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
// Function to calculate combinations (n choose k)
unsigned long long combinations(int n, int k) {
return factorial(n) / (factorial(k) * factorial(n - k));
}
// Function to calculate binomial probability
double binomial_probability(int n, int k, double p) {
unsigned long long combinations_value = combinations(n, k);
double probability = combinations_value *
pow(p, k) *
pow(1 - p, n - k);
return probability;
}
int main() {
int n, k;
double p;
printf("Enter number of trials (n): ");
scanf("%d", &n);
printf("Enter probability of success (p): ");
scanf("%lf", &p);
printf("Enter number of successes (k): ");
scanf("%d", &k);
double prob = binomial_probability(n, k, p);
printf("Binomial Probability P(X=%d) = %f\n", k, prob);
return 0;
}
Compilez et exécutez le programme :
gcc ~/project/binomial_prob.c -o ~/project/binomial_prob -lm
~/project/binomial_prob
Exemple de sortie :
Enter number of trials (n): 10
Enter probability of success (p): 0.5
Enter number of successes (k): 6
Binomial Probability P(X=6) = 0.205078
Éléments clés du calcul de la probabilité binomiale :
factorial(): Calcule n!combinations(): Calcule C(n,k) ou le nombre de façons de choisir k éléments parmi nbinomial_probability(): Calcule P(X=k) en utilisant la formule complète- Fonction
pow()de math.h utilisée pour l'exponentiation
Afficher la probabilité
Dans cette étape, nous allons améliorer notre programme de calcul de probabilité binomiale pour fournir une sortie plus détaillée et formatée du calcul de la probabilité.
Nous allons modifier le programme précédent pour inclure des représentations supplémentaires de la probabilité :
#include <stdio.h>
#include <math.h>
// Previous functions (factorial, combinations, binomial_probability) remain the same
int main() {
int n, k;
double p;
printf("Enter number of trials (n): ");
scanf("%d", &n);
printf("Enter probability of success (p): ");
scanf("%lf", &p);
printf("Enter number of successes (k): ");
scanf("%d", &k);
double prob = binomial_probability(n, k, p);
// Detailed probability output
printf("\nProbability Calculation Results:\n");
printf("-----------------------------\n");
printf("Number of Trials (n): %d\n", n);
printf("Probability of Success (p): %.4f\n", p);
printf("Number of Successes (k): %d\n", k);
// Different probability representations
printf("\nProbability Representations:\n");
printf("Decimal: %f\n", prob);
printf("Percentage: %.2f%%\n", prob * 100);
printf("Fraction: 1 in %.0f\n", 1.0 / prob);
return 0;
}
Compilez et exécutez le programme :
gcc ~/project/binomial_prob.c -o ~/project/binomial_prob -lm
~/project/binomial_prob
Exemple de sortie :
Enter number of trials (n): 10
Enter probability of success (p): 0.5
Enter number of successes (k): 6
Probability Calculation Results:
-----------------------------
Number of Trials (n): 10
Probability of Success (p): 0.5000
Number of Successes (k): 6
Probability Representations:
Decimal: 0.205078
Percentage: 20.51%
Fraction: 1 in 5
Améliorations clés de cette étape :
- Ajout d'un formatage détaillé des résultats
- Affichage de plusieurs représentations de la probabilité
- Amélioration de la lisibilité de la sortie
Résumé
Dans ce laboratoire, nous avons appris à lire les valeurs d'entrée pour le calcul de la probabilité binomiale, y compris le nombre d'essais (n), la probabilité de succès (p) et le nombre de succès (k). Nous avons également implémenté des fonctions pour calculer la factorielle, les combinaisons et la formule de la probabilité binomiale P(X=k) = C(n,k) _ p^k _ (1-p)^(n-k). Cela nous permet de calculer la probabilité d'observer k succès dans n essais indépendants, étant donné la probabilité de succès à chaque essai.
Les étapes clés couvertes dans ce laboratoire incluent la lecture des valeurs d'entrée, le calcul de la probabilité binomiale en utilisant la formule et l'affichage de la probabilité résultante. Cette connaissance peut être appliquée à divers scénarios du monde réel où la probabilité binomiale est pertinente, comme en statistique, dans la prise de décision et l'analyse des risques.



