Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 01.12.2016, 03:44   #1 (permalink)
fluqxs
Новичок
 
Регистрация: 01.12.2016
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Вычисление интегралов

Составить программу, подсчитывающую с точностью Е=10^-3 значение интеграла : 1)интеграл от Пи/6 do Pi/3(tg^2(x) + ctg^2(x))*d*x) по методу Правых прямоугольников. Для точности использовать метод двойного пересчета. Результат срав-нить со значением интеграла, подсчитанным с помощью первообразной F(x) по формуле Ньютона-Лейбница: F(b)-F(a).
Метод приближенного вычисления определенного интеграла должен быть запро-граммирован с помощью процедуры. Отрезок интегрирования, точность вычисления вводятся с клавиатуры, подынтегральная функция описывается с помощью функции пользователя.
Распечатать: отрезок интегрирования, точность вычисления, приближенное значение определенного интеграла, значение интеграла, подсчитанное по формуле Ньютона-Лейбница.
fluqxs вне форума   Ответить с цитированием

Старый 01.12.2016, 03:44
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Ранее на нашем форуме участники создавали аналогичные топики

Нахождение интегралов
Вычисление функции разложением ее в ряд, Паскаль
Паскаль. Вычисление интеграла
Приближенное вычисление интегралов
Вычисление интеграла. Паскаль

Старый 01.12.2016, 10:49   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

И Вам тоже здравствовать! Очень рады Вас видеть.
Я не слишком Вас побеспокою, если предложу ознакомиться с решением Вашей задачи? Нет? Ну, не взыщите, если что, просто не откликнуться на столь изысканно-вежливую просьбу о помощи было выше моих сил.
Код:
Var
 AV,a,b,Res,eps:Real;

Function F(t:Real):Real;
begin
 F:=Sqr(Sin(t)/Cos(t))+Sqr(Cos(t)/Sin(t));
end;

Function Antiderivative(t:Real):Real;
begin
 Antiderivative:=-2*(Cos(t*2)/Sin(t*2)+t);
end;

Function Rectangle(Hr:Real):Real;
var
 Sum,x:Real;
begin
 Sum:=0;
 x:=a;
 repeat
  Sum:=Sum+Hr*F(x);
  x:=x+Hr;
 until x>b;
 Rectangle:=Sum;
end;

Procedure Calc_Int(var R:real);
var
 dif,Hc:Real;
begin
 Hc:=b-a;
 repeat
  dif:=Abs(Rectangle(Hc)-Rectangle(Hc/2));
  Hc:=Hc/2;
 until dif<eps;
 R:=Rectangle(Hc);
end;

Begin
 Write('a = ');
 Readln(a);
 Write('b = ');
 Readln(b);
 Write('eps = ');
 Readln(eps);
 Calc_Int(Res);
 Writeln('Result: ',Res:0:8);
 AV:=Antiderivative(b)-Antiderivative(a);
 WriteLn('Accurate value: ', AV:0:8);
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
интегралы, паскаль

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 13:33.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.