Найти площадь фигуры - Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, написать прогу (можно на любом языке) по нахождению площади фигуры на тему численные методы.

Решение задачи: «Найти площадь фигуры»

textual
Листинг программы
  1. const n=20;{количество разбиений}
  2.       a=0;
  3.       b=pi/2;
  4.       e=0.001;{точность}
  5. type func=function(x:real):real;
  6. {$F+} {функции по условию}
  7. function F(x:real):real;
  8. begin
  9. F:=cos(x)-exp(x)+1;
  10. end;
  11. function F1(x:real):real;
  12. begin
  13. F1:=cos(x);
  14. end;
  15. function F2(x:real):real;
  16. begin
  17. F2:=exp(x)-1;
  18. end;
  19. {$F-}
  20. {вычисление интеграла методом прямоугольников}
  21. function Integral(f:func;xn,xk:real):real;
  22. var h,x,s:real;
  23.     i:integer;
  24. begin
  25. h:=(xk-xn)/n;
  26. x:=xn+h/2;
  27. s:=0;
  28. for i:=1 to n do
  29.  begin
  30.   s:=s+f(x);
  31.   x:=x+h
  32.  end;
  33. Integral:=s*h;
  34. end;
  35. var c,x1,x2,x,p:real;
  36. begin
  37. {найдем точку пересечения графиков методом бисекции}
  38. x1:=a;
  39. x2:=b;
  40. c:=(x1+x2)/2;
  41. repeat
  42. c:=(x1+x2)/2;
  43. if F(x1)*F(c)<=0 then x2:=c else x1:=c;
  44. until abs(x2-x1)<e;
  45. x:=(x1+x2)/2;
  46. writeln('Ордината пересечения графиков=',x:0:3);
  47. {определим площадь фигуры}
  48. p:=Integral(F2,a,x)+Integral(F1,x,b);
  49. write('Площадь фигуры=',p:0:3);
  50. end.

Объяснение кода листинга программы

  1. Объявляются переменные n, a, b, e, func, F, F1, F2, Integral, h, x, s, i, c, x1, x2, x, p.
  2. Задается значение переменной n равное 20.
  3. Объявляется функция F, которая принимает аргумент x типа real и возвращает значение типа real.
  4. Объявляется функция F1, которая принимает аргумент x типа real и возвращает значение типа real.
  5. Объявляется функция F2, которая принимает аргумент x типа real и возвращает значение типа real.
  6. Задается значение переменной xn равное 0.
  7. Задается значение переменной xk равное pi/2.
  8. Задается значение переменной e равное 0.001.
  9. Определяется функция Integral, которая принимает функции f и аргументы xn и xk типа real и возвращает значение типа real.
  10. В функции Integral объявляются переменные h, x, s и i.
  11. Вычисляется значение переменной h, равное (xk-xn)/n.
  12. Вычисляется значение переменной x, равное xn+h/2.
  13. Инициализируется переменная s значением 0.
  14. Задается начальное значение переменной i равное 1.
  15. Задается условие для цикла while: повторять цикл до тех пор, пока abs(x2-x1)<e.
  16. Вычисляется значение переменной c, равное (x1+x2)/2.
  17. Проверяется условие: если F(x1)*F(c)<=0 то значение переменной x2 устанавливается равным c, иначе значение переменной x1 устанавливается равным c.
  18. Вычисляется среднее значение x1 и x2, равное (x1+x2)/2.
  19. Выводится значение переменной x: (x1+x2)/2.
  20. Вычисляется площадь фигуры путем интегрирования функций F2 и F1 от xn до x.
  21. Выводится значение площади фигуры.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут