Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Я правильно сделал?

Ответить
Настройки темы
.NET - Я правильно сделал?

Пользователь


Сообщения: 87
Благодарности: 0

Профиль | Отправить PM | Цитировать


Было дано задание решение интеграла методом трапеции
вот код
HTML код: Выделить весь код
namespace Reshenie { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static float a, b, x, n,g, c, step, y, sum, sum2, sum3; public static float f(float x) { return (float)(32+28*x-9*x*x); } private void button1_Click(object sender, EventArgs e) { a = Convert.ToSingle(textBox1.Text); b = Convert.ToSingle(textBox2.Text); step = Convert.ToSingle(textBox3.Text); sum = 0; sum2 = 0; sum3 = 0; for (x = a; x <= b; x += step) { if (x == a || x == b) { y = Math.Abs(f(x)); sum += y; } else { y = Math.Abs(f(x)); sum2 += y; } } float pogresh = (float)Math.Pow((b - a), 3) / ( (float)Math.Pow((b - a / step), 2));//учитывая погрешность sum3 = (sum / 2 + sum2) * step + pogresh; textBox6.Text = "Ответ: " + sum3.ToString("f3"); }


Отправлено: 21:53, 20-11-2013

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Ну если исключить отсутствие проверок на возможный неверный ввод, то пойдет.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 15:52, 22-11-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Нет, неправильно. Вы вычисляете значение функции только в одной точке, а нужно на каждом отрезке разбиения вычислять как минимум значения функций в двух точках.
Значение площади на одном отрезке разбиения равно [ [ ( f(x+step) + f(x) ) / 2 ] * ( (f(x+step) - f(x) ) ] + погрешность

Первая производная -18x + 28
Вторая производная -18

Погрешность на одном шаге : -[ (-18 / 12) / ( (f(x+step) - f(x) ) * ( (f(x+step) - f(x) ) * ( (f(x+step) - f(x) ) ]

Еще можно было бы добавить сравнение a и b. Если a>b, то программа уже не работает.

-------
Ehhh.. what's up, doc?..

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:57, 22-11-2013 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Я правильно сделал?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
БП и ИБП - [решено] Правильно ли я сделал? monster Прочее железо 8 19-05-2013 14:17
[решено] Вирус сделал ярлыки на флешке Jensen_C Лечение систем от вредоносных программ 37 21-01-2013 23:52
[решено] Сделал свой авт. уст. винд.HELP levanni Автоматическая установка Windows 2000/XP/2003 2 15-08-2010 15:11
Разное - [решено] Косячок сделал с интерфейсом( SiD-IntA Оформление Windows XP 8 08-03-2009 12:51
DELL сделал МФУ Ment69 Новости железа 3 30-08-2006 18:37




 
Переход