Найти площадь фигуры - Pascal
Формулировка задачи:
Помогите, пожалуйста, написать прогу (можно на любом языке) по нахождению площади фигуры на тему численные методы.
Решение задачи: «Найти площадь фигуры»
textual
Листинг программы
- const n=20;{количество разбиений}
- a=0;
- b=pi/2;
- e=0.001;{точность}
- type func=function(x:real):real;
- {$F+} {функции по условию}
- function F(x:real):real;
- begin
- F:=cos(x)-exp(x)+1;
- end;
- function F1(x:real):real;
- begin
- F1:=cos(x);
- end;
- function F2(x:real):real;
- begin
- F2:=exp(x)-1;
- end;
- {$F-}
- {вычисление интеграла методом прямоугольников}
- function Integral(f:func;xn,xk:real):real;
- var h,x,s:real;
- i:integer;
- begin
- h:=(xk-xn)/n;
- x:=xn+h/2;
- s:=0;
- for i:=1 to n do
- begin
- s:=s+f(x);
- x:=x+h
- end;
- Integral:=s*h;
- end;
- var c,x1,x2,x,p:real;
- begin
- {найдем точку пересечения графиков методом бисекции}
- x1:=a;
- x2:=b;
- c:=(x1+x2)/2;
- repeat
- c:=(x1+x2)/2;
- if F(x1)*F(c)<=0 then x2:=c else x1:=c;
- until abs(x2-x1)<e;
- x:=(x1+x2)/2;
- writeln('Ордината пересечения графиков=',x:0:3);
- {определим площадь фигуры}
- p:=Integral(F2,a,x)+Integral(F1,x,b);
- write('Площадь фигуры=',p:0:3);
- end.
Объяснение кода листинга программы
- Объявляются переменные n, a, b, e, func, F, F1, F2, Integral, h, x, s, i, c, x1, x2, x, p.
- Задается значение переменной n равное 20.
- Объявляется функция F, которая принимает аргумент x типа real и возвращает значение типа real.
- Объявляется функция F1, которая принимает аргумент x типа real и возвращает значение типа real.
- Объявляется функция F2, которая принимает аргумент x типа real и возвращает значение типа real.
- Задается значение переменной xn равное 0.
- Задается значение переменной xk равное pi/2.
- Задается значение переменной e равное 0.001.
- Определяется функция Integral, которая принимает функции f и аргументы xn и xk типа real и возвращает значение типа real.
- В функции Integral объявляются переменные h, x, s и i.
- Вычисляется значение переменной h, равное (xk-xn)/n.
- Вычисляется значение переменной x, равное xn+h/2.
- Инициализируется переменная s значением 0.
- Задается начальное значение переменной i равное 1.
- Задается условие для цикла while: повторять цикл до тех пор, пока abs(x2-x1)<e.
- Вычисляется значение переменной c, равное (x1+x2)/2.
- Проверяется условие: если F(x1)*F(c)<=0 то значение переменной x2 устанавливается равным c, иначе значение переменной x1 устанавливается равным c.
- Вычисляется среднее значение x1 и x2, равное (x1+x2)/2.
- Выводится значение переменной x: (x1+x2)/2.
- Вычисляется площадь фигуры путем интегрирования функций F2 и F1 от xn до x.
- Выводится значение площади фигуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д