Леонид писал(а):
А ещё можно напрямую через логарифмы посчитать и сами логарифмы через рядыМожно
Add(MainForm,2491027,392,161)
{
Height=189
}
Add(Button,7057966,483,189)
{
Left=175
Top=25
Width=180
Caption="Извлеч кубический корень"
link(onClick,16312832:doWork2,[])
}
Add(Label,3395085,658,189)
{
Left=30
Top=60
Width=130
Caption=""
}
Add(Edit,9981562,553,126)
{
Left=30
Top=25
Width=130
Text="125"
link(onEnter,16312832:doWork1,[(592,139)(592,167)(543,167)])
}
Add(HubEx,16312832,539,189)
{
link(onEvent,16063020:doData,[])
}
Add(InlineCode,13604916,602,189)
{
WorkPoints=#12:doPowerRoot3|
EventPoints=#8:onResult|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|0:|21:onResult : THI_Event;|0:|53:Procedure doPowerRoot3 (var _Data:TData; Index:word);|0:|5: end;|0:|14:implementation|0:|66:Procedure THiAsmClass.doPowerRoot3 (var _Data:TData; Index:word);|3:var|14: X: Integer; |15: Root: Double;|5:begin|25: X := ToInteger(_Data);|0:|15: if X > 0 then|26: Root := Exp(Ln(X) / 3)|20: else if X < 0 then|33: Root := -Exp(Ln(Abs(X)) / 3) |6: else|14: Root := 0;|43: _hi_onEvent(onResult,Double2Str(Root)); |4: |4:end;|0:|4:end.|
link(onResult,3395085:doText,[])
}
Add(DoData,16063020,553,189)
{
link(onEventData,13604916:doPowerRoot3,[])
link(Data,9981562:Text,[])
}
Кстати, в первой схеме нет проверки на отрицательные числа. Но легко добавить.
Add(MainForm,13397681,273,126)
{
Height=189
}
Add(MathParse,2309361,462,154)
{
DataCount=1
MathStr="sign(%1) * (abs(%1) ^ (1/3)) "
link(onResult,3395085:doText,[])
link(X1,9981562:Text,[])
}
Add(Button,7057966,364,154)
{
Left=175
Top=25
Width=180
Caption="Извлеч кубический корень"
link(onClick,16312832:doWork2,[])
}
Add(Label,3395085,539,154)
{
Left=30
Top=60
Width=130
Caption=""
}
Add(Edit,9981562,462,91)
{
Left=30
Top=25
Width=130
Text="125"
DataType=2
link(onEnter,16312832:doWork1,[(501,104)(501,132)(424,132)])
}
Add(HubEx,16312832,420,154)
{
link(onEvent,2309361:doCalc,[])
}



Поиск
Друзья
Администрация