- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7-7程式設計初體驗(二)
7-7程式設計初體驗(二)
第七課 玩積木、學程式
7
7- PAGE 111
資訊教育(七)年級學生課本
資訊教育(七)年級學生課本
第七課 玩積木、學程式
7-7程式設計初體驗(二)
7-7程式設計初體驗(二)
學習目標
學習目標
能運用條件與迴圈指令。
能檢驗程式執行的結果與流程圖是否相符。
能夠分享作品,達到同儕學習的效果。
能夠說出其他組別作品的優缺點。
7-7-1
7-7-1
生活上運用『條件判斷與迴圈』的程式指令所應用實例比比皆是。
何謂條件判斷?
每個人無時無刻都在做判斷與決擇。例如,明天要穿哪一雙鞋?要搭配哪一套衣服呢?明天有朝會,所以要穿制服到學校;有體育課,所以要帶運動服和運動鞋到學校換。但是,如果明天下雨,那直接穿運動服裝就可以了。
當爸爸媽媽有事出遠門,我要如何用洗衣機呢?先確認衣服質料,如果是牛仔褲、外套等厚重衣物,就要用強力洗淨;如果是棉質衣物,就要注意不可以設定在洗淨後直接烘乾。全自動的洗衣機,只要設定好洗滌相關資訊,洗衣機就會依照內定行程(程式),給一定水量、水流、洗滌、浸泡、洗清與脫水時間控制。
圖一:全自動洗衣機
圖二:全自動洗衣機之操作面板
那麼,何時會用到迴圈指令呢?
電腦的設計概念之ㄧ,就是希望電腦能取代人類做一些危險或繁瑣的重複性工作。迴圈指令正是用來協助我們執行重複性的動作以解決問題。例如,學校棒球隊要作打擊練習時,需要找投手一直餵球給球員練習打擊,投手如果過度練習,也會造成運動傷害;如果有投球機就可以解決這個困擾。這種重複性的工作,即使是在程式設計上也是經常發生,此時我們就需要利用迴圈指令來解決這類的問題。
迴圈指令其實是利用條件判斷來控制是否要重複執行迴圈指令內的動作或是繼續執行後續的程式指令。當條件判斷結果為「YES」(true),程式就會執行迴圈內的動作;直到條件判斷結果為「NO」(false)時,就會離開迴圈指令,然後繼續往下執行後續的程式指令。例如,自走式智慧型吸塵器,內建FUZZY智慧程式(如:橢圓型走式、隨興自走式、沿壁巡航遊走式、Z字型走式)與自動清潔設定。它不只會幫助我們完整清掃地面,碰到障礙物也會自行修正路徑,直到所有樓地板都輕掃過為止;也可以透過設定讓它利用夜深人靜時分,搜尋與清掃每一個角落,絕無打掃死角。
圖三:自走式智慧型吸塵器
圖四:吸塵器操作面板
在『撰寫簡易程式』單元中,示範的scratch作品:1+2+3+…+99+100=?的累加程式,我們先以程式流程圖來分析。
從1加到10的總和,我們可以透過心算、珠算、計算機…等,慢慢將要加總的數字和運算符號一個一個鍵入,花點時間就可以得到答案。但是,如果1加到100,甚至是1加到1000…就應該要花比較多功夫才能慢慢計算出結果。此時我們可以透過程式的迴圈指令來解決這個問題。
1加到100對電腦而言可以轉換成如下意義:
請幫忙計算從數字1加到100的總和。
一開始「暫時性總和」為零。
「第一個數」是1(初始值),從第一個數開始,加上「下一個數」並得到一個「暫時性總和」。
持續累加並持續得到「新的暫時性總和」,直到下一個數大於100就停止;「最後一個暫時性總和」就是我們的答案。
圖五:演算流程圖
在這個演算流程圖中,以英文字「I」來代表要被加總的數字。此迴圈指令中,累加至100的程式條件判斷(菱形符號),是以I(要被加總的數字)的值是否大於100來做為判斷,並決定是否總和繼續累加。此過程中I(要被加總的數字)也隨之往下遞增1,根據條件判斷結果,這一個迴圈將會被執行100次, I(要被加總的數字)也由1 變化到100後,最後得到1+2+3+…+99+100 的總和。
同學們,改以Scratch 設計此程式,您會怎麼寫呢?
構思一下,應該會用到控制與運算類的指令:
1. 首先在變數類指令中,產生二個變數:總和與I,並分別給予初值。
2. 因為除了條件判斷外,還要不斷重複的執行,所以應該使用迴圈指令,所以插入「重複執行」指令。
接著寫出條件判斷:當變數I超過100時就停止,所以條件判斷為I大於100,應該使用運算指令,此時須使用滑鼠到變數指令中,將變數I拖曳到第一個空格內,然後在第二個空格內,填入100。須特別注意:,如果用鍵盤直接輸入I,程式將無法辨識此變數I。
完成後的迴圈指令、變數I及總和的計算程式如下圖
3.插入「顯示變數總和」指令,用以顯示變數總和的結果
4. 加上啟動程式指令,即完成。
請把此程式輸入scratch中,並運用功能表中之編輯 / 開始單步執行程式 / 積木閃動速度(慢),來逐一觀察迴圈執行與變數值的變化,如果想要早點看到最後結果,可將 I100的條件修改一下,如 I 5。
7-7-2
7-7-2
在 7-5 單元中,Scratch作品
原创力文档


文档评论(0)