RosettaCodeData/Task/Averages-Mean-angle/Yabasic/averages-mean-angle.basic

31 lines
779 B
Plaintext

dim angles1(2)
angles1(1) = 350
angles1(2) = 10
dim angles2(4)
angles2(1) = 90
angles2(2) = 180
angles2(3) = 270
angles2(4) = 360
dim angles3(3)
angles3(1) = 10
angles3(2) = 20
angles3(3) = 30
print "Mean for angles 1 is : ", MeanAngle(angles1()) using ("####.##"), " degrees"
print "Mean for angles 2 is : ", MeanAngle(angles2()) using ("####.##"), " degrees"
print "Mean for angles 3 is : ", MeanAngle(angles3()) using ("####.##"), " degrees"
end
sub MeanAngle(angles())
length = arraysize(angles(), 1) + 1
sinSum = 0.0
cosSum = 0.0
for i = 1 to arraysize(angles(), 1)
sinSum = sinSum + sin(angles(i) * PI / 180.0)
cosSum = cosSum + cos(angles(i) * PI / 180.0)
next
return atan(sinSum / length, cosSum / length) * 180.0 / PI
end sub