• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Приближенное вычисление интегралов

  • Автор темы Автор темы Fieria
  • Дата начала Дата начала

Fieria

Новые
Регистрация
16 Окт 2012
Сообщения
13
Реакции
0
Баллы
0
Приближенное вычисление интегралов

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

Вложения

  • уравнение.webp
    уравнение.webp
    3.1 KB · Просмотры: 68
Вычислить интеграл по трём различным формулам с одинаковым значением шага, на паскале
Пожалуйста. Только опять же это Паскаль Free (Turbo):
Код:
Const
 a=0.0;
 b=3.0;
 h=0.5;

Function F(x:Real):Real;
begin
 F:=Cos(exp(x/3)+x);
end;

Procedure Rectangle;
var
 i,N:Integer;
 Sum:Real;
begin
 N:=Round((b-a)/h);
 Sum:=0;
 for i:=0 to N-1 do
  Sum:=Sum+h*F(a+h*i);
 WriteLn('Rectangle:     ', Sum:0:5);
end;

Procedure Trapezium;
var
 i,N:Integer;
 Sum:Real;
begin
 N:=Round((b-a)/h);
 Sum:=(F(a)+F(b))/2*h;
 for i:=1 to N-1 do
  Sum:=Sum+h*F(a+h*i);
 WriteLn('Trapezium:     ', Sum:0:5);
end;

Procedure Simpson;
var
 i,N:Integer;
 Sum,hs:Real;
begin
 hs:=h;
 N:=Round((b-a)/hs) div 2;
 If (N mod 2)=1 then
  begin
   N:=N*2;
   hs:=hs/2;
  end;
 Sum:=(F(a)+F(b))/3*hs;
 for i:=1 to N do
  Sum:=Sum+4.0*hs/3.0*F(a+hs*(2*i-1));
 for i:=2 to N do
  Sum:=Sum+2.0*hs/3.0*F(a+hs*(2*i-2));
 WriteLn('Simpson:       ', Sum:0:5);
end;

Begin
 Rectangle;
 Trapezium;
 Simpson;
 ReadLn;
End.
 
Спасибочки большое, и это подойдетtehno040
 
Назад
Сверху