Найти площадь фигуры - 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.
- Выводится значение площади фигуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д