找出規律
延續之前的練習,要馬上實作九九乘法表可能有點困難,但可以先試找出一個乘法表的規律,
先找1*1 到 1*9
的規律,
1 | for (let i = 1; i <= 9; i++) { |
似乎可以以此類推,把 1 換成 2 - 9 的數字。
1 | for (let i = 1; i <= 9; i++) { |
.
.
.
1 | for (let i = 1; i <= 9; i++) { |
恩… 有點暴力,但的確達到效果了。
改成函式
除了帶入不同的數字,其他都是相同重複出現的程式碼,改成函式包裝,
只要函式的參數,帶入不同的數字,就可以得到不同乘法表的結果。
1 | function printTable(j) { |
使用迴圈跑出九九乘法表
目前是各自獨立的乘法表,現在要做成九九乘法表,就只要把最外面的數列用迴圈跑出 2~9 的數列,
再將剛剛的函式放到迴圈中,就可以依序跑出九九乘法表。
1 | for (let j = 2; j <= 9; j++) { |
然後就完成了!
完整的九九乘法表程式碼。
1 | //獨立的乘法表 |
心得
- 先用簡化法跑出第一個結果。
- 發現會有重複的程式碼出現,使用函式封裝。
- 又發現有重複的動作,再把函式帶進去,得到想要的結果。
雙層迴圈
使用雙層迴圈改寫,也就是把外層迴圈中的函式,改成封裝函式中的程式碼。
1 | //雙迴圈版本的九九乘法表 |
雙層迴圈一開始對新手比較不友善,因為無法第一時間看出來到底在做什麼。
小結
透過簡化法跟函式填空法,可以先把流程跟動作分開,然後再做整合與優化得到更簡易的程式碼。