第八次:陣列程式設計實作(4)


陣列程式設計實作-隨機世界真美麗

教學影片2

隨機數(亂數)

隨機數(亂數)的生活應用

大樂透彩卷抽獎的程式.製作遊戲角色隨機移動等.

Scratch隨機數範例

 

 

牛刀小試

 


實作1:隨機選取10個十以內的數放進清單,但不能重複

程式執行結果

*得到不重複的結果的機率是很低的(對於10萬個數字來說,機率大約為1/2755)

系統需求:

隨機抽取10個十以內的數.放入清單 (重複選數10次,放進清單中的數可能會有重複)

演算法分析:

1.先建立1個清單-選選.

2.刪除選選所有項目

3.建立1個變數命名為「中獎

4. 重複執行到清單的長度=10

5.變數「中獎」設定為隨機抽取1-10之間的數

6.添加變數「中獎」選選清單

參考積木

程式執行結果(清單內出現重複的數)

 

思考問題:如何解決清單內重複的數?(題目要求:隨機選取10個十以內的數放進清單,但不能重複)

提示:

假如抽出來的數(中獎)已經出現在清單過(清單選選包含中獎這個變數),就什麼也不做或將其刪除.否則就將中獎變數新增到選選的清單中

思考問題:還有其他方法嗎?

https://www.kidscoding8.com/49057.html


變數和清單之比較與程式應用規劃

教學影片

Scratch變數和清單比較表

程式定義
資料筆數
資料型態
資料操作
資料保存
變數(variable)
存放會改變的資料
一個變數只能存一筆資料
數字、字串 ,一個變數中僅能存放其中一種
對資料能指派(賦值)、修改
修改後原始的資料將被覆蓋

清單(list)

存放同性資的資料,資料可以改變
一個清單中能存多筆資料
數字、字串,一個清單中能同時存放
對資料能增加、刪除、插入、查詢等應用
依使用的資料操作指令決定資料是否保留

Scratch變數和清單的規劃應用

Q:下面2個程式設計需求,你會選擇用變數或清單來設計?

程式1:設計一個遊戲程式,打到指定角色得到1分,遊戲結束看到總分的應用。

程式2:設計一1000個學生成績單程式,用來將記錄國文、英文、數學、自然、社會的考試成績,輸入完成後可以計算各科分數的總分平均......應用。

A:

程式1需求分析:

存放得到分數的功能 -> 只需一筆資料

每次得到分數就會累積增加 -> 表示資料是可以改變

選擇使用「變數來設計

程式2需求分析

存放國文、英文、數學 -> 共需三筆資料

各科分數輸入完成後 -> 可以進行查詢成績

記錄多筆同性質的資料 -> 都是存放成績分數

選擇使用「清單」來設計


作業上傳到雲端

1.登入雲端作業繳交網.輸入帳密

2.點檔案中心.點自己的號碼.按右鍵/上傳

運算思維大挑戰