IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> корень нечетной степени, как добыть корень?
сообщение
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


как добыть корень нечетной степени?

я пробовал разложить нечетную степень через четные, но ничего не получается.( например 7 степени)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Что значит "не получается"? Возводить в степень 1/7, например, пробовал?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата(volvo @ 4.06.2009 0:12) *

Что значит "не получается"? Возводить в степень 1/7, например, пробовал?

это как? из этой темы знаю есть sqr, sqrt.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(sheka @ 4.06.2009 1:31) *
это как? из этой темы знаю есть sqr, sqrt.
Еще есть Exp(x) и Ln(x) из той же темы)).
Знаешь такие функции и формулы для них?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Цитата(Lapp @ 4.06.2009 0:39) *

Еще есть Exp(x) и Ln(x) из той же темы)).
Знаешь такие функции и формулы для них?

что такое логарифм когда-то слышал, но причем тут натуральный? а что такое экспонента - название знаю.
если можешь вкратце сказать - скажи, нет - я почитаю, потом спрошу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Натуральный при том, что именно он есть в стандартной библиотеке. Ко всему прочему, именно он напрямую связан с экспонентой (а точнее, является обратной функцией к ней).
Цитата(sheka @ 4.06.2009 1:54) *
если можешь вкратце сказать - скажи
Могу и вкратце, если хочешь.

exp(x) <=> ex

a = eLn(a)

ax = (eLn(a))x = eLn(a)*x = exp(Ln(a)*x)


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: евгений

Репутация: -  0  +


Цитата(Lapp @ 4.06.2009 2:15) *

Натуральный при том, что именно он есть в стандартной библиотеке. Ко всему прочему, именно он напрямую связан с экспонентой (а точнее, является обратной функцией к ней).
Могу и вкратце, если хочешь.

exp(x) <=> ex

a = eLn(a)

ax = (eLn(a))x = eLn(a)*x = exp(Ln(a)*x)

подскажите, почему по учебной программе,мне при вводе sgrt(пробовал и sgr) выходит ошибка индификатора
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Потому что не SGRT, а SQRT
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: евгений

Репутация: -  0  +


Цитата(volvo @ 31.05.2010 19:35) *

Потому что не SGRT, а SQRT

Спасибо.Говорила мама учи английский.Попался на написании прописных.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


а если основа отрицательная, то просто проверять условием? и потом доумножать на -1 ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Цитата
а если основа отрицательная, то
любой нормальный компилятор выбросит исключение (в частности, FPC выбрасывает EInvalidArgument). Дельфи - EInvalidOp... А теперь подумай, что, не могли авторы предусмотреть такой простой вещи, как
Цитата
проверять условием? и потом доумножать на -1 ?
? Или, может, по другой причине не стали реализовывать данный функционал?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Честно, я вообще не могу понять, почему авторы не могли предусмотреть функции поднесения в степень. Разве что в определенных случаях это может кому-нибудь навредить, хотя я не представляю кому и чем.
Вот думал сделать так:
if x <> 0 then znam := exp(ln(abs(x))/3);
if x < 0 then znam := -znam;

но не понимаю, чем это Вам не нравится.
К чему вы клоните? smile.gif к тому, что это надо делать исключениями? Ну в таком случае, почему-то ФП слово try распознает как переменную:
  try
znam := exp(ln(x)/3);
except
on EinvalidArgument do znam := exp(ln(-x)/3);
on EZeroDivide do znam := 0;
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






Цитата
не понимаю, чем это Вам не нравится.
Мне? Да я вообще ничего про себя не говорил. Я говорил о том, что в компиляторах, более продвинутых чем Турбо Паскаль, этого функционала НЕТ. Это констатация факта, и призыв подумать над тем, почему его нет. А не изобретать велосипед.

Цитата
это надо делать исключениями? Ну в таком случае, почему-то ФП слово try распознает как переменную:
Вообще-то надо добавлять "у меня". Вот нормально настроенный FPC - не воспринимает:
Прикрепленное изображение

Кстати, здесь выбрасывается EInvalidOp, потому что нельзя вычислять логарифм от отрицательного значения. А вот использование Math.Power выбросит именно EInvalidArgument...

А вообще, надо бы использовать модуль Math, там уже есть функция Power. Зачем понадобилось переписывать вручную - непонятно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Извините за недоходчивость, о каком "данном функционале" идет речь? Вы говорите о том, что вот этим
if x <> 0 then znam := exp(ln(abs(x))/3);
if x < 0 then znam := -znam;
пользуются только на Турбо Паскале, а в более новых компиляторах - исключениями или подключают модуль Math?

Эх.. Начинаю знакомиться с ТП. Вот через месяц начну. А пока выдали лабораторные на семестр. Я открыл первую, вот там задание (чуть упростил) : вывести на экран результат a = 1/КореньКубический(х)

Сообщение отредактировано: sheka -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(sheka @ 6.09.2010 23:49) *
Извините за недоходчивость, о каком "данном функционале" идет речь? Вы говорите о том, что вот этим
if x <> 0 then znam := exp(ln(abs(x))/3);
if x < 0 then znam := -znam;

sheka, то, что ты написал - это просто неверно (то есть верно только при многих огворках). И причина не в ограниченности программных средств, а в математике. Тут был топик про отрицательные основания, поищи его. В общем случае операция возведения в степень определена только на комплесных числах, а их аппаратной реализации пока нет. В частном случае целой нечетной степени корня ее выполнение возможно без выхода за пределы действительных чисел (если отбросить остальные значения), но это довольно большая условность. Поэтому реализация данного функционала оставлена пользователю )).


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


вот та тема:
возведение в вещественную степень отрицательного числа
Правда, там в самом конце пришел какой-то Пупорев и не разобравшись (наверное, даже и не прочитав) тоже влепил все ту же ошибку, типа он самый умный, чтоб всем "помочь"..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Спасибо за подробное объяснение!!!
Видно плохо в школе учился. yes2.gif

Ну если вдруг буду сочинять задания сам - никогда такого не придумаю. Но что мне делать если все таки надо посчитать x1/3? Если x<0 выводить "ошибка"? а если х = 0, тогда выводить 0 или тоже "ошибка"?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> как добыть корень нечетной степени?
> Но что мне делать если все таки надо посчитать x1/3?

Сначала определись.

x^(1/3) официально не определён для x < 0
3Vx (типа корень третьей степени я так нарисовал) официально определён для всех вещественных икс, причём 3V(-x)=-3Vx.
То есть x^(1/3) и 3Vx это разные вещи как бы.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Вот как-то никогда не думал, что x^(1/3) и 3Vx это разные вещи. good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Гость






помогите пожалуйста срочно!!!! wacko.gif blink.gif
корень в кубе |(x-a)|
как написать это в программе
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 7:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name