Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача вычисления интеграла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
kristianu
В Паскале работаю только два месяца, пока ооочень сложно дается, необходимо решить задачку приведенную ниже, прилагаю к ней то, что уже сумел написать сам(дофига ошибок, которые вообщем-то не дают ей работать, если идея правильная был бы благодарен, если б помогли разобраться с ошибками); Извеняюсь за надписи на русском языке(В Паскале работаем только в ДОСе)

Задание:
По заданным вещественным числам a,b(a<b) вычислить
F1=tg(x/2+Pi/4)*tg(x/2+Pi/4)*tg(x/2+Pi/4) {тангенс в кубе, Pi - Это Пи(3,14.....)}
F2=x*x*x*sqrt(1+x) {x в кубе на квадратный корень из (1+x)}
a1=0 b1=Pi/4
a2=6 b2=9
Приближенное значение интеграла определить по формуле прямоугольников с заданной точностью eps. Вычисление интеграла оформить в виде
функции integr(x,y,e:real;functionF:real):real, где x,y - границы интеграла; e -точность вычисления интеграла; F - подинтегральной функции

Заранее спасибоsmile.gif
volvo
kristianu, а в FAQ заглянуть:
Численное интегрирование методом прямоугольников
kristianu
Тогда уж как релизовать tg(x/2+Pi/2)*tg(x/2+Pi/2)*tg(x/2+Pi/2) smile.gif
klem4
tg(x) = sin(x)/cos(x)
pi - есть в паскале, так и пишется .. константа.
volvo
Ну, если реализовывать как положено, то так:
function f(x: real): real;
var
T: real;
const
epsilon = 10E-5;
begin
T := x/2+Pi/2; { аргумент }
if abs(cos(T)) > epsilon { не слишком ли близко аргумент к 0 ? }
then f := Exp(3*Ln(sin(T)/cos(T))) { нет, все в порядке }
else f := 10000; { близко, избегаем деления на 0 }
end;
kristianu
Разве sin как функция есть в pascal, а то я пытался выражать через основное тригонометрическое тождество и получилось: (cos(x/2+Pi/4))/(sqrt(1-sqr(x/2+Pi/4)))*(cos(x/2+Pi/4))/(sqrt(1-sqr(x/2+Pi/4)))*(cos(x/2+Pi/4))/(sqrt(1-sqr(x/2+Pi/4))) Понятно, что это никуда не годится... nea.gif
Исправил smile.gif
klem4
1) pascal
2) sin есть в паскале
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.