Главная страница

Лабораторная работа 3. Лабораторная 3. Детерминированные циклические вычислительные процессы с управлением по аргументу. Частичное интегрирование


Скачать 313.62 Kb.
НазваниеДетерминированные циклические вычислительные процессы с управлением по аргументу. Частичное интегрирование
АнкорЛабораторная работа 3
Дата22.11.2022
Размер313.62 Kb.
Формат файлаdocx
Имя файлаЛабораторная 3.docx
ТипЛабораторная работа
#805672

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

  1. Тема: «Детерминированные циклические вычислительные процессы с управлением по аргументу. Частичное интегрирование»



  1. Цель работы: Разработать алгоритм вычисления определенного интеграла с помощью детерминированного вычислительного процесса с управлением по аргументу



  1. Используемое оборудование: персональный компьютер, компилятор «Pascal ABC»

4. Задача 1. Написать программу для вычисления определенного интеграла из

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

Протестировать программу на определенном интеграле,

вычисленным в ходе выполнения самостоятельной работы 3

5. Математическая модель



6. Блок-схема



7. Список идентификаторов

Имя

Тип

Смысл

a

real

Верхняя граница

b

real

Нижняя граница

x

real

Значение аргумента

y

real

Значение функции

dx

real

Размер шага

n

integer

Кол-во разбиений

8. Код программы

Program pr_lev;

var a, b, x, y, dx: real;

n : integer;

begin

writeln('Введите кол-во разбиений: ');

readln(n);

a := 1.2;

b := 2.8;

dx := (b-a)/n;

y := 0;

x := a;

while x < b do begin

y := y + (sqrt(1.2*x+0.7)/1.4*x+sqrt(1.3*x*x+0.5));

x := x + dx;

end;

y := y*dx;

writeln('Значение интеграла, рассчитанное по формуле прямоугольника левых частей: ', y);

writeln('Шаг = ', dx)

end.
9. Результаты выполненной работы



4. Задача 2. Написать программу для вычисления определенного интеграла из

индивидуального задания методом прямоугольника правых

частей. Протестировать программу на определенном интеграле,

вычисленным в ходе выполнения самостоятельной работы 3

5. Математическая модель



6. Блок-схема



7. Список идентификаторов

Имя

Тип

Смысл

a

real

Верхняя граница

b

real

Нижняя граница

x

real

Значение аргумента

y

real

Значение функции

dx

real

Размер шага

n

integer

Кол-во разбиений

8. Код программы

Program pr_prav;

var a, b, x, y, dx: real;

n : integer;

begin

writeln('Введите кол-во разбиений: ');

readln(n);

a := 1.2;

b := 2.8;

dx := (b-a)/n;

y := 0;

x := a + dx;

while x < b do begin

y := y + (sqrt(1.2*x+0.7)/1.4*x+sqrt(1.3*x*x+0.5));

x := x + dx;

end;

y := y*dx;

writeln('Значение интеграла, рассчитанное по формуле прямоугольников правых частей: ', y);

writeln('Шаг = ', dx)

end.

9. Результаты выполненной работы



4. Задача 3. Написать программу для вычисления определенного интеграла из

индивидуального задания методом трапеций. Протестировать

программу на определенном интеграле, вычисленным в ходе

выполнения самостоятельной работы 3

5. Математическая модель



6. Блок-схема



7. Список идентификаторов

Имя

Тип

Смысл

a

real

Верхняя граница

b

real

Нижняя граница

x

real

Значение аргумента

y

real

Значение функции

dx

real

Размер шага

i

integer

Параметр цикла

n

integer

Кол-во разбиений

8. Код программы

Program pr_1;

var a,b,dx,y:real;

n,i:integer;

begin

writeln('Введите кол-во разбиений');

readln(n);

a := 1.2;

b := 2.8;

dx := (b - a)/n;

y:=((sqrt(1.2*a + 0.7)/1.4*a+sqrt(1.3*a*a+0.5))+(sqrt(1.2*b + 0.7)/1.4*b+sqrt(1.3*b*b+0.5)))/2;

for i:=1 to n-1 do

y:=y+(sqrt(1.2*(a+i*dx) + 0.7)/1.4*(a+i*dx)+sqrt(1.3*(a+i*dx)*(a+i*dx)+0.5));

y:=y*dx;

writeln('Шаг = ',dx);

writeln('Y = ',y);

end.

9. Результаты выполненной работы



4. Задача 4. Написать программу для вычисления определенного интеграла из

индивидуального задания методом парабол. Протестировать

программу на определенном интеграле, вычисленным в ходе

выполнения самостоятельной работы 3

5. Математическая модель



6. Блок-схема



7. Список идентификаторов

Имя

Тип

Смысл

a

real

Верхняя граница

b

real

Нижняя граница

x

real

Значение аргумента

y

real

Значение функции

dx

real

Размер шага

i

integer

Параметр цикла

n

integer

Кол-во разбиений

8. Код программы

program Simpson;

var

x,a,b,dx,y:real;

n:integer;
begin

a := 1.2;

b := 2.8;

write('На сколько частей нужно разделить отрезок? n=');

read(n);

dx:=(b-a)/n;

y:=0;

x:=a+dx;

while xdo

begin

y:=y+4*(sqrt(1.2*x+0.7)/1.4*x+sqrt(1.3*x*x+0.5));

x:=x+dx;

y:=y+2*(sqrt(1.2*x+0.7)/1.4*x+sqrt(1.3*x*x+0.5));

x:=x+dx;

end;

y:=dx/3*(y+(sqrt(1.2*a+0.7)/1.4*a+sqrt(1.3*a*a+0.5))-(sqrt(1.2*b+0.7)/1.4*b+sqrt(1.3*b*b+0.5)));

writeln('Интеграл = ',y);

end.

9. Результаты выполненной работы





10. Анализ результатов вычислений

N

Количество разбиений

H

Шаг

I

Метод левых частей прямоугольников

I

Метод правых частей прямоугольников

I

Метод трапеций

I

Метод парабол

10

0.16

7.56164494217704

7.11460145976386

7.92210325843823

7.92052950434081

100

0.016

7.88449785529165

7.83979350705033

7.92054368691776

7.92052792983728

1000

0.0016

7.92860310523651

7.92413267041238

7.92054368691776

7.92052792967698

10000

0.00016

7.92016747293635

7.91972042945393

7.92052793125273

7.9205279296769

11. В ходе решения задач был разработан алгоритм вычисления определенного интеграла с помощью детерминированного вычислительного процесса с управлением по аргументу


написать администратору сайта