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

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

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

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

Задачка в Pascal

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

gg_!

Ученик
Регистрация
25 Мар 2009
Сообщения
1
Реакции
0
Баллы
0
Задачка в Pascal

Всем здрасти, если кто может помочь буду оч признателен:) Завтра лаба, точнее уже сегодня, а я так и не одуплю как решить задачу. В общем суть в следующем:

Написать программу, которая вычисляет определенный интеграл по методу трапеции и методом Симпсона(или Симсона:D)


Заранее спасибо...
 
Всем здрасти, если кто может помочь буду оч признателен:) Завтра лаба, точнее уже сегодня, а я так и не одуплю как решить задачу. В общем суть в следующем:

Написать программу, которая вычисляет определенный интеграл по методу трапеции и методом Симпсона(или Симсона:D)


Заранее спасибо...

СимПсона. Без проблем. Обратите внимание - значение n должно быть четным!!!

VAR
a,b,h,S1,S2:REAL;
n,i:INTEGER;

FUNCTION f(x:REAL):REAL;
BEGIN
{ Enter the function furmula }
f:=Sin(x); { for example }
END;

BEGIN
Write('n (EVEN value!!!) = '); ReadLn(n);
Write('a = '); ReadLn(a);
Write('b = '); ReadLn(b);
h:=(b-a)/n;
S1:=0;
FOR i:=1 TO n-1 DO
S1:=S1+f(a+h*i)*h;
S1:=S1+0.5*(f(a)+f(b))*h;
S2:=0;
FOR i:=1 TO n div 2 DO
S2:=S2+f(a+h*(2*i-1))*4;
FOR i:=1 TO (n div 2)-1 DO
S2:=S2+f(a+h*2*i)*2;
S2:=S2+f(a)+f(b);
S2:=S2*h/3;
WriteLn('Trapezoid: ', S1);
WriteLn('Parabolic: ', S2);
ReadLn;
END.

Проверено. Работает. А если помощь опоздала, то уж не взыщите - сами дотянули.
 
Назад
Сверху