Data update
This commit is contained in:
parent
52a6ef48dd
commit
157b70a810
604 changed files with 14253 additions and 2100 deletions
55
Task/Averages-Mean-angle/QBasic/averages-mean-angle.basic
Normal file
55
Task/Averages-Mean-angle/QBasic/averages-mean-angle.basic
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
DECLARE FUNCTION Atan2# (y AS DOUBLE, x AS DOUBLE)
|
||||
DECLARE FUNCTION MeanAngle# (angles#())
|
||||
CONST PI# = 3.141592653589793#
|
||||
|
||||
REDIM angles1#(1 TO 2)
|
||||
angles1#(1) = 350
|
||||
angles1#(2) = 10
|
||||
|
||||
REDIM angles2#(1 TO 4)
|
||||
angles2#(1) = 90
|
||||
angles2#(2) = 180
|
||||
angles2#(3) = 270
|
||||
angles2#(4) = 360
|
||||
|
||||
REDIM angles3#(1 TO 3)
|
||||
angles3#(1) = 10
|
||||
angles3#(2) = 20
|
||||
angles3#(3) = 30
|
||||
|
||||
PRINT USING "Mean for angles 1 is : ####.## degrees"; MeanAngle#(angles1#())
|
||||
PRINT USING "Mean for angles 2 is : ####.## degrees"; MeanAngle#(angles2#())
|
||||
PRINT USING "Mean for angles 3 is : ####.## degrees"; MeanAngle#(angles3#())
|
||||
|
||||
FUNCTION Atan2# (y AS DOUBLE, x AS DOUBLE)
|
||||
IF x > 0 THEN
|
||||
Atan2# = ATN(y / x)
|
||||
ELSEIF x < 0 THEN
|
||||
IF y >= 0 THEN
|
||||
Atan2# = ATN(y / x) + PI#
|
||||
ELSE
|
||||
Atan2# = ATN(y / x) - PI#
|
||||
END IF
|
||||
ELSE ' x = 0
|
||||
IF y > 0 THEN
|
||||
Atan2# = PI# / 2
|
||||
ELSEIF y < 0 THEN
|
||||
Atan2# = -PI# / 2
|
||||
ELSE ' y = 0
|
||||
Atan2# = 0
|
||||
END IF
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION MeanAngle# (angles#())
|
||||
length# = UBOUND(angles#) - LBOUND(angles#) + 1
|
||||
sinSum# = 0!
|
||||
cosSum# = 0!
|
||||
|
||||
FOR i% = LBOUND(angles#) TO UBOUND(angles#)
|
||||
sinSum# = sinSum# + SIN(angles#(i%) * PI# / 180!)
|
||||
cosSum# = cosSum# + COS(angles#(i%) * PI# / 180!)
|
||||
NEXT i%
|
||||
|
||||
MeanAngle# = Atan2#(sinSum# / length#, cosSum# / length#) * 180! / PI#
|
||||
END FUNCTION
|
||||
Loading…
Add table
Add a link
Reference in a new issue