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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2012, 14:19   #1
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию Не могу скомпилировать (a mod 2) = 0

Код:
function Exponentiation(BASE, RATE: Real): Real;
...
if BASE < 0 then
  begin
    if (RATE mod 2) = 0 then
      Result:= Exp(RATE * Ln(Abs(BASE)))
    else
     Result:= 0 - Exp(RATE * Ln(Abs(BASE)));
  end
 else
  Result:= Exp(RATE * Ln(BASE));
Ошибка: E2015 Operator not applicable to this operand type
Смотрю вроде по синтаксису то все верно... что не так делаю?
kta87 вне форума Ответить с цитированием
Старый 31.05.2012, 14:23   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

mod и real не совместимы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.05.2012, 14:37   #3
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Оо и как мне узнать четное число или нет?
ммм... что то я гоню... понятие четное/нечетное применимо только к целым числам.
Переформулирую вопрос: Если показатель степени - отрицательное дробное число, то как узнать будет ли знак результата + или -;
С целыми числами это делается так: если четное то знак - меняется на + , если не четное то остается -.

Последний раз редактировалось kta87; 31.05.2012 в 14:45.
kta87 вне форума Ответить с цитированием
Старый 31.05.2012, 14:40   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А как может быть число с десятичной точкой четным или не четным? Целая часть может, вот и находи её (TRUNC или ROUND, что больше подойдет), а потом mod
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.05.2012, 14:40   #5
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Число типа real не могут по идее быть четными, т.к. это вещественный тип.
FaTaL вне форума Ответить с цитированием
Старый 31.05.2012, 14:52   #6
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

хорош говорить уже про нечетность и четность Real. Я же во 2 посте написал все как есть и переформулировал вопрос.
kta87 вне форума Ответить с цитированием
Старый 31.05.2012, 14:56   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Math.Power, но основание не может быть отрицательным
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.05.2012, 18:53   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от kta87 Посмотреть сообщение
Переформулирую вопрос: Если показатель степени - отрицательное дробное число, то как узнать будет ли знак результата + или -;
"+", т.к. в дробную степень может быть возведено только число положительное.
s-andriano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу скомпилировать. graff195 Общие вопросы Delphi 1 11.04.2012 17:00
не могу скомпилировать программу newuserc Общие вопросы Delphi 8 02.04.2012 19:53
Mod Rewrite - не могу составить правило MrJenika PHP 13 31.07.2010 20:41
C и ассемблер, не могу скомпилировать Olen' Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 19.02.2009 19:57