I solved this problem.
required plug STYX for DBpro as atan (), tan (), atanfull () not working correctly
Here's the code:
REM Проект: dist
REM Создан: 06.08.2009 20:56:08
REM
REM ***** Главный исходный файл *****
REM
l1#= 40
lo1#= 0
l2#= -40
lo2#= 0
pia# = 3.14159265358979
rad# = 6378
`'получение координат точек в радианах
lat1# = l1#
lat2# = l2#
long1# = lo1#
long2# = lo2#
`'косинусы и синусы широт и разниц долгот
cl1# =cos( lat1# )
cl2# =cos( lat2# )
sl1# =sin( lat1# )
sl2# =sin( lat2# )
delta# = long2# - long1#
cdelta# =cos( delta# )
sdelta# =sin( delta# )
`'вычисления длины большого круга
p1# = (cl2#*sdelta#)^2.0
p2# = ((cl1#*sl2#) - (sl1#*cl2#*cdelta#))^2.0
p3# = (p1# + p2#)^0.5
p4# = sl1#*sl2#
p5# = cl1#*cl2#*cdelta#
p6# = p4# + p5#
p7# = p3#/p6#
ADD EXPRESSION VAR "aa",p7#
expr$ ="aTAN( aa )"
anglerad# = EVALUATE EXPRESSION( expr$ )
dist# = anglerad#*rad#
do
text 0,0,"distance = " + str$(dist#)
text 20, 50 ,"lat1# = "+ str$(lat1# )
text 20, 70 ,"lat2# = "+ str$(lat2# )
text 20, 90 ,"long1# = "+ str$(long1# )
text 20, 110 ,"long2# = "+ str$(long2# )
text 20, 130 ,"cos( lat1# ) = "+ str$( cl1# )
text 20, 150 ,"cos( lat2# ) = "+ str$( cl2# )
text 20, 170 ,"sin( lat1# ) = "+ str$( sl1# )
text 20, 190 ,"sin( lat2# ) = "+ str$( sl2# )
sync
loop
forall