Добавил:
elik.kondrashov@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / лр2 / LABA_3

.docx
Скачиваний:
16
Добавлен:
19.09.2019
Размер:
308.22 Кб
Скачать

Нижегородский Государственный

Технический Университет

им. Р. Е. Алексеева

Кафедра: Прикладная математика

Лабораторная работа № 4

Тема: «Определённый интеграл»

Вариант №4

Выполнил:

студент группы 18-ТМ

Белянин А.А.

Проверил:

Федосеева Т. А.

Нижний Новгород 2019г.

Задача:

Блок-схема:

Начало f(x)

Начало

Возврат

a=0, b=1

Int=0, n=10,

S=0

i=1

x, f[i]

x=a+i*h

S=S+f(x)*h

i=i+1

S

S=0

i=0

x=a+i*h

S=S+f(x)*h

i=i+1

S=0

i=0

S

x, f[i]

1

1

x=a+(i+0.5)*h

S=S+f(x)*h

i=i+1

S=0

i=0

S

x=a+i*h

S=S+f(x)*h

i=i+1

*h

S=0

i=1

S

x=a+i*h

S=S+f(x)*h

i=i+2

i=2

x=a+i*h

Int=Int+f(x)*h

i=i+2

S

Конец

Листинг программы на C++:

#include <iostream>

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

double f(double x) {

return 1/(3*x-7);

}

int main() {

setlocale(LC_ALL, "Russian");

double a = 4, b = 5, n = 10, h, Int = 0, i, S = 0, x;

h = (b - a) / n;

cout << setw(10) << "x=" << "\t" << setw(10) << "y=" << endl;

cout << setw(10) << a << "\t" << setw(10) << f(a) << endl;

for (i = 1; i <= n; i += 1) {

x = a + i * h;

S = S + f(x)*h;

cout.precision(4);

cout << setw(10) << x << "\t" << setw(10) << f(x) << endl;

}

cout << endl << "Метод правых прямоугольников = " << S << endl;

S = 0;

for (i = 0; i < n; i += 1) {

x = a + i * h;

S = S + f(x)*h;

}

cout << "Метод левых прямоугольников = " << S << endl;

S = 0;

for (i = 0; i < n; i += 1) {

x = a + (i + 0.5)*h;

S = S + f(x)*h;

}

cout << "Метод центральных прямоугольников = " << S << endl;

S = 0;

for (i = 1; i < n; i += 1) {

x = a + i * h;

S = S + f(x);

}

S = ((f(a) + f(b)) / 2 + S)*h;

cout << "Метод трапеция = " << S << endl;

S = 0;

for (i = 1; i < n; i += 2) {

x = a + i * h;

S = S + f(x);

}

for (i = 2; i < (n - 1); i += 2) {

x = a + i * h;

Int = Int + f(x);

}

S = (h / 3)*(f(a) + f(b) + 4 * S + 2 * Int);

cout << "Метод Симпсона = " << S << endl;

return 0;

}

Вывод результата:

Программа в Mathcad:

Программа в Excel:

Соседние файлы в папке лр2