第八次:陣列程式設計實作(4)
陣列程式設計實作-隨機世界真美麗
教學影片
隨機數(亂數)
隨機數(亂數)的生活應用
大樂透彩卷抽獎的程式.製作遊戲角色隨機移動等.
Scratch隨機數範例
牛刀小試
*得到不重複的結果的機率是很低的(對於10萬個數字來說,機率大約為1/2755)
實作1:不重覆隨機取陣列值(隨機選取10個十以內的數放進清單,但不能重複)
程式執行結果
提示1:隨機重複的數
演算法分析1
1.建立清單-選選
2.初始化設定:點綠旗後先清空清單項目(刪除選選清單所有項目)
3.重複10次
4.添加隨機取數1到10到選選清單
程式執行結果
提示2:隨機不重複的數
要解決這個問題,第一種方法,就是在加入前,先判斷這個清單裡面是否有這個數字,沒有就加入,直到裡面填滿10個數,因為不相同,所以也就是1-10範圍內的隨機且不同的10個數了。此外要建一個temp的變數,為了判斷是否存在這個值,需要先將這個隨機值保存下來。演算法分析2
1.建立「temp」變數
2.變數「temp」設定為隨機取數1到10
3.判斷式:如果抽出來的數(TEMP變數)沒有出現在選選清單內(清單選選包含temp變數?不成立),那麼就新增到選選的清單中(添加temp變數到選選清單). 重複執行直到清單的項目數有10個為止(重複直到選選清單的長度=10).停止程式
程式執行結果
檔案存為108****-4scratch專案.sb3
思考問題:還有其他解決的方法嗎?
檔案存為108****-4+scratch專案.sb3
參考網站
http://sfs.tw/content/index/14724
https://cyc-channel.gitbook.io/scratch/de-shi-jie-zhen-mei
https://cloud.tencent.com/developer/article/1627567
http://hotdogandhomework.blogspot.com/2020/
作業上傳到雲端
1.登入雲端作業繳交網.輸入帳密
運算思維大挑戰