第八次:陣列程式設計實作(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.點檔案中心.點自己的號碼.按右鍵/上傳
運算思維大挑戰