Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2014, 16:04   #1
Настена95
Пользователь
 
Регистрация: 26.04.2013
Сообщений: 21
По умолчанию Разработка программы для вычисления интеграла по формуле трапеций с тремя десятичными знаками / Turbo Pascal

Здравствуйте, напишите пожалуйста программу для вычисления интеграла по формуле трапеций с тремя десятичными знаками : ∫dx/2x+3, при n= 5; a=1 b=9

очень очень прошу, сдавать уже завтра, мне будет крышка если вовремя не принесу, если не сложно, помогите пожалуйста(((
Вложения
Тип файла: doc Общий математический метод решения задачи.doc (77.5 Кб, 13 просмотров)

Последний раз редактировалось Настена95; 10.06.2014 в 16:06.
Настена95 вне форума Ответить с цитированием
Старый 11.06.2014, 19:20   #2
Настена95
Пользователь
 
Регистрация: 26.04.2013
Сообщений: 21
По умолчанию

ну пожалуйста не игнорируйте
Настена95 вне форума Ответить с цитированием
Старый 11.06.2014, 21:15   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Это - изобретение велосипеда. Поэтому никому неохота, наверное все устали.
Посмотрите например сюда - http://programmersforum.ru/showthrea...=261769&page=2
Пост #12 - только саму функцию заменить, одну строку. Ну и интервалы a,b

Насчет именно 3-х десятичных знаков - не знаю..

Впрочем, у вас функция простая, можно взять вторую производную и вычислить погрешность ( остаточный член) .Точнее, наоборот, по заданной погрешности ( 0,0001 вроде у вас )определить, какой должен быть шаг h, и сколько должно быть n=(b-a)/h

Последний раз редактировалось type_Oleg; 11.06.2014 в 21:19.
type_Oleg вне форума Ответить с цитированием
Старый 12.06.2014, 00:13   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Насчет именно 3-х десятичных знаков - не знаю..
точность 0.001 всего лишь

n берем какое-нить по умолчанию и каждый раз увеличиваем в 2 раза
как только abs(Integral(n)-Integral(2*n))<0.0001 ==> расчет окончен
Код:
const
a = 1;
b = 9;

var n : integer;
    Int:real;
function f(x: real): real;
begin
f := 1/2*x+3;
end;

function IntegrTrap(x1,x2:real;n:Integer):real;
var i:Integer;
    dx,s:real;
begin
  s:=0;
  dx:=(x2-x1)/n;
  for i:=1 to n do
     s:=s+dx*(f(x1+i*dx)+f(x1+(i-1)*dx))/2;
  IntegrTrap:=s;
end;

begin
 n:=5;
 while abs(IntegrTrap(a,b,n)-IntegrTrap(a,b,2*n))>0.0001 do
 begin
 n:=n*2;
 end;
 Writeln('число интервалов разбиения = ',n);
 WriteLn('приближенное значение = ',IntegrTrap(a,b,n):6:3);
 ReadLn;
end.
Цитата:
число интервалов разбиения = 5
приближенное значение = 44.000
если же функция будет 1/(2*x+3), то ответ будет иным

Цитата:
число интервалов разбиения =20
приближенное значение = 0.722
upd

Цитата:
Три знака должны быть точными.
точными так точными, но ничего по сути не изменилось, кроме числа итераций во 2 случае
Цитата:
число интервалов разбиения = 80
приближенное значение = 0.722
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 12.06.2014 в 00:33.
Mad_Cat вне форума Ответить с цитированием
Старый 12.06.2014, 00:22   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Mad_Cat, нет, там в прикрепленном файле в конце приведена формула остаточного члена. Не зря же ее привели.
И наверное не 0,001 , а 0,0001 или хотя бы 0,0005. Три знака должны быть точными.
type_Oleg вне форума Ответить с цитированием
Старый 14.06.2014, 15:37   #6
Настена95
Пользователь
 
Регистрация: 26.04.2013
Сообщений: 21
По умолчанию

Огромнейшее всем спасибо, простите,что отняла ваш личное время)))
Настена95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически AZelensky Помощь студентам 28 29.11.2013 23:01
программа для вычисления определенного интеграла методом прямоугольника через процедуру (Turbo Pascal) KristyDolganova Помощь студентам 5 19.12.2012 20:28
(С++) разработка программы вычисления интеграла методом прямоугольников rybakov93 Помощь студентам 0 09.12.2012 12:38
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Маленыч Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 23:34
Приближённое вычисление определенного интеграла по «формуле прямоугольников» и по «формуле трапеций» Юличк@ Помощь студентам 1 25.04.2012 17:41