Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 09:26   #11
BeJIuKuu_Hexo4yxa
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 96
По умолчанию

Для определения, целое ли число используй Trunc(y) или Round(y)
Trunc - отрезает дробную часть
Round - округление числа
Код:
if y = Trunc(y) then
// число целое, можно проверять на четность
А лучше выложи цель задания, может в корне что-то оптимизируем
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
BeJIuKuu_Hexo4yxa вне форума Ответить с цитированием
Старый 19.11.2010, 10:16   #12
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

разве на степенную функцию нет ограничения a>0
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru

Последний раз редактировалось airyashov; 19.11.2010 в 10:23.
airyashov вне форума Ответить с цитированием
Старый 19.11.2010, 10:22   #13
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Цитата:
Сообщение от oban11 Посмотреть сообщение
так что мне тогда делать?
Вспомни математика, класс 5-7, если под четным корнем отрицательное число - то корня не существует, если корень не четный, то решение будет отрицательным. Вот и разбивай свою степень на целую и дробную часть, целую ты уже считал, теперь считай дробную (т.е. корень).
А может у тебя решение с комплексными числами? Тогда просто считай логарифм по формуле: Ln(-x) = Ln(x)+i*Pi*(2k+1)
(где i - мнимая единица, x>0, k=...-2,-1,0,1,2,...);
Ybn2 вне форума Ответить с цитированием
Старый 19.11.2010, 10:44   #14
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Да и вообще по вспоминай свойства степеней, например как они раскладываются, -а в степени(2/3) равен ((-a)^2)^1/3) (для примера если a=-8 то = ((-8)^2)^(1/3) = (64)^(1/3) = 4
a=-8 а степень 1/3 то = ((-8)^(1/3) = -2; т.е. (-2)^3 = -8;

Думаю принцип Вам понятен.
Ybn2 вне форума Ответить с цитированием
Старый 19.11.2010, 13:49   #15
oban11
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 18
По умолчанию

мне просто надо составить программу для вычисления функции
даны проверочные значения и в них шаг y идет 0.5 то есть y не может быть целым числом я полазил по инету нашол только для целого показателя степени
oban11 вне форума Ответить с цитированием
Старый 19.11.2010, 13:52   #16
oban11
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 18
По умолчанию

мне 1 раз попалось такое и никто мне не может норм объяснить что нужно сделать чтобы возвести x в степень y
x и y вещественные числа
oban11 вне форума Ответить с цитированием
Старый 19.11.2010, 16:37   #17
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Код не проверял, сейчас нет возможности, но как-то так
Код:
uses crt;
   var x,y: real;
BEGIN
   {x - число, y - степень}
   read(x,y);
   if (x<0) and (y<0) then rez:=1/(y*ln(abs(x)));
   if (x>0) and (y>0) then rez:=(y*ln(x));
   if (x<0) and (y>0) then rez:=(y*ln(abs(x)));
   if (x>0) and (y<0) then rez:=1/(y*ln(x));
   if (x<0) and (x mod 2)<>0 then rez:=rez*(-1);
END.
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 19.11.2010, 16:54   #18
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Цитата:
Сообщение от Niro Посмотреть сообщение
Код не проверял, сейчас нет возможности, но как-то так
Код:
uses crt;
   var x,y: real;
BEGIN
   {x - число, y - степень}
   read(x,y);
   if (x<0) and (y<0) then rez:=1/(y*ln(abs(x)));
   if (x>0) and (y>0) then rez:=(y*ln(x));
   if (x<0) and (y>0) then rez:=(y*ln(abs(x)));
   if (x>0) and (y<0) then rez:=1/(y*ln(x));
   if (x<0) and (x mod 2)<>0 then rez:=rez*(-1);
END.
Тоже не проверял, но сразу скажу, что потерял экспоненту
Ybn2 вне форума Ответить с цитированием
Старый 19.11.2010, 18:15   #19
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Цитата:
Сообщение от oban11 Посмотреть сообщение
мне 1 раз попалось такое и никто мне не может норм объяснить что нужно сделать чтобы возвести x в степень y
x и y вещественные числа
oban11
Если подумать, у твоей задачи при x<0 и у с шагом 0.5 не всегда есть решения. Если интересно почему стучись в аську:640222283 попробую объяснить, или давай договоримся быть в форуме одновременно, что бы ты понял ход мыслей. Сегодня.

Последний раз редактировалось Ybn2; 19.11.2010 в 18:38.
Ybn2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
N>=a в степени K yardie Общие вопросы C/C++ 5 31.08.2010 14:52
Корень n-степени _-Re@l-_ Общие вопросы Delphi 3 25.05.2010 19:20
Pascal Степени Vkusnjashka Помощь студентам 4 17.01.2010 16:04
х в степени н anksunamun Помощь студентам 10 24.11.2009 00:31
Поднесение к степени Halifath Помощь студентам 7 02.09.2009 09:45