Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void button1_Click(object sender, EventArgs e)
- {
- try
- {
- // проверка вероятностей
- Decimal probabilities =
- Convert.ToDecimal(task2_p_A.Value) +
- Convert.ToDecimal(task2_p_B.Value) +
- Convert.ToDecimal(task2_p_C.Value) +
- Convert.ToDecimal(task2_p_D.Value);
- if (probabilities != 1)
- throw new ArgumentException("Сумма вероятностей должна быть равна единице!");
- // расчет среднего количества информации
- task2_bits.Text = "Среднее количество информации:";
- double[] probs = {
- Convert.ToDouble(task2_p_A.Value), Convert.ToDouble(task2_p_B.Value),
- Convert.ToDouble(task2_p_C.Value), Convert.ToDouble(task2_p_D.Value)
- };
- // первый способ - формула Шеннона
- double quantity = 0.0;
- for (int i = 0; i < probs.Length; i++)
- {
- quantity -= probs[i] * Math.Log(probs[i], 2);
- }
- task2_bits.Text += "\n - по формуле Шеннона: " + quantity + " бит";
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message + "\nПроверьте, все ли поля введены и введены ли они верно.");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement