Scratch編程6:如何處理重複發生的事情——循環結構

2020-12-20 和小po一起學編程

這篇我們來探討編程裡很重要的一個結構:循環結構。我之前的文章《少兒編程:程序的順訊結構、分支結構和循環結構》裡介紹過循環結構,循環結構就是重複做一件事情,比如說小朋友每天早上都要去上學,我們每天都要吃早、中、晚三頓飯等等。

循環結構

像這種重複要做的指令,我們編程時沒有必要做幾遍就寫幾遍,這樣會讓代碼變的特別特別長,可讀性也不高。所以任何一種程式語言都提供了循環模塊來重複執行代碼。Scratch也一樣,也提供了循環積木塊(圖1),來重複執行同樣的動作。循環積木塊在「控制」類別中。

圖1:Scratch循環積木塊

循環積木塊可以不設置循環次數,也就是無限循環循環積木塊也可以規定循環的次數,即有限循環。Scratch默認是10次,小朋友們可以根據需要自己修改;重複執行的動作嵌在循環木塊裡就可以了。;循環積木塊裡可以再套循環積木塊。【練習】

使用循環積木塊修改河豚魚轉圈的代碼。

1)分析任務要求

任務內容:河豚魚通過4次調整角度完成轉一圈這個任務

使用的主要技能:使用循環積木塊(圖2),設置重複執行次數為4

圖2:使用的循環積木塊

2)設計程序流程

第一步:河豚魚離開朋友

第二步:河豚魚向右轉90度

第三步:河豚魚再向下轉90度

第四步:河豚魚再向左轉90度

第五步:河豚魚再向上轉90度

3)Scratch編程實現

第一步:打開文件

打開《Scratch編程5:Scratch角色怎麼變化方向》文章裡練習的程序。

第二步:編程實現

注意:如果河豚魚不是當前操作角色,即如果角色區的河豚魚沒有藍框,就點擊角色區中的河豚魚,將河豚魚置為當前操作角色。或者在代碼去右上角,如果有河豚魚的圖片,那也說明河豚魚為當前操作對象,如圖3。

圖3:

圖4是之前未用循環體寫的代碼,我們將紅框內的代碼刪掉,改成圖5紅框內的代碼。

圖4:之前未用循環體寫的代碼
圖5:使用循環積木塊的代碼

圖5使用了循環積木塊,由於河豚魚調整了4次方向,所以「重複執行」設置為4次。循環積木塊裡是需要重複執行4次的動作:等待0.5秒,和向右轉90度。

4)保存程序

最後,代碼寫好了,大家千萬不要忘記保存程序。

注意:這裡我要提一下,筆者小孩在做調整角度的練習時,第一次把角度設成360度。他想的是轉360度,正好一圈。但實際運行發覺河豚魚沒轉圈,其實河豚魚不是沒轉,而是太快,我們感覺不到。然後我告訴他把360度分解,多轉幾次就可以了。

好了,這次的練習就到這了。改成循環結構後,點擊運行圖標,河豚魚完成的動作和未用循環體是一樣的(圖6)。

圖6:程序運行結果

可以發現,使用循環積木塊後,代碼不僅變少了,邏輯也清晰了,而完成的任務卻是一樣的。循環控制結構是編程中非常重要,也是非常常用的一種結構。小朋友們後面會經常用到的。

下一篇我將會和大家探討Scratch的角色如何說話。

原創不易,請勿抄襲。歡迎大家和我多交流,謝謝。

