W01 補充教材|公式輸入技巧
本頁是第1週「輸入、計算與輸出」的補充教材:由外往內搭公式骨架。
今天完成後,我可以
- 把數學公式分成幾個有意義的區塊。
- 先用成對括號建立大運算式的骨架。
- 由外往內填入分子、分母、次方及根號內的內容。
- 在公式太長時,使用中間變數降低輸入難度。
- 用容易手算的數值檢查公式。
一、為什麼不要從左邊一路抄到右邊
公式一長,如果從第一個符號一路抄到最後,常會發生:
- 分子或分母少括號。
- 數學中省略的乘號沒有補上。
- 次方只套用到旁邊的一小部分。
- 括號太多,不知道哪兩個是一組。
- 程式可以執行,但計算順序與數學公式不同。
輸入公式前,先問:
整個公式最外層正在做什麼運算?
二、公式施工四步驟
資料/示意
一、找最外層運算
二、先打成對括號
三、填入各區塊的骨架
四、再由外往內填內容
輸入左括號後,立刻輸入右括號,再把游標移到兩個括號中間。
三、看到大分數,先打() / ()
假設要輸入:
\[ \frac{a+b}{c\times d} \]
第一步:只建立分數骨架
第二步:填入分子與分母
不要寫成:
後者會依照Python的運算順序計算,並不是原本的大分數。
四、看到根號,先保留根號裡的位置
平方根可以視為\(\frac{1}{2}\)次方。先建立:
再把根號裡的內容填入括號。
先預測,再執行
這段程式不會得到預期的平方根,因為**比/優先,Python會把它看成:
公式/運算
(value ** 1) / 2
要讓1 / 2成為完整的指數,也要先用括號把它包成一個區塊。
五、一元二次方程式:一層一層施工
較大的根是:
\[ \frac{-b+\sqrt{b^2-4ac}}{2a} \]
第一層:整體是大分數
第二層:填入分子與分母的大骨架
第三層:加入平方根骨架
第四層:最後填入根號內
數學式中的±代表兩個不同的答案,不是Python的一個運算符號。兩個解必須分開建立、分開輸出:一個分子使用加法,另一個使用減法。
六、太長時,搭配中間變數
由外往內搭骨架可以幫助看清公式。如果某個區塊太長或會重複使用,再把它存成中間變數:
接著建立兩個分數:
一行只做一件容易說明的事,發生錯誤時也比較容易找到位置。
七、動手練習
練習一:平均變化量
請將下式翻譯成Python:
\[ \frac{y_2-y_1}{x_2-x_1} \]
先不要填內容,第一步寫成:
完成後查看
練習二:整個和的平方
請分辨以下兩個算式的意思:
使用a = 2、b = 3實際計算,確認兩者結果是否相同。
練習三:找出骨架
看到下面的公式時,先不要完整計算,只寫第一層Python骨架:
\[ \frac{p+\sqrt{q}}{r-s} \]
查看第一層
接著自行補上分子與分母,再處理平方根。
八、常見錯誤檢查
表格可左右滑動
| 看到的狀況 | 檢查方向 |
|---|---|
| 分數答案明顯不合理 | 分子與分母是否各有一對括號 |
| 平方根變成除以2 | 1 / 2是否被括號包成完整指數 |
出現4ac |
Python不能省略乘號,應補上兩個* |
使用^計算平方 |
Python的次方運算符號是** |
想用+-產生兩個解 |
兩個答案必須分別寫成兩個運算式 |
| 括號一直對不起來 | 每打左括號就立即補上右括號 |
九、完成前問自己
- 我能指出整個公式最外層的運算嗎?
- 如果是大分數,我是否先輸入
() / ()? - 數學中省略的乘號是否全部補上?
- 次方的底數和指數是否各自完整?
- 重複或過長的部分是否適合先存成中間變數?
- 我是否用容易手算的數值測試過?
