0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 6
1

Есть кусок кода, объясните что он делает

29.01.2014, 17:32. Показов 697. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
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
private double GetRisk(Dictionary<string, double> dF, double Prob)
    {
      if (Prob < -4.0)
        Prob = -4.0;
      if (Prob > 4.0)
        Prob = 4.0;
      if (Prob < 0.0)
      {
        Prob = Math.Abs(Prob);
        if (dF.ContainsKey(Prob.ToString()))
          return 1.0 - dF[Prob.ToString()];
        double num1 = 0.0;
        double num2 = 100000.0;
        foreach (string str in dF.Keys)
        {
          if (Convert.ToDouble(str) < Prob && num1 < Convert.ToDouble(str))
            num1 = Convert.ToDouble(str);
          if (Convert.ToDouble(str) > Prob && num2 > Convert.ToDouble(str))
            num2 = Convert.ToDouble(str);
        }
        double num3 = (Prob - num1) / (num2 - num1);
        return Math.Round(1.0 - ((1.0 - num3) * dF[num1.ToString()] + num3 * dF[num2.ToString()]), 4);
      }
      else
      {
        if (dF.ContainsKey(Prob.ToString()))
          return dF[Prob.ToString()];
        double num1 = 0.0;
        double num2 = 100000.0;
        foreach (string str in dF.Keys)
        {
          if (Convert.ToDouble(str) < Prob && num1 < Convert.ToDouble(str))
            num1 = Convert.ToDouble(str);
          if (Convert.ToDouble(str) > Prob && num2 > Convert.ToDouble(str))
            num2 = Convert.ToDouble(str);
        }
        double num3 = (Prob - num1) / (num2 - num1);
        return Math.Round((1.0 - num3) * dF[num1.ToString()] + num3 * dF[num2.ToString()], 4);
      }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2014, 17:32
Ответы с готовыми решениями:

Пожалуйста поясните, что делает этот кусок кода .Invoke(this, new EventArgs();
Привет всем, нужна подсказка по начиная со строки 26 и далее. То, что метод OnValueCheckedUp...

Объясните, что делает строка кода
МОжете объяснить что делает эта строка: string digits = &quot;0123456789abcdefghijklmnopqrstuvwxyz&quot;;в...

Объясните, что делает эта строка кода?
string s = new string(s.ToCharArray().Reverse().ToArray()); Пожалуйста, объясните супер подробно,...

Что делает кусок кода?
Изучаю Математику. Решаю систему Д.У. по шаблону. Код работает, но не совсем понимаю, что...

3
28 / 28 / 11
Регистрация: 10.03.2012
Сообщений: 86
Записей в блоге: 5
29.01.2014, 17:40 2
функция в которую передаться словарь строк и значений Dictionary<string, double> dF, а так же число с плавающей точкойdouble Prob. В зависимости от числа double Prob проводятся вычисления. и функция вернет число типа double
1
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 6
29.01.2014, 17:45  [ТС] 3
А можно по подробнее участок кода

C#
1
2
3
4
5
6
7
8
9
        foreach (string str in dF.Keys)
        {
          if (Convert.ToDouble(str) < Prob && num1 < Convert.ToDouble(str))
            num1 = Convert.ToDouble(str);
          if (Convert.ToDouble(str) > Prob && num2 > Convert.ToDouble(str))
            num2 = Convert.ToDouble(str);
        }
        double num3 = (Prob - num1) / (num2 - num1);
        return Math.Round(1.0 - ((1.0 - num3) * dF[num1.ToString()] + num3 * dF[num2.ToString()]), 4);
0
28 / 28 / 11
Регистрация: 10.03.2012
Сообщений: 86
Записей в блоге: 5
29.01.2014, 17:52 4
//поиск в ключах словаря всех строк
foreach (string str in dF.Keys)
// которые конвертируються в Double и проверяться на условие.
if (Convert.ToDouble(str) < Prob && num1 < Convert.ToDouble(str))
num1 = Convert.ToDouble(str);
if (Convert.ToDouble(str) > Prob && num2 > Convert.ToDouble(str))
num2 = Convert.ToDouble(str);
//вертается значение
return Math.Round(1.0 - ((1.0 - num3) * dF[num1.ToString()] + num3 * dF[num2.ToString()]), 4);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2014, 17:52
Помогаю со студенческими работами здесь

Что делает данный кусок кода?
void control() { int i_input; i_input=0; i_input = getch(); switch (i_input)...

Что делает данный кусок кода -?
class CacheAdapter { protected $mcache = null; protected $mcacheHost = null; protected...

Что делает этот кусок кода?
char numbers; int count = 0; for (int i = 100; i &lt; 1000; i++) { ...

Что делает этот кусок кода?
подскажите пожалуйста, что выполняет этот кусок программы!!!! procedure TForm1.SelectLine(const...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru