правильно ли написал программу? - Компьютерные вопросы

Вопрос правильно ли написал программу?

Регистрация
4 Дек 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
правильно ли написал консольное приложение c# для задачи 106? и если ошибки, скажите где и как их исправить.

Console.WriteLine(" введите a,b и n, причём b>a");
double a = double.Parse(Console.ReadLine());
double b = double.Parse(Console.ReadLine());
int n = int.Parse(Console.ReadLine());
int i;
double h = (b - a) / n;
double f = 0;

if (b > a)
{
for (i = 1; i < n; i++)
{
f = f + ((double)(a + (i - (1 / 2)) * h) / (1 + ((a + (i - (1 / 2)) * h) * (a + (i - (1 / 2)) * h))));
}

double k = f * h;

Console.WriteLine("(f1+...+fn)h={0}",k);
Console.Read();
}
else
{
Console.WriteLine("задание не корректно (a>b)");
Console.Read();
}
//otvet.imgsmail.ru/download/57099484_55c830534860150609d130e95fbdcdeb_800.jpg
 
Регистрация
15 Ноя 2013
Сообщения
88
Репутация
0
Спасибо
1
Монет
0
Несколько вопросов: 1. Чему в C# равно выражение 1/2? Вот это - безусловная ошибка. 2. Зачем вообще писать в программе 1/2, когда 0.5 не менее наглядно и не вызывает проблем с целочисленным делением? 3. Зачем 3 раза вычислять одно и тоже значение (a + (i - 0.5) * h)? double q = (a + (i - 0.5) * h); f += q / (1.0 + q * q);
 

sid

Capitan

sid

Capitan
Регистрация
13 Ноя 2013
Сообщения
92
Репутация
1
Спасибо
0
Монет
0
Правильно или неправильно, проверяется тестами. Или дебагом. 1 это int, надо писать 1.0 / 2.0
 
Сверху Снизу