第六章

程式模擬─自由落體

【自由落體】

在地球上,最重要的物理性質之一是「自由落體」,以每秒平方9.8公尺,方向指往地心。電腦程式自由落體,是很重要的模擬。蘋果從樹上掉下來,首先本身要有質量m,地球的質量是M,則F=(mM/r.r)=gm,故,重力加速度g=M/r.r,其中,F表示地球對蘋果的拉力,r為蘋果與地心的距離。最重要的特點是,g是一個常數(只要記得此點即可,前面的公式,就算了!)所以,如果在Scratch程式積木中表現自由落體重力加速度g,只要設它是一個常數就可以了。(維基百科https://zh.wikipedia.org/wiki/重力加速

程式模擬,首先以一個變數Speed Y代表物件向上運動的「初速」,以每秒移動幾點計算。然後不斷地每隔一秒,減去一個「常數」,這常數,就是地心引力所形成的重力加速度(每秒平方移動多少點計算),並 y移動的點數,設成每秒間隔移動 Speed Y 距離即可。記住,減去的「常數」,就可以代表地球上因地心引力引起的重力加速度。

當然,在設立變數前,要確定有必要設立變數!那,如何確定需要「變數」呢?以上例中,模擬自由落體程式而言,向上的「初速」每執行一個輪迴,就減去重力加速度,所以向上物件的速度「一直」都在改變,一直改變的數,就是「變數」(請跟老師說一遍)。

【演算法】

本單元中,也談到「演算法」。所謂「演算法」,就是解決問題的一系列程序。用程式語法,能夠很方便且容易達成演算法解決問題的目的。在白天黑夜演算法中,〔得分÷1000後,無條件捨去後,除以2之餘數〕,就是一個判斷是白天或是黑夜的演算法。「演算法」應用非常廣泛,有專書討論,值得仔細研究喔!

***

專題─跳跳外星人

本程式使用自由落體定律,實現外星人跳動,並跳過(或趴下)躲過不斷由右邊出現的物件,並增加多種出現物件、計分、計時、加速、切換畫面等,最後碰到仙人掌,遊戲結束,切換到結束畫面。