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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 12:15   #1
Надежда Ижбулатова
Новичок
Джуниор
 
Регистрация: 25.04.2012
Сообщений: 1
По умолчанию найти оптимальное количество разбиений

сть программа поиска решения интеграла методо трапеции симпсона и прямокгольника.программа рабочая и считает правильно.нужно только прописать чтобы программа сама находила оптимальное количество разбиений n .вот как примерно это должно выглядеть только в одном месте не знаю что писать. препод сказал через див и мод.но у меня не получается.если можете помогите
Код:
program pr;
var
h,b,a:real; s1,s2,s3:integer;

e,i,n:integer;
function F(x:real):real;
begin
F:=exp(cos(x));
end;
begin
write('vvedite a=');
readln(a);
write('vvedite b=');
readln(b);
write('vvedite e=');
readln(e);
n:=1;
while (здесь не знаю сто вставить) do n:=n+1;

h:=(b-a)/n;
s1:=0;
s2:=0;
s3:=0;

for i:=1 to n do begin
s1:=f(a)*h+s1;
s2:=(f(a)+f(a+h))/2*h+s2;
s3:=(f(a)+4*f((2*a+h)/2)+f(a+h))*(h/6)+s3;
a:=a+h;
end;
writeln('s1=',s1:10:e);
writeln('s2=',s2:10:e);
writeln('s3=',s3:10:e);
writeln('n=',n);
readln;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 26.04.2012 в 14:01.
Надежда Ижбулатова вне форума Ответить с цитированием
Старый 26.04.2012, 20:16   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Определить n до подсчета интеграла нельзя.
Делается это так:
Считаем интеграл при n1 (в s1)
Увеличиваем n в 2 раза
Считаем интеграл при n2 (в s2)
Если разница между полученными интегралами больше eps, то повторяем подсчет (заносим s2 в s1, увеличиваем n и считаем интеграл в s2)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 26.04.2012 в 20:18.
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти количество элементов Zeon2012 Помощь студентам 2 18.03.2012 19:51
Найти количество трехзначных чисел zenid Помощь студентам 3 29.02.2012 10:07
генерация всех разбиений целого числа Andrey344 Общие вопросы C/C++ 1 07.11.2011 21:20
Найти оптимальное решение Віта Microsoft Office Excel 10 25.06.2011 15:06
найти количество Aqil_f Microsoft Office Excel 4 12.01.2010 14:28