Форум программистов, компьютерный форум, киберфорум
Наши страницы

Разработать программу для вычисления определенного интеграла методом средних прямоугольников. Проверка курсовой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти номер минимального из чисел http://www.cyberforum.ru/cpp-beginners/thread1074409.html
Помогите, пожалуйста, решить задачу в С++. Даны натуральное число n и целые числа , ,...,. Найти номер минимального из чисел (массив не использовать).
C++ Сформировать файл из символов и с помощью очереди Помогите, пожалуйста, решить задачу в С++. Сформировать файл из символов и с помощью очереди за один просмотр файла напечатать элементы файла в следующем порядке: сначала все символы, отличные от... http://www.cyberforum.ru/cpp-beginners/thread1074403.html
C++ Написать программу разбиения строки на две части: до первого вхождения заданного символа и после него
8.5.1. Помогите, пожалуйста, решить задачу в С++. Написать программу разбиения строки на две части: до первого вхождения заданного символа и после него.
C++ В файле записана последовательность целых чисел. Наибольшее из них записать во второй файл.
Помогите, пожалуйста, решить задачу в С++ В файле записана последовательность целых чисел. Найти наибольшее из чисел и записать результат во второй файл.
C++ Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик http://www.cyberforum.ru/cpp-beginners/thread1074399.html
Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соот-ветствии с ростом...
C++ В файле записана последовательность целых чисел. Записать во второй файл квадраты чисел. Помогите, пожалуйста, решить задачу в С++. В файле записана последовательность целых чисел. Записать во второй файл квадраты чисел. Указание: переменную, предназначенную для временного хранения... подробнее

Показать сообщение отдельно
150333
2 / 2 / 0
Регистрация: 18.10.2013
Сообщений: 107

Разработать программу для вычисления определенного интеграла методом средних прямоугольников. Проверка курсовой - C++

17.01.2014, 22:06. Просмотров 1788. Ответов 6
Метки (Все метки)

Будьте добры , проверьте правильно ли считает данная программа.И можно ли её доработать?
Задание:
Кликните здесь для просмотра всего текста
Разработать программу для вычисления определенного
интеграла методом средних прямоугольников для функции
типа: y=a ∙ cos (b ∙ x )+ x^c . Коэффициенты a, b, c и границы
интервала интегрирования считываются с экрана.

Решение:
Кликните здесь для просмотра всего текста
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <math.h>
#include <iostream>
 
using namespace std;
 
//---------------------------------------------------------------------------
//Подынтегральная функция
double func(double,double,double,double);
 
//---------------------------------------------------------------------------
// Метод средних прямоугольников
double Int(double,double,double);
 
//---------------------------------------------------------------------------
// Проверка количество точек разбиения отрезка интегрирования (n) 
int test(int n);
 
void main()
{
setlocale(LC_ALL,"Russian" );
 
double x1,x2,a,b,c;
unsigned long int n;
cout<<"Задание:"<<endl<<"Разработать программу для вычисления определенного интеграла"<<endl<<"методом средних прямоугольников для функции типа:"<<endl<<"y=a*cos(b*x)*x^c"<<endl<<"Коэффициенты a, b, c и границы интервала интегрирования считываются с экрана."<<endl;
 
cout<<"-----------------------------------------------------------------------------"<<endl;
cout<<"\nОпределите границы интервала:"<<endl<<"\nx1:\t"; 
cin>>x1;
cout<<"x2:\t";
cin>>x2;
 
 
while(true)
{
int cs;
cout<<"\nВведите количество точек разбиения отрезка интегрирования n."<<endl<<"\nn:\t";
cin>>n;
cs=test(n);
if (cs==0)
cout<<"\nЗначение n меньше единицы. Введите заново.\n";
else
break;
}
 
//--------------------------------------------------------------------------- 
//Вывод результата
 
cout << endl <<"\nРезультат интегрирования= " << Int(x1,x2,n)<<endl;
 
}
 
//---------------------------------------------------------------------------
// Метод средних прямоугольников
double Int(double x1,double x2,double n)
{
double a,b,c;
cout<<"\nВведите коэффициенты подынтегральной функции{y=a * cos (b * x )+ x^c}:"<<endl<<"\na\t";
cin>>a;
cout<<"b:\t";
cin>>b;
cout<<"c:\t";
cin>>c;
    double dx=fabs(x1-x2)/n;//приращение
    double Integ=0;
    for ( int i=0 ; i<n ; i++)
    {
        Integ += func((x1+dx*i),a,b,c);
    }
    Integ *= dx;
    return Integ ;
}
//---------------------------------------------------------------------------
//Подынтегральная функция
 
double func(double x,double a,double b,double c)
{
return (a * cos (b * x )+ pow (x,c));
}
 
//---------------------------------------------------------------------------
// проверка количество точек разбиения отрезка интегрирования (n) 
int test(int n)
{
if (n<1)
return 0; 
else
return 1;
}

И еще парочку вопросов :
1)Нужно ли писать чему равен интеграл?
2)Может ли быть число n дробным?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru