Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2015, 09:36   #1
Alex_Kardo
 
Регистрация: 09.11.2015
Сообщений: 7
Вопрос Вычисление определенного интеграла (Си)

Правильно ли составлена программа по вычислению определенного интеграла :
Код:
#include <stdio.h>
#include <stdlib.h> 
#include <conio.h>
#include <math.h> 
#include <windows.h> 

/*----Расчет значений функции---*/
double FUNCTION(double x)
{
	double y;
	if (x < -4) y = fabs(x*x - 3);
	else if (x <= 1.5) y = 3 * cos(x + 1);
	else y = (2/pow(x,4))+5;
	return y;
}

/*----Расчет интеграла по методу прямоугольников---*/
double RECTANGLES(double left, double right, double step)
{
	double sum = 0;
	double runner;
	for (runner = left + step * 0.5; runner < right; runner += step)
	sum += FUNCTION(runner);
	sum *= step;
	return sum;
}

int main(void)
{
	unsigned N;
	double x, x2, y, r, dx, integral;

	// Ввод исходных данных
	printf("Programm tabulatest function from x1 to x2, step dx\n");
	printf("Enter x1,x2,dx:\n");
	scanf_s("%lf%lf%lf", &x, &x2, &dx);
	printf ("Programm wait 5 second and clear screen every N*3 points. If you enter 0, the display will be displayed on one point. Enter N: ");
	scanf_s ("%u", &N);
	integral = RECTANGLES(x, x2, dx); // вызов функции расчета интеграла
	r = 1; //счетчик выведенных на экран точек
	system("cls");
	do
	{
		y = FUNCTION(x);
		printf ("f(%5.2lf)=(%5.5lf)\n", x, y);
		if (r > N * 3)
		{
			Sleep(5000); r = 1;
			system("cls");
		} else r++;
		x = x + dx;
	} while (x <= x2);
printf ("The value of the integral is: %lf\n", integral ); // Вывод приближенного значения определенного интеграла на экран
_getch();
}
P.S. Программа работает, но хочу быть уверен, что правильно. Заранее благодарю

Последний раз редактировалось Alex_Kardo; 09.11.2015 в 09:38.
Alex_Kardo вне форума Ответить с цитированием
Старый 09.11.2015, 09:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А почему на калькуляторе не проверишь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2015, 09:56   #3
Alex_Kardo
 
Регистрация: 09.11.2015
Сообщений: 7
По умолчанию

Меня интересует правильность алгоритма и если честно трудно это все дается, с математикой не все в порядке.
Alex_Kardo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление определенного интеграла на VBA adel_stein Помощь студентам 0 08.01.2014 16:51
Вычисление определенного интеграла методом Боде RakNaGore Помощь студентам 2 13.05.2012 21:16
Вычисление определенного интеграла. Diamond2107 Общие вопросы C/C++ 4 29.03.2011 17:55
Вычисление определенного интеграла. Diamond2107 Общие вопросы C/C++ 1 19.03.2011 17:51
Вычисление определенного интеграла методом трапеций Alexander886 Помощь студентам 0 06.12.2009 20:43