|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.10.2019, 15:08 | #1 |
Новичок
Джуниор
Регистрация: 18.10.2019
Сообщений: 3
|
Использование функций с++
Разработать программу для вычисления интеграла с заданной точностью методом прямоугольников и методом трапеций, оформив каждый способ в виде отдельной функции. Вывести на экран результаты интегрирования разными методами для сравнения. Подынтегральное выражение оформить в виде отдельной функции.
|
19.10.2019, 16:50 | #2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Разрешите выполнять ?
- Поручик, а деньги ? - Гусары с дам денег не берут ! |
19.10.2019, 18:56 | #3 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 736
|
Код:
Не знаю как там точность наладить. Может быть кто-нибудь допилит? Из-за этого не используются переменные S и eps - Эпсилон, точность, вот она-то нам и нужна. Но как ее применить?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Последний раз редактировалось Cuprum5; 19.10.2019 в 19:42. |
19.10.2019, 20:41 | #4 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Удваивать число точек разбиения. Если результат, полученный на i+1-й итерации отличается по абс. величине от полученного на i-й меньше, чем на eps - точнось досигнута. А S нужен для того, чтобы не просто выводить полученное значение, а сохранять его для сравнения с предыдущим. Поэтому нужна функция, а не void.
Ну и сумматор f перед циклом в RectangleIntegral кто-то должен обнулить. Как-то так. |
19.10.2019, 20:44 | #5 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 736
|
f там обнуляется.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
19.10.2019, 21:08 | #6 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Может быть. Но не уверен. Как компилятор устроен. Я стандарт языка С++ давно (никогда) не читал. Локальные переменные подпрограммы если обнуляются при каждом обращении, тогда да. Но я бы не надеялся на компилятор. Оператор f = 0; будет всегда выполняться единообразно - на любой платформе, при любой версии компилятора.
Последний раз редактировалось digitalis; 19.10.2019 в 21:17. |
20.10.2019, 06:42 | #7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Причем тут стандарт. Локальные переменные не обнуляются, естественно. НО там написано:
Код:
|
20.10.2019, 09:04 | #8 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 736
|
- не совсем понимаю вот этот код в RectangleIntegral. Кто-нибудь может объяснить почему i до n включительно - так же ведь получается лишний правый прямоугольник. Если попробовать i < n, то возникает расхождение по результату по сравнению с методом трапеций.
Это вообще метод серединных прямоугольников? Код RectangleIntegral правильный?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
20.10.2019, 10:07 | #9 | |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Цитата:
Код:
Cuprum5 конечно, код неправильный. <n . Код:
И вообще обычно делают так: x = a + 0.5 * h до начала цикла ................................... ................. x += h в цикле. И никакие умножения не нужны. |
|
20.10.2019, 10:56 | #10 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 736
|
Вот, опробуем новую функцию
Код:
Проверяйте. Результат, как видно, отличается от метода трапеций.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
использование функций в С++ | mihav | Общие вопросы C/C++ | 9 | 08.03.2013 12:46 |
Использование функций C в VB | All_Ex | Обсуждение статей | 0 | 13.06.2012 13:49 |
Использование функций С++ | ignat129 | Помощь студентам | 5 | 13.05.2012 16:15 |
использование функций в качестве параметров других функций | mono | Помощь студентам | 0 | 20.04.2009 18:25 |
Использование функций | prikolist | Общие вопросы C/C++ | 15 | 06.04.2009 18:42 |