Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с прогой Pascal

Максим Подолюх Ученик (143), на голосовании 12 лет назад
Дополнен 12 лет назад
Program Lab_2;
uses crt;
var
a,b,x,y:real;
t:text;
begin
clrscr;
a:=0;
b:=4*pi;
x:=0;
while x<=b do
begin
x:=x+pi/20;
y:=exp(4*ln(cos(sqrt(x))))-exp(3*ln(cos(exp(1/3*ln(x)))))-sqr(cos(exp(1/4*ln(x))));
writeln('y=',y);
end;
end.

» Ошибка: неверная вещественная операция (Лабораторна робота №2.pas, строка 14)
Дополнен 12 лет назад
Проблема в формуле но не знаю где именно...
Дополнен 12 лет назад
ф-ла cos^4⁡〖 (√x〗)-cos^3⁡ (∛x)-cos⁡^2(∜x )
Голосование за лучший ответ
Андрей Власов Оракул (54479) 12 лет назад
Разбивай формулу на части и смотри в какой части вываливается.
Олег Реутович Ученик (130) 12 лет назад
Обратите внимание. Логарифм отрицательного числа не существует. А функция косинуса может возвращать отрицательный результат, если арумент ={pi/2..pi*3/2}
Чтобы убедиться можно попробовать изменить b на значение b=pi/2 или перед логарифмированием использовать модуль числа. Данную длинную формулу можно было бы вычислять раздено разбив ее на 3 части. А потом после вычесления частей произвести их сложение и вычитание. Это позволит локализовать ошибку
Krab Bark Искусственный Интеллект (191708) 12 лет назад
Так и никто не знает, какая тебе формула нужна. Где-то при вычислении когда-то становится нужно то ли корень, то ли логарифм получить из отрицательного числа, что твоей программе не по зубам.
P.S. И даже ясно когда. Ты пытаешься логарифмировать отрицательные косинусы.
P.P.S. Твоя формула в Паскале имеет мало общего с приведенной тобой алгебраической формулой, которая на Паскале будет выглядеть так:
y:=cos(exp(ln(x)/3)); y:=sqr(sqr(cos(sqrt(x))))-y*y*y-sqr(cos(sqrt(sqrt(x))));
Gennady Гений (60864) 12 лет назад
Скажи спасибо тому пню, который научил тебя возводить в степень, используя логарифмирование и потенцирование и не оговорил ограничения. Он оказал тебе сильную услугу.

Косинус принимает значения от минус одного до плюс одного. Угадай с одного раза, чему будет равен логарифм отрицательного числа?
Похожие вопросы