Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 16.10.2011, 21:00   #11 (permalink)
dimaua2
Member
 
Регистрация: 07.05.2011
Сообщений: 162
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

ваша формула выдает ошибочку 207
dimaua2 вне форума   Ответить с цитированием

Старый 16.10.2011, 21:00
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Наверняка вы найдете много полезной информации для себя, если посмотрите аналогичные топики

Как создать админ?
Как создать образ?
Как создать ICQ-чат?

Старый 16.10.2011, 21:43   #12 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от dimaua2 Посмотреть сообщение
мы такого еще не учили)
Юноша, а вот это меня интересует в самую последнюю очередь. Дело в том, что функция, заданная в Вашей программе, соответствует такой:
Название: dont.jpg
Просмотров: 122

Размер: 5.8 Кб
Сравните с исходной и, как говорится, "почувствуйте разницу". А когда почувствуете, можете выбрать один из двух путей:

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

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


Выбор за Вами.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.10.2011, 21:49   #13 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от dimaua2 Посмотреть сообщение
ваша формула выдает ошибочку 207
И не думает - проверено.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.10.2011, 00:41   #14 (permalink)
dimaua2
Member
 
Регистрация: 07.05.2011
Сообщений: 162
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

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.

вот так прописываю выдает ошибку, написал, как вы показали в чем причина?
dimaua2 вне форума   Ответить с цитированием
Старый 17.10.2011, 00:49   #15 (permalink)
Daniellos
Хозяин Медной Горы
 
Аватар для Daniellos
 
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
По умолчанию

А в какой строке?
Daniellos вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 17.10.2011, 10:21   #16 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от dimaua2 Посмотреть сообщение
вот так прописываю выдает ошибку, написал, как вы показали в чем причина?
В знаменателе формулы.
Если Вы заметили, в моей записи аргументом тангенса является некая неизвестная величина 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.
Vladimir_S вне форума   Ответить с цитированием
Старый 19.10.2011, 23:33   #17 (permalink)
dimaua2
Member
 
Регистрация: 07.05.2011
Сообщений: 162
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

аа ясно
спасибо
dimaua2 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:42.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.