簡化法
開發的過程需求總是很多,而且很複雜,而面對這麼多問題一時也不知道從何下手,而使用簡化法可以把問題縮到最小,解決掉小問題就可以逐漸解決大問題,因為大問題是由許多小問題構成。
舉生活的例子:
小美告訴小明說:「我電腦壞了。」
小明第一時間只接收到電腦壞了,可是電腦的組成很多部分,
是螢幕壞了,還是滑鼠壞了,還是主機壞了?
這時候已經開始解析問題的複雜度,最後分析是主機壞了,
可是主機又分成主機板、顯示卡、記憶體、電源供應器、硬碟…等等。
最後的最後發現是電源供應器壞了,所以只要換掉電源供應器,主機就修好了。
寫程式也是一樣,馬上來看一題。
印出星星
題目是這樣
1 | n = 1 |
先解一個
看到題目我第一時間反應是我不會解到第 10 個,那我解一個試看看,如果印得出一個,應該就可以印出 10 個。
看規則應該是要使用迴圈,然後印出來,所以想到這樣。
1 | for (let i = 1; i <= 10; i++) { |
沒錯,會跑 10 次的一顆星星。
前一篇有說如果還不知道怎麼做,就先用函式填空法。
所以先填起來,如下:
1 |
|
印出 10 個星星
- 要依序找出 10 個星星,也是要用迴圈的方法來做,並且起始數字為 1,因為 n=1 要印出一個。
- 讓其跑回圈印出星星,並且加總讓每次數字跟星星的數量相同。
- 印出星星。
1 | function printStar(n) { |
Demo: https://codepen.io/hnzxewqw/pen/ZEBzXmm?editors=1112