![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисления А в степени Х [D1, D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
novex © (2006-12-04 19:45:00)Доброго времени суток!
Вопрос не совсем по программированию, но тем не менее нужно вычислисть А в степени Х, кто нить знает как?
Х - любое число больше нуля.
balepa (2006-12-05 05:13:00) [1]novex (04.12.06 19:45)
Доброго времени суток!
Вопрос не совсем по программированию, но тем не менее нужно вычислисть А в степени Х, кто нить знает как?
Х - любое число больше нуля.
Надо было всего лишь взять справочник по элементарной математике.
А то так скоро будут вопросы типа "Вопрос не совсем по программированию, но тем не менее нужно сложить 2 + 1 "
DrPass (2006-12-05 00:36:00) [2]
> Master_ © (04.12.06 20:32) [5]
Ну-ка, возведи мне 7 в степень 4.25 ;-)
sniknik (2006-12-05 00:20:00) [3]> Вопрос не совсем по программированию
запускаешь стандартный виндовый калькулятор, переключаеш вид в инженерный, ищешь кнопочку x^y, далее как подскажет "интуитивно понятный интерфейс" виндов...
DiX (2006-12-04 22:13:00) [4]Подключаешь модуль Math и используешь функцю power, ниже синтаксис:
function Power(const Base, Exponent: Extended): Extended;
novex (2006-12-04 21:40:00) [5]Вот, похожи последний ответ мне подойдет, а именно Х^Y = Exp(Y*Ln(X)), потому как в моем случае Х = 1.22, так что варианты с intger не подходят.
Юрий Зотов (2006-12-04 21:02:00) [6]> Master_ © (04.12.06 20:32) [5]
Math.Power
Math.IntPower
Или уж так (при X>0):
Х^Y = Exp(Y*Ln(X))
Но только не надо долгоиграющих самопальных циклов.
Sam Stone (2006-12-04 20:33:00) [7]Энергия у русских без вектора... Любят каждый день велосипед изобретать ) В модуле Math должна быть ф-ция Power, или нечто с похожим названием.
Master_ (2006-12-04 20:32:00) [8]Попробовал - не работает
Вот что получил после доработки
function MyFunct(a,b:integer):integer;
var
I:integer;
x:integer;
begin
x:=a;
I:=1;
while not(i=b) do
begin
i:=i+1;
a:=a*x;
end;
result:=a;
end;
100% работает.
Вызов :
edit3.text:=inttostr(myFunct(strtoint(form1.edit1.text),strtoint(form1.Edit2.tex t)));
Desdechado (2006-12-04 20:27:00) [9]Master_ © (04.12.06 20:14) [3]
> Упс ошибочка
ага, одна большая
сам попробуй своё a:=a*a; в цикле
Master_ (2006-12-04 20:14:00) [10]Упс ошибочка
function MyFunct(a,b:integer):real;
var
I:integer;
begin
for i:=2 to b do
a:=a*a;
result:=a;
end;
Это правильней)))
Master_ (2006-12-04 20:09:00) [11]Использовать так:
edit3.text:=floattostr(myFunct(strtoint(edit1.text),strtoint(Edit2.text)));
Master_ (2006-12-04 20:06:00) [12]Попробуйте, просто как пять копеек:
function MyFunct(a,b:integer):real;
var
I:integer;
begin
for i:=1 to b do
a:=a*a;
result:=a;
end;