S4E06隨機(jī)出練習(xí),口算不再是難題!
在前面幾期學(xué)習(xí)中我們知道了GGB 能夠很好地展示圖形變化的效果,隨著上節(jié)課的“隨機(jī)模擬實(shí)驗(yàn)”的教程中,我們又發(fā)現(xiàn)了一個(gè)新技能“區(qū)間隨機(jī)數(shù)”,GGB可以隨機(jī)出數(shù)。等一下,這個(gè)好像就可以用于出計(jì)算的題目了,只要我們設(shè)定數(shù)字的范圍就可以隨機(jī)出題啦~同學(xué)們,你們又有“大量”的數(shù)學(xué)題可以用于練習(xí)口算了,老師們也可以根據(jù)一些教學(xué)的目標(biāo),隨機(jī)出幾道課堂小測了。今天我們以“平方練習(xí)”為例,看看這樣的小課件改如何制作。
已經(jīng)學(xué)習(xí)過“區(qū)間隨機(jī)數(shù)”的同學(xué)們,可以試著自己先嘗試做一做,小編試了兩個(gè)小時(shí),大功告成的那一刻就迫不及待的來和大家分享啦~
效果圖如下:

今天這節(jié)課,你將收獲:
1. 如何創(chuàng)建一個(gè)隨機(jī)出現(xiàn)的數(shù);
2. 計(jì)算機(jī)如何批閱答案。
首先我們來拆解問題,首先需要隨出題;其次,有了題目后,外部需要輸入答案,計(jì)算盤判斷正誤;計(jì)算機(jī)判斷完正誤后,給出判斷結(jié)果并展示結(jié)果;如果換一個(gè)人重新做題的話,展示的結(jié)果重新開始計(jì)算。
01 隨機(jī)出題
A. 產(chǎn)生一個(gè)隨機(jī)數(shù)
隨機(jī)出題的關(guān)鍵就在于【隨機(jī)】,只要我們能產(chǎn)生一個(gè)“隨機(jī)的數(shù)”那么就迎刃而解了。
RandomBetween( <Minimum Integer>, <Maximum Integer> )【區(qū)間隨機(jī)數(shù)(最小值,最大值)】
如果我們想最小值和最大值都可以進(jìn)行調(diào)節(jié),我們該如何設(shè)置呢?
1. 定義最小值和最大值的范圍【如何確保最大值的范圍大于最小值呢?答案見①】
2. 定義一個(gè)區(qū)間隨機(jī)數(shù)n
3. 顯示題目
4. 隨機(jī)數(shù)我們已經(jīng)產(chǎn)生出來了,是n,那么怎么顯示出來呢?可以使用【文本功能】-在高級中就可以把動(dòng)態(tài)變化的n展示出來。平方我們用^2來表示。【操作見答案②】
5. 美化一下【你知道怎么美化滑動(dòng)條嗎?答案見③】
效果圖如下:

B. 出題按鈕
上面的效果中,只有我們拖動(dòng)一次滑動(dòng)條,才會(huì)產(chǎn)生一個(gè)隨機(jī)數(shù),這樣很麻煩,所以,我們可以新建一個(gè)“開關(guān)”,只要我們點(diǎn)擊,就會(huì)產(chǎn)生一個(gè)隨機(jī)數(shù),那么這個(gè)開關(guān)就可以通過【按鈕】來實(shí)現(xiàn)。
我們通過給按鈕書寫一個(gè)動(dòng)作(產(chǎn)生隨機(jī)數(shù)n),那么只要我們按一次,就會(huì)有一個(gè)隨機(jī)數(shù)。新建一個(gè)按鈕吧~
你可以自己自己編輯這個(gè)按鈕嗎?【答案見④】
效果如下:

或者可以給n賦值,n的取值是在a和b之間的一個(gè)區(qū)間隨機(jī)數(shù)。
SetValue( <Object>, <Object> )【賦值(被賦值的數(shù),賦予的數(shù))】
你可以寫出指令嗎?【答案見⑤】
02 驗(yàn)證答案
如何驗(yàn)證答案呢?首先需要輸入一個(gè)答案,然后系統(tǒng)有一個(gè)正確答案,二者進(jìn)行匹配,正確的話就正確的數(shù)量+1,反之錯(cuò)誤的數(shù)量+1。你可以先嘗試著自己做一下嗎?
A. 設(shè)置正確答案
我們可以再設(shè)置一個(gè)參數(shù)為正確答案,命名為ans。【答案見⑥】
B. 輸入答案
?輸入的話就需要一個(gè)輸入框,我們把輸入框里面的數(shù)字設(shè)置為input,二者進(jìn)行關(guān)聯(lián)。也就是我們輸入的數(shù)字就是input的值。【答案見⑦】
效果如下:

C.進(jìn)行二者的匹配?
我們發(fā)現(xiàn),經(jīng)過關(guān)聯(lián),我們輸入的數(shù)字就是input的值。那么如何判斷呢?我們可以設(shè)置,如果答案正確,我們可以讓畫面顯示正確。那么也就是,當(dāng)我們在input中輸入完之后,就可以進(jìn)行判斷,如果正確了,我們可以讓正確的數(shù)量+1。那么我們就先需要建立一個(gè)right的參數(shù),然后給right賦值。
這里需要有一個(gè)判斷,就是input是否等于right,我們可以使用If來判斷。
If( <Condition>, <Then>, <Else> )【如果(條件,結(jié)果,否則的話結(jié)果是)】
你可以再給input這個(gè)輸入框建立一個(gè)需要執(zhí)行的腳本嗎?當(dāng)然了,首先你需要先建立一個(gè)參數(shù)right,并且ta是從0開始的。【答案見⑧】
效果如下:

D. 美化一下吧~
比如我們可以讓input不出現(xiàn),輸入框的顏色做一些調(diào)整,依舊是在老地方修改。
03 顯示結(jié)果
A.?設(shè)置錯(cuò)誤數(shù)和正確率
上面我們已經(jīng)可以判斷輸入的結(jié)果是否正確,并且正確就right+1。你可以自己寫計(jì)算錯(cuò)誤數(shù)嗎?以及正確率?【答案見⑨】
tips:不等于用!=來表示
B.?顯示正確數(shù),錯(cuò)誤數(shù)和正確率
顯示這幾個(gè)數(shù)的結(jié)果同上A3 顯示題目操作。(注意:需要輸入正確率的計(jì)算公式)【答案見⑩】
效果如下:

在初始值時(shí),right+wrong的和為0,所以我們可以給right規(guī)定如果和為零時(shí),正確率為0即可,詳細(xì)操作見視頻。
C. 重置
如果我們不需要重新計(jì)數(shù),那么正確和錯(cuò)誤的個(gè)數(shù)都要?dú)w為零,那么我們可以通過一個(gè)按鈕來實(shí)現(xiàn)。也就是當(dāng)我們點(diǎn)擊按鈕時(shí),正確和錯(cuò)誤數(shù)都變?yōu)?,也是給二者賦值為0。【答案見⑩①】
效果如下:

你還可以怎么優(yōu)化呢?
1. 每次都需要點(diǎn)擊出題,能否在一到題做完之后就出下一題呢?
2. 能否直接用“√”和“×”來進(jìn)行批改呢?
3. ……
小編期待大家的作品!
答案區(qū)
①
設(shè)置最大值的范圍的最小值為最小值+1(能讀懂算你厲害)文字表達(dá)可能比較清楚,比如設(shè)置最小值的范圍為1至20;最大值的范圍為a+1至30.
②

③
美化都在【設(shè)置】里面
④

⑤
賦值(n,RandomBetween(a,b))
⑥
ans=n^2
⑦
設(shè)置滑動(dòng)條 input=0-1000
新建輸入框,和input進(jìn)行關(guān)聯(lián)
⑧
設(shè)置滑動(dòng)條right 從0-20
設(shè)置輸入框執(zhí)行的腳本:賦值(right,如果(input==ans,right+1,right))
⑨
設(shè)置滑動(dòng)條wrong
設(shè)置輸入框執(zhí)行的腳本:賦值(wrong,如果(inpu!t=ans,wrong+1,wrong))
⑩
per=right/(right+wrong)
⑩①
賦值(right,0)
賦值(wrong,0)
參考資料
【GGB】https://www.geogebra.org/classic/ryysyrzh
【Bili】https://www.bilibili.com/video/av57899259/