官术网_书友最值得收藏!

第7課 星號(hào)金字塔(雙變量累加)

有這樣一座星號(hào)金字塔,每一層都由奇數(shù)個(gè)星號(hào)組成。第一層1個(gè),第二層3個(gè),第三層5個(gè),以此類推。

現(xiàn)在我們需要計(jì)算出這個(gè)星號(hào)金字塔一共有多少個(gè)星號(hào),試著編寫程序來(lái)完成吧!

溫故知新

列等式計(jì)算。

(1)"1+3+5+7+9=":這是字符串,列了一個(gè)字符串等式。

(2)1+3+5+7+9:這是進(jìn)行5個(gè)數(shù)字的加法運(yùn)算。

(3)多個(gè)<<將內(nèi)容拼接輸出。

累加求和

挑戰(zhàn)一個(gè)有難度的計(jì)算,如果星號(hào)一共有100層,那么一共有多少個(gè)星號(hào)?將數(shù)字一個(gè)一個(gè)地寫出來(lái)就太煩瑣了,需要找到簡(jiǎn)便的方法。

之前計(jì)數(shù)的時(shí)候是每次加1,現(xiàn)在的求和是+1、+3、+5、+7、+9…每次加的數(shù)字都不同。

(1)sum = 0:聲明了一個(gè)變量sum,用它來(lái)存儲(chǔ)星號(hào)的總數(shù),計(jì)算前初始值是0。

(2)將每層的星號(hào)數(shù)量加起來(lái):

劃重點(diǎn)

觀察sum的變化,每行代碼執(zhí)行后,sum值都發(fā)生了變化。

雙變量

把后面加的數(shù)字1、3、5、7、9換成變量i的話,sum = sum + i的意思就是把原來(lái)sum的值加上i的值,再賦值給sum得到一個(gè)新的值。如果sum從0開(kāi)始,就相當(dāng)于把所有的i都加起來(lái)了,sum就是所有i的總和。

再感受一番累加,從0開(kāi)始+1、+3、+5、+7、+9。

     sum = 0
     sum = sum + 1;  0 + 1 = 1 (完成加1)
     sum = sum + 3;  1 + 3 = 4(計(jì)算的結(jié)果繼續(xù)加3)
     sum = sum + 5;  4 + 5 = 9(計(jì)算的結(jié)果繼續(xù)加5)
     sum = sum + 7;  9 + 7 = 16(計(jì)算的結(jié)果繼續(xù)加7)
     sum = sum + 9;  16 + 9 = 25(計(jì)算的結(jié)果繼續(xù)加9)

星號(hào)的數(shù)量統(tǒng)計(jì),不僅sum有規(guī)律,后面增加的數(shù)字也有規(guī)律,它們都是依次增加的奇數(shù)。嘗試將后面的加數(shù)也用一個(gè)變量來(lái)替代。

每次累加后,i都增加2,將i = i + 2寫入程序。

鞏固練習(xí)

(1)以下哪個(gè)式子的計(jì)算結(jié)果和程序輸出結(jié)果相等?( )

A.0 + 1 + 3 + 6 + 9 =

B.0 + 4 + 10 + 19 =

C.0 + 1 + 4 + 10 + 19 =

D.0 + 1 + 4 + 10 =

(2)星號(hào)塔每層都有偶數(shù)個(gè)星號(hào),第一層2個(gè),第二層4個(gè),第三個(gè)6個(gè),第四層8個(gè),第五層10個(gè)。同樣使用之前的程序代碼計(jì)算總星號(hào)數(shù),但是程序有些小問(wèn)題,需要你來(lái)修改一下。

(3)運(yùn)用雙變量累加的方式,求1+2+3+4+5+6+7+8+9+10的運(yùn)算結(jié)果。

探索思考

100層星塔中星號(hào)的總數(shù)還沒(méi)有計(jì)算出來(lái),留給你探索一番。這里需要用到循環(huán),試著運(yùn)用我們之前學(xué)習(xí)的while (true) { }來(lái)完成吧!

主站蜘蛛池模板: 沭阳县| 敦煌市| 桃园市| 保山市| 莱州市| 静乐县| 苍梧县| 都昌县| 加查县| 长沙市| 新竹县| 格尔木市| 克什克腾旗| 汤阴县| 孟连| 洱源县| 永安市| 万荣县| 江永县| 锦州市| 兴文县| 清原| 定西市| 信丰县| 聂荣县| 明星| 清水县| 若羌县| 舞阳县| 石渠县| 沈丘县| 延寿县| 渝中区| 乌拉特前旗| 榆社县| 博爱县| 桐柏县| 凤凰县| 平谷区| 鄱阳县| 南阳市|