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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2014, 00:08   #1
malicious_devil
Пользователь
 
Регистрация: 11.05.2014
Сообщений: 45
По умолчанию Возведение в степень в Delphi

Код:
procedure TPredely4.SpeedButton1Click(Sender: TObject);
var x,a,b,d,c:integer;
begin
x:=StrToInt(Edit1.Text);
a:=StrToInt(Edit2.Text); //число
b:=StrToInt(Edit3.Text);  //степень
c:=Power(x,b);
//c:=exp(b*log(x));
d:=a*c;
Edit4.Text:=IntToStr(d);

end;
при проверки ругается на power.

Последний раз редактировалось Stilet; 10.12.2014 в 10:11.
malicious_devil вне форума Ответить с цитированием
Старый 10.12.2014, 00:16   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

А как именно ругается? Или совсем нецензурно.
Может она не на Power ругается, а на то, что ..c:integer;, а Power возвращает совсем не Integer. В любом случае, даже 1^1
Кстати, модуль math подключили ?
type_Oleg вне форума Ответить с цитированием
Старый 10.12.2014, 00:31   #3
malicious_devil
Пользователь
 
Регистрация: 11.05.2014
Сообщений: 45
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
А как именно ругается? Или совсем нецензурно.
Может она не на Power ругается, а на то, что ..c:integer;, а Power возвращает совсем не Integer. В любом случае, даже 1^1
Кстати, модуль math подключили ?
Сейчас показывает ошибку на d:=a*c;
[Error] Unit4.pas(47): Incompatible types: 'Integer' and 'Extended'
я поняла ошибку, но не соображу что именно надо изменить

Последний раз редактировалось malicious_devil; 10.12.2014 в 00:34.
malicious_devil вне форума Ответить с цитированием
Старый 10.12.2014, 00:46   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Цитата:
Сообщение от malicious_devil Посмотреть сообщение
.. но не соображу что именно надо изменить
Код:
var x,a,b:integer;
     d,c:Real ;  // или Double, или Extended

// ...
  Edit4.Text:=FloatToStr(d);
Или второй вариант. Если нужны только целые степени целых чисел, то var оставить так, как у вас было, но изменить одну строку
Код:
c:=Round(Power(x,b));

Последний раз редактировалось type_Oleg; 10.12.2014 в 00:51.
type_Oleg вне форума Ответить с цитированием
Старый 10.12.2014, 00:53   #5
malicious_devil
Пользователь
 
Регистрация: 11.05.2014
Сообщений: 45
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Код:
var x,a,b:integer;
     d,c:Real ;  // или Double, или Extended

// ...
  Edit4.Text:=FloatToStr(d);
Или второй вариант. Если нужны только целые степени целых чисел, то var оставить так, как у вас было, но изменить одну строку
Код:
c:=Round(Power(x,b));
Спасибо! Все получилось!
malicious_devil вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возведение в степень на delphi vpersov Помощь студентам 4 29.11.2010 17:06
Возведение в степень числа в Delphi Gallaxy Помощь студентам 4 14.09.2010 22:04
Возведение в степень на Delphi VadEr Помощь студентам 4 03.04.2009 21:52
Delphi Возведение в степень Luska Помощь студентам 6 23.04.2007 17:51