Объясните код программы - C#
Формулировка задачи:
Здравствуйте. объясните пожалуйста код программы.
больше всего интересует для чего используется (0.6), (if (rrs4 <= 0.6) state = 1001 откуда это величина взялась
Листинг программы
- 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 WindowsFormsApplication3
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();}
- private double stringadd(int i, int state) {
- dataGridView1.Rows[i].Cells[0].Value = string.Format("{0}", i + 1);
- dataGridView1.Rows[i].Cells[1].Value = string.Format("{0}", state);
- //генерируем ррсч
- double rrs4;
- rrs4 = myRandom.NextDouble();
- dataGridView1.Rows[i].Cells[2].Value = string.Format("{0}", rrs4);
- return rrs4;}
- private double lsr(int _count)
- { double p2111 = 0.163;
- double p1111 = 0.103;
- double p2011 = 0.228;
- double p1000 = 0.014;
- double _lsr = 0;
- for (int i = 0; i < _count; i++) {
- if (dataGridView1.Rows[i].Cells[1].FormattedValue.ToString() == "2111")
- _lsr = _lsr + p2111;
- if (dataGridView1.Rows[i].Cells[1].FormattedValue.ToString() == "1111")
- _lsr = _lsr + p1111;
- if (dataGridView1.Rows[i].Cells[1].FormattedValue.ToString() == "2011")
- _lsr = _lsr + 2*p2011;
- if (dataGridView1.Rows[i].Cells[1].FormattedValue.ToString() == "1000")
- _lsr = _lsr + 2*p1000;
- } return _lsr; }
- private Random myRandom = new Random();
- private void button1_Click(object sender, EventArgs e)
- {
- dataGridView1.Rows.Clear(); //чистим таблицу
- int _count; //количество испытаний вводимое с клавы
- int.TryParse(textBox1.Text, out _count);
- dataGridView1.Rows.Add(_count); //увеличиваем таблицу насколько нужно
- int state = 2000; //переменная текущего состояния системы
- double rrs4;
- for (int i = 0; i < _count; i++)
- { switch (state)
- { case 2000:
- rrs4 = stringadd(i, state);
- state = 1000; break;
- case 1000:
- rrs4 = stringadd(i, state);
- state = 2010; break;
- case 2010:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.6) state = 1001;
- else state = 1010; break;
- case 1010:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.6) state = 2011;
- else state = 2110; break;
- case 2011:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.6) state = 1001;
- else if (rrs4 < 0.24) state = 1010;
- else state = 1011; break;
- case 1011:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.36) state = 2010;
- else if (rrs4 < 0.24) state = 2011;
- else if (rrs4 < 0.24) state = 2110;
- else state = 2111; break;
- case 1001:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.6) state = 2010;
- else state = 2011; break;
- case 2111:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.6) state = 1011;
- else if (rrs4 < 0.24) state = 1110;
- else state = 1111; break;
- case 1111:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.24) state = 2110;
- else if (rrs4 < 0.6) state = 2111;
- else state = 2211; break;
- case 2211:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.6) state = 1111;
- else if (rrs4 < 0.24) state = 1010;
- else state = 1011; break;
- case 1011:
- rrs4 = stringadd(i, state);
- if (rrs4 <= 0.24) state = 2010;
- else state = 2011; break; } }
- double _lsr = lsr(_count);
- textBox2.Text = string.Format("Вероятность блокировки Рбл: {0}", _lsr);
- textBox3.Text = string.Format("Среднее время пребывания заявки в системе Wc: {0}", _lsr);
- MessageBox.Show("Моделирование завершено", "Сообщение");}
Решение задачи: «Объясните код программы»
textual
Листинг программы
- rrs4 = myRandom.NextDouble();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д