全世界所有程式語言幾乎都不認識角度,只能用弧度算三角函數!
只要寫出兩個不同的程式碼A和B,就能證明程式語言不認識角度。以下我用Fortran 77的語法寫出來(我習慣用Fortran 77)。
程式A:
!用弧度
program angle_a
implicit none
real*4 a,b
read(*,*) a
b = cos(a*0.01745329)
write(*,*) b
stop
end
程式B:
!用角度
program angle_b
implicit none
real*4 a,b
read(*,*) a
b = cos(a)
write(*,*) b
stop
end
你可能發現到算式裡面差了一個常數0.01745329,這是1°的弧度,弧度的單位為rad,是英文radian的縮寫(radius是半徑),π等於180°的弧度,1° = π÷180° = 0.01745329 rad。
數學不差的人一定知道cos60° = 0.5
上面的程式編譯出來後,如果輸入60,程式A的結果是0.50000006;程式B的是-0.95241296,確定結果後,先計算60 rad等於多少度:
60÷(π÷180)= 3437.74677034°
3437.74677034° = 197.74677034° + 360°×9
把197.74677034°輸入程式A,結果是-0.95241314,和程式B輸入60的結果幾乎相同,因此證明Fortran不認識角度!
重要的三角常數需要先定義:
π = 3.141592654
1° = 0.01745329 rad
只要寫出兩個不同的程式碼A和B,就能證明程式語言不認識角度。以下我用Fortran 77的語法寫出來(我習慣用Fortran 77)。
程式A:
!用弧度
program angle_a
implicit none
real*4 a,b
read(*,*) a
b = cos(a*0.01745329)
write(*,*) b
stop
end
程式B:
!用角度
program angle_b
implicit none
real*4 a,b
read(*,*) a
b = cos(a)
write(*,*) b
stop
end
你可能發現到算式裡面差了一個常數0.01745329,這是1°的弧度,弧度的單位為rad,是英文radian的縮寫(radius是半徑),π等於180°的弧度,1° = π÷180° = 0.01745329 rad。
數學不差的人一定知道cos60° = 0.5
上面的程式編譯出來後,如果輸入60,程式A的結果是0.50000006;程式B的是-0.95241296,確定結果後,先計算60 rad等於多少度:
60÷(π÷180)= 3437.74677034°
3437.74677034° = 197.74677034° + 360°×9
把197.74677034°輸入程式A,結果是-0.95241314,和程式B輸入60的結果幾乎相同,因此證明Fortran不認識角度!
重要的三角常數需要先定義:
π = 3.141592654
1° = 0.01745329 rad
全站熱搜
留言列表