 Microsoft Visual C# Example: The Binomial Probability

 Introduction
 The binomial probability is a measure of the likelihood (probability) of successfully getting a certain of occurrences out of a total number of trials. For example, imagine you have planted peas that produced various offsprings. Also imagine that, from previous tests, you have come to realise that the probability of getting green peas out of your farm is 0.75. Now imagine you plant some peas and they produce five offsprings. You may want to find out the probability of getting three peas.

The formula to calculate the binomial probability is: The factors in this formula are:

 Factor Description n The number of trials x The number of successful trials among n values.The values of x go from 0, 1, 2, ..., to n p The probability of success in a (any one) trial q The probability of failure in a (any one) trial.q is considered as q = 1 - p Application: Creating an Application
1. Start Microsoft Visual Studio
2. To create a new application, on the main menu, click File -> New Project...
3. In the middle list, click Windows Forms Application
4. Change the Name to BinomialProbability1
5. Click OK
6. In the Solution Explorer, right-click Form1.cs and click Rename
7. Type Exercise.cs and press Enter
8. Design the form as follows: Control (Name) Text TextAlign Other Properties Label &Number of Trials: TextBox txtTrials Right Label Number of &Successes: TextBox txtSuccesses Right Label &Probability of Success: TextBox txtProbabilitySuccess Right Button btnCalculate C&alculate PictureBox BackColor: BlackSize -> Height: 2 Label &Binomial Probability: TextBox txtBinomialProbability Right Button btnClose Close
9. Double-click the Calculate button on the form
10. Change the file as follows:
```using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace BinomialProbability1
{
public partial class Exercise : Form
{
public Exercise()
{
InitializeComponent();
}

private static long Factorial(long x)
{
if (x <= 1)
return 1;
else
return x * Factorial(x - 1);
}

private static long Combination(long a, long b)
{
if (a <= 1)
return 1;

return Factorial(a) / (Factorial(b) * Factorial(a - b));
}

private double BinomialProbability(int trials, int successes,
double probabilityOfSuccess)
{
double probOfFailures = 1 - probabilityOfSuccess;

double c = Combination(trials, successes);
double px = Math.Pow(probabilityOfSuccess, successes);
double qnx = Math.Pow(probOfFailures, trials - successes);

return c * px * qnx;
}

private void btnCalculate_Click(object sender, EventArgs e)
{
int nbrOfTrials = 0, nbrOfSuccesses = 0;
double probOfSuccesses = 0.00;
double binomial = 0.00;

try
{
nbrOfTrials = int.Parse(txtTrials.Text);
}
catch (FormatException)
{
MessageBox.Show("The number of trials is not valid",
"Binomial Probability");
}

try
{
nbrOfSuccesses  = int.Parse(txtSuccesses.Text);
}
catch (FormatException)
{
MessageBox.Show("The number of successes is not valid",
"Binomial Probability");
}

try
{
probOfSuccesses = double.Parse(txtProbabilitySuccess.Text);

binomial = BinomialProbability(nbrOfTrials,
nbrOfSuccesses,
probOfSuccesses);
txtBinomialProbability.Text = binomial.ToString();
}
catch (FormatException)
{
MessageBox.Show("The number of trials is not valid",
"Binomial Probability");
}
}
}
}```
11. Return to the form and double-click the Close button
12. Implement the event as follows:
```private void btnClose_Click(object sender, EventArgs e)
{
Close();
}``` 