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

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

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

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

Пытаюсь создать выражение, но где-то ошибка

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

dimaua2

Ученик
Почётный участник
Регистрация
7 Май 2011
Сообщения
162
Реакции
0
Баллы
0
Пытаюсь создать выражение, но где-то ошибка

Y:=Exp((1/5)*ln(1-5*sqr(x)))/Exp(sin(x)/cos(x)*2);
что тут неправильно?
выражение такое
cce8aa3516d8.webp
знал бы как написать тут написал (не знаю как писать степень и дробь)
 
Знак радикала на всю дробь или только в числителе?
 
в числителе
 
Y:=Exp((1/5)*(1-5*sqr(x)*2))/Exp(sin(x)/cos(x)*2); вроде получилось...но игрик у меня почему-то 0 правильно ли я формулу составил?
 
а у тангенса какой аргумент???
 
у тангенса просто степень 2х
 
эээ такого не бывает!!!
 
у тангенса просто степень 2х
эээ такого не бывает!!!
Действительно, друг мой, полная чушь. Тангенс (равно как и любая другая функция) обязательно должен иметь аргумент, то есть быть тангенсом чего-то, а не "просто". Ладно, обозначим аргумент тангенса буквой z.
А формула Ваша до того неправильна, что просто абсолютно неправильна.
Прежде всего, Вы не знаете, как возводить в степень. Если число γ есть положительное число α, возведенное в степень β, то
γ = Exp(β*Ln(α))
а у Вас я напрочь не вижу логарифмов.
Теперь пойдем дальше. Заметим, что выражение, стоящее под знаком радикала, при x>0 отрицательно, а потому впрямую применять приведенную выше формулу нельзя (логарифм бывает только от строго положительных величин), но, тем не менее, корень нечетной степени из отрицательного числа извлечь можно. Так что тут потребуется ветвление программы.
Код:
if x<0 then
 y:= Exp((1/5)*Ln(1-Exp(2*x*Ln(5))))/Exp(2*x*Ln(Sin(z)/Cos(z)))
else
if x>0 then
 y:= -Exp((1/5)*Ln(Exp(2*x*Ln(5))-1))/Exp(2*x*Ln(Sin(z)/Cos(z)))
else
 y:=0;
 
мы такого еще не учили)
 
Program 2;
uses CRT;
var x,y:real;
begin
clrscr;
x:=3;
while x<=5 do
begin
Y:=Exp((1/5)*(1-5*sqr(x)*2))/Exp(sin(x)/cos(x)*2);
writeln('x= ',x:3:2,' Y= ',Y:3:2);
x:=x+0.2;
end;
readln;
end.

вот что я пытался сделать
 
ваша формула выдает ошибочку 207
 
мы такого еще не учили)
Юноша, а вот это меня интересует в самую последнюю очередь. Дело в том, что функция, заданная в Вашей программе, соответствует такой:
dont.webp
Сравните с исходной и, как говорится, "почувствуйте разницу". А когда почувствуете, можете выбрать один из двух путей:

1. Вооружиться книжками и разобраться со всеми этими степенями, логарифмами и т.п. (recommended).

2. Встать перед учителем, набрать полную грудь воздуха и спеть:
Тили-тили,
Трали-вали,
Это мы не проходили,
Это нам не задавали!
Тирьям-пам-пам.
Тирьям-пам-пам.


Выбор за Вами.
 
Program 2;
uses CRT;
var x,y:real;
begin
clrscr;
x:=3;
while x<=5 do
begin
if x<0 then
y:= Exp((1/5)*Ln(1-Exp(2*x*Ln(5))))/Exp(2*x*Ln(Sin(x)/Cos(x)))
else
if x>0 then
y:= -Exp((1/5)*Ln(Exp(2*x*Ln(5))-1))/Exp(2*x*Ln(Sin(x)/Cos(x)))
else
y:=0;
writeln('x= ',x:3:2,' Y= ',Y:3:2);
x:=x+0.2;
end;
readln;
end.

вот так прописываю выдает ошибку, написал, как вы показали в чем причина?
 
А в какой строке?
 
вот так прописываю выдает ошибку, написал, как вы показали в чем причина?
В знаменателе формулы.
Если Вы заметили, в моей записи аргументом тангенса является некая неизвестная величина z, поскольку в Вашей исходной формулировке задания таковой аргумент отсутствует напрочь.
У Вас же в знаменателе сидит функция tg²ª(a) (здесь вместо x поставлено a). Но! Если аргумент тангенса превышает Pi/2, т.е. 1.57, то тангенс становится отрицательным, а отрицательная величина под знаком логарифма недопустима, отсюда и ошибка.
Тут можно вывернуться так:
tg²ª(a) = (tg²(a))ª = Exp(a*Ln(tg²(a))). Вот теперь, когда под логарифмом мы оставили не тангенс, а квадрат тангенса, то есть положительную величину (значение а=0 у нас обходится), ошибки быть не должно. И нету.
Код:
uses CRT;
var
 x,y:real;
begin
 clrscr;
 x:=3;
 while x<=5 do
  begin
   if x<0 then
    y:= Exp((1/5)*Ln(1-Exp(2*x*Ln(5))))/Exp(x*Ln(sqr(Sin(x)/Cos(x))))
   else
   if x>0 then
    y:= -Exp((1/5)*Ln(Exp(2*x*Ln(5))-1))/Exp(x*Ln(sqr(Sin(x)/Cos(x))))
   else
    y:=0;
   writeln('x= ',x:3:2,' Y= ',Y:3:2);
   x:=x+0.2;
  end;
 readln;
end.
 
аа ясно
спасибо
 
Назад
Сверху