版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
英第5單元C++快樂編程——小學(xué)C++創(chuàng)意編程實例(課件)堂課Hi,Pythonlist,tuple,dictionary語先立后破,不立不破
——while循環(huán)目錄目錄第17課舒克貝塔獻(xiàn)愛心――while語句第18課我?guī)屠蠋熂糸L繩——遞歸調(diào)用語句第19課羊羊智斗灰太狼——continue語句第20課小蝸牛與葡萄樹——break語句舒克貝塔獻(xiàn)愛心――while語句第17課
小老鼠舒克和小老鼠貝塔,在皮皮魯?shù)膸椭?,?chuàng)立了舒克貝塔航空公司,它們經(jīng)常開著飛機(jī)和坦克幫助他人,但航空公司的運行也不是一帆風(fēng)順,強(qiáng)盜總是三番五次來搗亂,機(jī)智勇敢的舒克和貝塔最終戰(zhàn)勝了海盜,讓小動物們都過上了快樂平靜的生活。但舒克和貝塔發(fā)現(xiàn),還有不少老弱病殘小動物需要幫助,于是它們打算從今年1月份開始存款,以幫助這些老弱病殘小動物,假如,1月份存入1元錢,2月份存入2元,3月份存入3元錢,……依次類推,編程計算需要經(jīng)過多少個月,才能讓存入的錢剛好多于300元呢?讀故事理思路通過題目可知,1月份存入1元錢,2月份存入2元,……,如果本題要求兩年共存多少錢,就很易求出。因為,我們知道一年是12個月,兩年就是24個月,即求1+2+3+……+24的和,而本題不知道是多少個月,是要求經(jīng)過多少個月,才能讓存入的錢剛好多于300元,即求n的值。因此,建議使用while循環(huán),當(dāng)s<=300時,執(zhí)行循環(huán)體語句。1.理解題意2.問題思考理思路3.思路分析本題的存款數(shù)s,月數(shù)n都要初始為0,即s=0,n=0,先判斷s是否小于等于300,如果條件成立,執(zhí)行循環(huán)體。理思路查秘籍1.英漢字典while[wa?l]當(dāng)……時候true[tru:]代表“真,正確的false[f?:ls]代表“假”,錯誤的2.while語句while循環(huán)結(jié)構(gòu)有兩種格式,一種是循環(huán)體只有一個語句,另一種是循環(huán)體由多個語句構(gòu)成。當(dāng)循環(huán)體有多個語句構(gòu)成時,應(yīng)由一對花括號括起來,構(gòu)成一個語句塊的形式,語法形式如下:查秘籍while語句的執(zhí)行過程如下所示。如果條件表達(dá)式的值為真,即條件成立,就不斷執(zhí)循環(huán)體的語句。否則,將跳出循環(huán),執(zhí)行循環(huán)體后面的語句。求解決1.編寫代碼2.測試程序運行結(jié)果:求解決3.程序解讀4.易犯錯誤本程序中,n=0,條件滿足時先執(zhí)行n++,使n=1,再進(jìn)行累加s=s+n,結(jié)果是正確的。
如果將第5行中的n=0改為n=1,按下列whlie語句執(zhí)行,輸出n的值是26而不是25,結(jié)果是錯誤的,想想為什么?求解決5.拓展應(yīng)用while語句可以用于循環(huán)次數(shù)不確定,而只給出循環(huán)結(jié)束條件的循環(huán)。如對于給定的自然數(shù)n,求使1+2+3+4+5+……+i>=n成立的最小i值。程序代碼如下:#include<iostream> usingnamespacestd; intmain() { inti=1,n,s=0; cin>>n; while(s<n)//當(dāng)s小于n時,才執(zhí)行循環(huán) { s=s+i; i++; } cout<<i-1<<endl;//i多加了1次,還要減去1}閱覽室while語句用來實現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu),其一般形式如下:while(表達(dá)式)語句;當(dāng)表達(dá)式的值為真(非0)時,就不斷執(zhí)行循環(huán)體內(nèi)的語句。2.while語句特點1.while語句結(jié)構(gòu)先判斷表達(dá)式,后執(zhí)行語句。如果條件判斷開始就不成立,則一次循環(huán)體也不執(zhí)行。練武功1.修改程序錯誤1:
錯誤2:
下面這段代碼用于輸出1到100之間的偶數(shù),其中有2處錯誤,快來改正吧!練武功2.閱讀程序?qū)懡Y(jié)果輸出:
練武功3.完善程序編程求5+10+15+……+100的和是多少。練武功4.編寫程序?qū)τ谌我廨斎氩淮笥?0000的整數(shù),編程計算各個數(shù)位上的數(shù)字之和。輸入數(shù)據(jù)1:3412輸出數(shù)據(jù)1:10輸入數(shù)據(jù)2:10輸出數(shù)據(jù)2:1我?guī)屠蠋熂糸L繩――遞歸調(diào)用語句第18課
體育課上,王老師拿出一根長度為15米和6米的繩子,王老師想讓你幫他把這2根繩子剪成同樣長的小段用來做跳繩。為了節(jié)省繩子,剪的時候不允許有剩余。王老師想到學(xué)習(xí)編程的你,請你編程計算所剪的每段繩子,最長為幾米。讀故事理思路要把每根繩子剪成同樣長的小段,且在不允許有剩余的情況下,所剪繩子最長。可以轉(zhuǎn)化為數(shù)學(xué)中求2個整數(shù)的最大公約數(shù)問題。1.理解題意2.問題思考理思路3.算法分析假如兩根繩子的長度分別用m和n表示,則采用輾轉(zhuǎn)相除法求最大公約數(shù),思路如下:第一步:求m除以n的余數(shù)r;第二步:當(dāng)余數(shù)r等于0時,則n為最大公約數(shù),輸出n,結(jié)束循環(huán);第三步:當(dāng)余數(shù)r不等于0時,將n的值賦給m,r的值賦給n,再求m除以n的余數(shù)r。再轉(zhuǎn)到第2步進(jìn)行判斷,形成循環(huán)判斷。其流程圖如下圖所示。理思路求解決1.編寫代碼2.測試程序求解決3.程序解決最大公約數(shù)也稱最大公因數(shù)或最大公因子。2個整數(shù)中公有的約數(shù),叫做這2個數(shù)的公約數(shù);其中最大的一個,叫做這2個數(shù)的最大公約數(shù)。例如:12、16的公約數(shù)有1、2、4,其中最大的一個是4,4就是12與16的最大公約數(shù)。求解決4.易犯錯誤在采用輾轉(zhuǎn)相除法求最大公約數(shù)時,當(dāng)余數(shù)r不等于0時,將n的值賦給m,r的值賦給n,再求m除以n的余數(shù)r。這時賦值語句不能寫錯,如寫成n=m;r=n;程序結(jié)果就完全不一樣了。閱覽室while語句的執(zhí)行過程如下:(1)首先計算作為循環(huán)控制條件表達(dá)式的值;(2)若循環(huán)控制條件表達(dá)式的值為真,則執(zhí)行一遍循環(huán)體,否則離開循環(huán),結(jié)束整個while語句的執(zhí)行。(3)循環(huán)體的所有語句執(zhí)行結(jié)束后,則自動轉(zhuǎn)向第(1)步執(zhí)行。1.while語句執(zhí)行過程閱覽室當(dāng)while語句的循環(huán)體由多個語句組成時,則必須將多個語句使用“{}”括起來,組成一個復(fù)合語句,如{sum=sum+i;i++;}循環(huán)體中應(yīng)有使循環(huán)趨于結(jié)束的語句如i++,否則構(gòu)成死循環(huán)。2.while語句中的復(fù)合語句練武功1.計算下列各組整數(shù)的最大公約數(shù),并上機(jī)驗證。練武功2.閱讀程序?qū)懡Y(jié)果(1)輸入:0輸出:
(2)輸入:123輸出:
(3)輸入:1234567890輸出:
練武功3.修改程序
一起來找茬:下面代碼用來計算2個數(shù)的最小公倍數(shù)。錯誤原因:
練武功4.編寫程序1.五年級一班有35個小朋友,二班有42個小朋友。按班分組,2個班各組的人數(shù)一樣多,編程計算每組最多有多少個小朋友。2.將一根長為369cm的鋼管截成長為69cm和39cm兩種規(guī)格的短料。在這兩種規(guī)格的短料至少各截一根的前提下,如何截才能余料最少?
羊羊智斗灰太狼――
continue語句第19
課
這一天,灰太狼又搶走了羊村的糧食,喜羊羊想奪回糧食,于是混進(jìn)了灰太狼的城堡里,但不小心被灰太狼給發(fā)現(xiàn)了,喜羊羊心想,怎么辦才能既奪回糧食又安全逃脫灰太狼的追趕呢?于是聰明的羊羊準(zhǔn)備智斗灰太狼,它準(zhǔn)備和灰太狼玩一個報數(shù)游戲,通過游戲的勝負(fù)決定糧食的歸屬。游戲規(guī)則是:羊羊和灰太狼一起從1開始報數(shù),如逢3的倍數(shù)或者尾數(shù)是3,則不報數(shù),要喊“過”,如果誰報錯了,則誰就輸了,糧食就要歸還給對方。試編一程序,模擬1——20報數(shù)游戲。讀故事理思路本題是用循環(huán)語句輸出所規(guī)定的數(shù),在輸出數(shù)前,要判斷每個數(shù)是不是3的倍數(shù)或者尾數(shù)是3,若是,輸出“過”,若不是,就輸出這個數(shù)。1.理解題意2.問題思考理思路3.算法分析本例中要判斷一個數(shù)是不是3的倍數(shù)或者尾數(shù)是3,可以使用條件表達(dá)式n%3==0或n%10==3即可,流程圖如下。理思路查秘籍1.英漢字典
continue[k?n?t?nju?]繼續(xù);結(jié)束本次循環(huán)2.continue語句求解決1.編寫代碼2.測試程序
求解決3.程序解讀
本程序中,continuer語句的作用提前結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的cout<<i語句,進(jìn)行下一次是否執(zhí)行循環(huán)的判定。作為對比,現(xiàn)將第12行中的continuer語句直接改寫成break語句,查看新程序的運行結(jié)果。
break語句直接結(jié)束循環(huán),輸出的結(jié)果不僅跳過了3,還跳過3之后的所有數(shù)字。運行結(jié)果:求解決5.程序改進(jìn)4.易犯錯誤想一想,如果使用for參考代碼循環(huán),則程序結(jié)構(gòu)更清楚,程序代碼如圖所示。要判斷一個數(shù)是不是3的倍數(shù)或者尾數(shù)是3,可以使用條件表達(dá)式n%3==0或n%10==3判斷,不能只用n%3==0判斷。另外,n++語句是在cout<<n之前,所以n<=19,而不是n<=20。#include<iostream> usingnamespacestd;intmain() {intn;for(n=1;n<=20;n++){if(n%10==3||n%3==0)//判斷一個數(shù)是不是3的倍數(shù)或者尾數(shù)是3{cout<<"過"<<"";continue; }cout<<n<<"";}return0;}求解決6.拓展應(yīng)用在使用循環(huán)解決很多問題時,有時需要提前結(jié)束本次循環(huán),即跳過循環(huán)體中尚未執(zhí)行的語句,接著判定是否執(zhí)行下一次循環(huán)。如輸出1到10之間的奇數(shù),相鄰的2個數(shù)用逗號隔開,當(dāng)遇到偶數(shù)時,提前結(jié)束本次循環(huán),跳過輸出語句。程序代碼如下:#include<iostream> usingnamespacestd;intmain() {intm,i,k;for(i=10;i>=1;i--){if(i%2==0)continue;//提前結(jié)束本次循環(huán),跳過輸出語句cout<<i;if(i==1)continue;cout<<",";}return0;}閱覽室continue語句的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。2.continue語句用法1.continue語句功能continue語句只能用在for、while、do-while等循環(huán)體中,與if條件語句一起使用,用來加速循環(huán),提高循環(huán)的執(zhí)行效率。練武功1.閱讀程序?qū)懡Y(jié)果輸出:
練武功2.修改程序一起來找茬:下面程序代碼,用來輸出100~200之間的不能被3整除的數(shù)。錯誤原因:
練武功3.完善程序使用continue語句,編程輸出100以內(nèi)所有偶數(shù)。練武功4.編寫程序模擬“逢7必過”游戲:循環(huán)列出1~20之間的數(shù),判斷每個數(shù)是不是“7”的倍數(shù),若是,輸出“過”;若不是,就輸出這個數(shù)。小蝸牛與葡萄樹――
break語句第20課
小蝸牛家門前有一棵葡萄樹。春天,葡萄樹發(fā)芽了,長出了嫩綠的小葉子??粗@些小葉子,小蝸牛在心里暗暗下了一個決定:今年,葡萄剛發(fā)芽我就開始爬。哼!就不信,我還吃不到葡萄!這天,小蝸特意起了個大早,準(zhǔn)備開始它的“兩萬五千里長征”。黃鸝見了,趕忙說:“葡萄成熟還早地很哪?你現(xiàn)在爬上來干什么?”小蝸牛沒有理會,繼續(xù)往上爬,終于在葡萄成熟時,爬了上去,并吃到了又甜又大的葡萄。已知葡萄樹高為2.4m,假設(shè)蝸牛每小時爬0.3米后,要休息一小時,在休息時又要下滑0.1米,編程計算小蝸牛需要多少小時才能爬上去。讀故事理思路蝸牛所用的時間t和向上爬的米數(shù)i初始值都為0,每小時向上爬0.3米,可以用i=i+0.3表示,滑下0.1米,可用i=i-0.1表示。1.理解題意2.問題思考理思路3.算法分析用變量t表示蝸牛爬葡萄樹所用的時間,i表示向上爬的米數(shù)。理思路查秘籍1.英漢字典
break[bre?k]中斷;停止2.break語句求解決1.編寫代碼2.測試程序
求解決3.程序解讀
當(dāng)i>=2.4時,表示蝸牛已經(jīng)爬到葡萄樹枝頭,不需要再滑回了,所以需要使用break語句終止整個循環(huán)過程。
4.易犯錯誤在本程序中使用了while(1),條件是1,表示它的值永遠(yuǎn)為真,若在循環(huán)體中沒有break語句來終止循環(huán),則會形成死循環(huán)。一般情況下,編程中盡量避免出現(xiàn)死循環(huán),而且編譯系統(tǒng)不做死循環(huán)的檢查。求解決5.拓展應(yīng)用在循環(huán)結(jié)構(gòu)中,可以使用break語句,提前結(jié)束循環(huán)。如判斷一個整數(shù)m是否素數(shù)。素數(shù),指在一個大于1的自然數(shù)中,除了1和它本身以外,沒法被其他自然數(shù)整除的數(shù)。算法思想:讓m被2到m-1中的數(shù)整除,如果m能被2~m-1之中任何一個整數(shù)整除,則提前結(jié)束循環(huán),此時i必然小于或等于k;如果m不能被2~k之間的任一整數(shù)整除,則在完成最后一次循環(huán)后,i還要加1,因此i=k+1,才終止循環(huán)。在循環(huán)之后判別i的值是否大于或等于k+1,若是,則表明未曾被2~k之間任一整數(shù)整除過,因此輸出“是素數(shù)”。程序代碼如下:#include<iostream>#include<math.h> usingnamespacestd;intmain() {intm,i,k;cin>>m;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;//提前結(jié)束循環(huán)if(i>k+1)cout<<("yes");elsecout<<("no");}閱覽室
while語句執(zhí)行循環(huán)體之前,先判斷循環(huán)條件,條件表達(dá)式的值必須為真,否則while循環(huán)不執(zhí)行循環(huán)體,即循環(huán)體可能一次也不執(zhí)行。而do-while語句,不管循環(huán)條件是否成立,循環(huán)體都要執(zhí)行一次,因為循環(huán)體是在條件表達(dá)式之前執(zhí)行的。2.break語句1.while與dowhile的區(qū)別
break語句通常用在循環(huán)語句和開關(guān)語句中。當(dāng)break用于開關(guān)語句switch中時,可使程序跳出switch語句,而執(zhí)行switch以后的語句;如果沒有bre
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PEP小學(xué)英語三年級上冊Unit5 PartA Letters and sounds 同步課時練
- 廣聯(lián)達(dá)課程設(shè)計收獲
- 某城市給水課程設(shè)計
- 畢業(yè)班課程設(shè)計
- 液晶顯示課課程設(shè)計
- 智能風(fēng)扇eda課程設(shè)計
- 樁筏基礎(chǔ)課程設(shè)計
- 搖控自動窗簾課程設(shè)計
- 液壓課程設(shè)計設(shè)計內(nèi)容
- 影視動畫藝術(shù)課程設(shè)計
- Unit 1 What's he like Part B Let's learn(說課稿)人教PEP版英語五年級上冊
- 2023年全國乙卷筆試部分講解課件 【高效課堂+精研精講】 高考英語復(fù)習(xí)
- 國開2023年春《人文英語4》機(jī)考網(wǎng)考期末復(fù)習(xí)資料參考答案
- 教師追悼會家屬答謝詞(三篇)
- 初三英語中考模擬試卷
- 酒店業(yè)輕資產(chǎn)運營模式案例研究
- 《卓有成效的管理者》讀書分享
- 員工食堂承包合同、考核細(xì)則、考核評分表
- 優(yōu)秀管理者評選方案
- SnO2材料氣敏性能研究進(jìn)展
- 爆破設(shè)計與施工(第3版)巖土爆破設(shè)計題(含答案)概要
評論
0/150
提交評論