資訊內(nèi)容
第9課 隨機探秘——數(shù)據(jù)的導(dǎo)出和分析
第9課 隨機探秘——數(shù)據(jù)的導(dǎo)出和分析
任務(wù)導(dǎo)航
色子恐怕是生活中最常見的隨機現(xiàn)象了,本課,我們使用Scratch編寫一個模擬投擲色子過程的小程序,讓小貓說出色子上當前的點數(shù),如圖9.1所示。通過多次模擬投擲色子的過程,獲取數(shù)據(jù),然后借助Excel來統(tǒng)計色子上每個點數(shù)出現(xiàn)的數(shù)目,研究隨機現(xiàn)象的規(guī)律,如圖9.2所示。
圖9.1 小貓說出色子的點數(shù)
圖9.2 數(shù)據(jù)匯總的結(jié)果(投擲300次)
任務(wù)分析
用可以讓一個角色說一個1到6之間隨機的整數(shù),來模擬投擲色子的過程。可以使用圖9.3的代碼讓小貓說出當前的點數(shù)。
圖9.3 模擬擲色子的過程
程序的核心是隨機數(shù),雖然我們在前面多次使用過隨機數(shù),但是我們從來沒有系統(tǒng)地研究過隨機數(shù)這個重要的代碼,比如取500個1到6的隨機數(shù),每個整數(shù)的數(shù)目是不是都是50個?
想一想
這是一個將程序作為研究工具的實驗,首先要回答以下兩個問題。
(1)研究的問題:你研究的問題是什么?對問題的答案你有什么猜想?
(2)使用的工具:你準備如何研究這個問題?要獲取多少組數(shù)據(jù)?如何存儲這些數(shù)據(jù)?你打算如何分析這些數(shù)據(jù)?
Follow Me
1. 獲取數(shù)據(jù)
獲取多組數(shù)據(jù)常常需要使用鏈表來存儲數(shù)據(jù),如圖9.4所示。
圖9.4 用鏈表結(jié)果來存儲隨機數(shù) |
按空格300次不難獲得300個隨機數(shù),那么,怎么知道其中有多少個1呢?
2. 統(tǒng)計色子上每個點數(shù)出現(xiàn)的次數(shù)
統(tǒng)計色子上每個點數(shù)出現(xiàn)的次數(shù)可以采用很多種思路,如可以編一個程序來記錄1到6個數(shù)據(jù)各出現(xiàn)多少次;或者使用數(shù)據(jù)處理軟件,輔助完成統(tǒng)計的工作。
在科學(xué)研究中,雖然程序理論上可以解決所有的數(shù)據(jù)處理的問題,但是有時候限于現(xiàn)有的編程水平,或者追求更快的速度,常常需要結(jié)合應(yīng)用軟件來完成數(shù)據(jù)處理工作。接下來介紹用Excel的排序功能來統(tǒng)計1到6出現(xiàn)的次數(shù)。
第1步:在鏈表上右擊,選擇“輸出”,如圖9.5所示,在彈出的對話框中選擇合適的存儲位置,將鏈表數(shù)據(jù)輸出為txt文件。
圖9.5 輸出鏈表數(shù)據(jù)
第2步:將txt文件中的數(shù)據(jù)復(fù)制粘貼在Excel中,如圖9.6所示。
圖9.6 數(shù)據(jù)存儲從鏈表轉(zhuǎn)換到txt文件再到Excel中 |
第3步:將數(shù)據(jù)從小到大排列,如圖9.7所示。
注意:在排列之前,請復(fù)制所有數(shù)據(jù)在工作表中,Sheet1用于保留原始數(shù)據(jù)。
圖9.7 將數(shù)據(jù)升序排列 |
第4步:數(shù)出每個數(shù)字的個數(shù)
方法有很多,比如看左邊的編號,或者選中所有的數(shù)字2的單元格,然后在Excel右下角會顯示出當前單元格的數(shù)目,或者把所有編號為2的單元格剪切、粘貼在旁邊的那一列。最終將數(shù)據(jù)匯總到Sheet3中,如圖9.8所示。
圖9.8 數(shù)據(jù)匯總的結(jié)果
實驗的結(jié)果和你之前的猜想一致么?和你周圍的同學(xué)們比較一下,實驗的結(jié)果相同么?
DIY
可以通過改進代碼,使用重復(fù)執(zhí)行語句,增大數(shù)據(jù)量,讓計算機自動生成600個隨機數(shù),代碼如圖9.9所示。
圖9.9 用重復(fù)執(zhí)行語句生成600個隨機數(shù) |
想一想
1.你的猜想正確么?
2.是不是數(shù)據(jù)量越大,每個數(shù)字出現(xiàn)的數(shù)目占總數(shù)目的百分比就越接近?
3.為了獲得更多的數(shù)據(jù),能不能將其他同學(xué)的數(shù)據(jù)和自己的數(shù)據(jù)合并呢?
知識著陸
2. 設(shè)計:從獲取、分析數(shù)據(jù)的角度驗證猜想
3. 編程習(xí)慣:多種軟件共同使用提高效率
創(chuàng)作天地
1.有些同學(xué)提出繪制6個不同點數(shù)的篩子造型,用圖9.10的代碼來實現(xiàn)擲色子的效果,你也可以試一試。
圖9.10 用點數(shù)來模擬擲色子的過程 |
2.一位同學(xué)試圖改進圖9.10的代碼,卻出現(xiàn)了圖9.11的效果,你能幫他修改正確么?
圖9.11 造型點數(shù)和說的點數(shù)不一致 |
3.使用插入柱形圖按鈕,可以將選中的數(shù)據(jù)生成柱形圖,如圖9.12所示,你也可以試一試。
圖9.12用柱形圖來分析數(shù)據(jù) |
視野拓展
編程的英文programming有“按照順序作一件事”的意思,意思是說程序中任何代碼都會經(jīng)歷一段時間,就連循環(huán)也不例外,你可以試著做一個小實驗,按照圖9.13所示的代碼記錄100組循環(huán)時間求出每次循環(huán)所用的時間
圖9.13 循環(huán)100次所需要的時間研究
鏈表直接導(dǎo)出成Excel文件,更改擴展名txt為xls,實驗發(fā)現(xiàn)一個空循環(huán)100次所需要的時間大約是2.5秒,每次循環(huán)大約需要0.025秒,你可以研究一下這100組數(shù)據(jù)的最大值和最小值是多少,并思考影響循環(huán)時間的影響因素。
懂得了這個道理,就不難理解圖9.14所示的“秒表”程序為什么不能準確的計時了,事實上所有程序語言都有一個相對固定的循環(huán)時間,這是深入研究任何一門語言都要考慮的問題。
圖9.14秒表程序

- 上一篇
第8課 神圣一票—變量和數(shù)據(jù)可視化
第2單元 數(shù)字科學(xué)家 在數(shù)字科學(xué)家這個單元,我們會將Scratch作為一個研究工具來使用。本單眼的核心概念是“數(shù)據(jù)”,如何獲取數(shù)據(jù)、怎么存儲數(shù)據(jù)、用什么工具分析數(shù)據(jù)、數(shù)據(jù)呈現(xiàn)的穩(wěn)定的結(jié)論應(yīng)該如何表達。期望同學(xué)們能夠通過本章的學(xué)習(xí),掌握初步的科學(xué)研究方法。本章的
- 下一篇
第10課 統(tǒng)計集成——自動生成柱狀圖
第10課 統(tǒng)計集成——自動生成柱狀圖 任務(wù)導(dǎo)航在上一課中,我們研究了“從1到6間隨機選一個數(shù)”這個代碼,數(shù)據(jù)分析的環(huán)節(jié)是用Excel完成的,我們是否需要在Scratch中編寫一個軟件來完成數(shù)據(jù)的分析呢?這相當于編寫一個科學(xué)研究