相關焦點

  • Scratch3.0編程基礎課程10:循環——把重複的工作交給計算機
    我們首先想到的是:前進10步——說你好——前進10步——說你好……重複進行10次。雖然這樣也可以實現目標,但它並不是最好的辦法。如果重複100次呢?如果讓每次變成前進11步呢?很顯然,編程過程會十分繁瑣,容易出錯,並且修改比較困難(要將每一次前進的步數進行修改)。
  • 青少年學習scratch程式語言系列——和小貓一起做運動
    前面我們分析了scratch軟體的基礎功能模塊,如果能完成上文中的案例任務:繪製五彩斑斕的線條,記錄小貓的足跡。說明讀者朋友對編程環境已經有了基本的認識。如果聽過或看過文中作者關於C語言的視頻,或者自己有一定程序基礎,想必也知道在scratch語言中也有三大程序設計結構:順序、條件和循環結構。
  • Python編程8:循環結構之for循環
    Python提供了循環語句來反覆執行一段代碼。循環結構一般重複語句主要有兩種類型的循環:1)重複一定次數的循環,這個稱謂計數循環。比如列印1到99之間所有的整數,就是重複99次執行print( )指令。2)重複直至發生某種情況時結束的循環,成為條件循環。也就是說只有條件為True,循環才會一直持續下去。
  • 少兒編程推薦-Scratch 2
    Scratch可以通過有趣形象的圖形方式潛移默化的培養少兒的編程思維,比如條件語句,循環語句,判斷等。安裝你可以在Scratch的官網免費下載安裝程序:https://scratch.mit.edu/download安裝過程分為三步:先下載安裝AIR,再下載安裝Scratch離線版本,最後一步可選,是一些幫助文檔和資源使用安裝完成後,執行scratch,首先我們需要設置程序語言,默認為英文,可以點擊上方的地球圖標設置為簡體中文
  • Scratch編程10:Scratch積木塊你都了解了嗎
    少兒編程:Scratch編程前面幾篇我們通過《河豚魚找朋友》這個動畫,熟悉了Scratch的編程方式,了解了Scratch角色、場景以及對角色的部分操作,比如移動、轉向,還學習了坐標、循環、事件這些很重要的技能。
  • Scratch編程14:荒山變森林——小樹長大了之循環結構的使用
    少兒編程:Scratch編程前面幾篇我們已經在Scratach中實現了在荒山上種小樹苗了,即可以隨機選擇植物種類,還可以對種樹的位置做出判斷。小樹種下後,開始長大,那麼Scratch中如何實現小樹苗慢慢長大呢?
  • 程式語言第一JAVA:程序邏輯中的循環結構
    在上一篇文章中提到了程序邏輯通過順序、分支、循環三種結構來實現的,並介紹了分支結構的執行語句,那麼今天這篇文章介紹實現程序邏輯的另一種結構——循環結構。網絡圖片侵權必刪什麼是循環結構循環結構是指在程序設計語言中按照一定條件反覆執行某些代碼的一種計算機處理過程,是一組相同或相似語句被有規律的重複執行的過程。
  • LabVIEW編程基礎:以實例學編程之循環結構
    LabVIEW編程基礎:以實例學編程之順序結構)中分別講了順序結構與條件結構的編程方法,下面通過具體例子演示循環結構的編程使用方法。擴展示例2:如何在循環執行的過程中退出循環在上例的基礎上思考下面的問題,在計算1-10之間所有整數和的過程中,要求當數值加到5時就退出循環,即只計算1-5之間所有整數的和,在循環中如何實現?實際上這類似於C語言中的break語句的功能實現。先看下for循環中的實現方法。
  • 少兒編程體系之scratch的介紹
    大家都知道,編程是用英語來完成的,如果讓學生在沒有學過英語的情況下進行程序代碼的編寫,恐怕比較困難。另外,低年級的學生的邏輯思維能力可能還是比較有待提高,而且他們的專注力並不是很好。所以,如果一開始就教6到9歲的孩子編寫代碼,那麼效果可能不會很好,他們也會比較排斥,因為代碼的編寫是比較枯燥和無聊的事情。
  • 零基礎的孩子如何學習Scratch圖形化編程?
    隨著網際網路行業的發展,零基礎學編程成為了越來越多人的選擇,在美國,編程已進入幼兒園和中小學課堂,是備受歡迎的課程之一。 在英國,編程被列入國家教學大綱,成為6~15歲孩子的必修課。 在芬蘭,編程理念融入了小學的各門課程,孩子們可以隨時隨地學編程。
  • 編程視角|少兒scratch編程教育對成長價值的意義!
    為了彌補未來智能化的時代的人才空缺,今天我們一起簡單聊一聊少兒編程教育-少兒scratch編程教育對成長價值的意義!下面我們進入正題:scratch程式語言是青少年編程課程中的一部分,scratch編程也是在少兒編程教育中最佳的優先學習課程。
  • Scratch射擊遊戲教案
    會編寫控制角色的編程直角坐標的原理及在編程中的應用認識:循環結構(looping structure)建立有關滑鼠的編程(跟滑鼠移動,滑鼠左鍵按下的程式)(巫師)建立轉換造型的程式(巫師)設立循環結構(looping structure)的程式(子彈)時間:
  • 和果果一起學編程 如何使用少兒編程圖形化工具Scratch3?
    Scratch3是麻省理工學院(MIT)推出的一款少兒圖形化編程工具,到目前為止是beta測試版,正式版將在2019年推出。如何在線使用Scratch3?(1)在瀏覽器中輸入"https://scratch.mit.edu/",進入scratch官方網站。
  • 如何讓程式語言 Python 自己重複運行進程?
    有些時候,我們需要進行一些事件的重複,但正如常識一樣,重複的過程是枯燥的,無聊的。現實世界中的事物有自己具象的顏色,形狀,不過一旦重複這些事物,一樣不可避免的會感到無聊。現實世界尚且如此,程式語言中重複的進程就更不用說了。
  • 少兒編程系列-Scratch初級教程:第一課-Scratch初接觸
    前言:在投身目前所在的公司之前,就一直在用Scratch給自己的孩子教編程,少兒編程重點是在為孩子提供一種學習方法,編程能夠讓孩子從小學習像科學家一樣思考該如何解決問題,在複雜環境和複雜問題下運用編程的計算思維可以指導孩子更好地解決問題。學習編程因為這不僅是培養孩子的一種技能,還是培養孩子認識問題和解決問題的思維方式,對孩子常規學習語數外也會有所幫助。
  • 少兒Python編程培訓手冊系列之——循環結構梳理
    循環,就是重複的做事情。Python中有while和for循環兩種結構,這也是本文的核心重點。01while循環類似於if條件結構,在循環條件後面必須添加一個冒號(:),特別強調。一般在不確定循環次數的情況下使用while循環結構。比如下面的案例:擲骰子當n的值為6時,就跳出while循環結構。
  • scratch少兒編程越來越火,要不要讓孩子學?
    自2015年始,scratch少兒編程」的熱潮由國外蔓延到國內, scratch少兒編程 市場勃然興起。目前編程教育存在兩種主流模式:一種是英美等國模式,把編程當作單獨的學科來進行教育教學;另一種是芬蘭、新加坡等國模式,以學科融合的方式進行編程教育。
  • scratch少兒趣味編程的好處
    程式語言發展,順應時代發展變化也是未來科技發展的需求,其中scratch趣味編程100例是編程學習主要內容,也是幫助孩子打開編程世界大門的鑰匙,對於孩子而言十分重要。下面就來說說少兒scratch趣味編程100例的好處吧!
  • scratch圖形化的少兒編程很簡單?少兒編程老師表示不服
    scratch少兒編程界面圖形化的少兒編程很簡單?我只能說你很無知,任何簡單的背後都是你無法想像的複雜。1. scratch軟體開發的技術:Scratch是麻省理工學院的「終身幼兒園團隊」開發的圖形化編程工具,採用了HTML5來編寫,HTML5是最新的HTML、CSS和JavaScript的總和,Scratch 3.0首先將會使用WebGL、Web Workers和 Web Audio Javascript libraries。
  • 【編程入門】Scratch結構化程序設計
    共有三種基本結構,下面我們結合cratch編程工具,講解一下這三種結構。順序結構 Sequence順序結構是最簡單的程序結構,也是最常用的程序結構,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。