對于整數加減乘除運算,煩惱出題、練習效果?
本文讓你輕松搞定——既可以随機出題,又可以有一定的交互性!
來看看效果吧:
選擇加、減、乘、除法——設置——做題。
範圍、總題數由你定
上圖是以減法為例:
當完成相應數量的題目後,再來一次——即開啟相同設置的專題訓練;又或是返回初始頁面,重新選擇。
“再來”【源文件獲取方式請見文末】
在設置上,加、減、乘法都一樣,這裡不再示範。
我們來看看除法的情形:
沒有餘數的除法
需留意的是:
有餘數的除法
出題器是用數學軟件GeoGebra制作,必須用GeoGebra打開嗎?
非也,還可以導出為網頁,再分享鍊接即可!
網頁版
以上即為出題器的說明,可以看到出題器極大地方便了口算練習——既可以進行專題針對訓練,又可以得到及時反饋。
那麼,這個出題器是怎麼制作的?如若清楚怎麼制作,不就可以制作出更滿足自己要求的出題器?
為了方便大家,文末将給出出題器的獲取方式。
我們先來看制作思路:
“随機”的相關指令有:區間随機數(RandomBetween)、随機元素(RandomElement)。
區間随機數( <最小整數>, <最大整數> )
随機元素( <列表> )
區間随機數得到一個在最小整數到最大整數之間的整數。
随機元素得到列表中的一個元素。
下面,開始制作!
初始頁面
希望初始頁面如下:
那麼,需先構造文本,指令如下:
并希望:點擊文本加法、減法、乘法、除法,即可選擇相應的運算。
于是,操作如下:
即:
注:賦值(SetValue)。
設置頁面
目标如下:
■ 第三、四行的第一個字是由所選運算決定。那麼,可以利用如果(if)指令來構造。于是:
注:公式文本(FormulaText)。
而後面的“由……到……”用輸入框即可。操作示範如下:
■ 也就是先輸入指令:
■ 再創建輸入框:
■ 創建複選框big,标題為:$\LARGE後面的數\textcolor{red}{不大于}前面的數$
■ 創建輸入框,關聯對象為n1=3,标題為請輸入題目數量:
現在,所顯示對象的顯示條件應為?
于是:
■ 在指令欄輸入:P=0
■ 文本text7,text8和五個輸入框的顯示條件為:s!=0&&P==0
■ 文本tex2的顯示條件為:P==0
■ 而複選框big的顯示條件為:s!=0&&P==0&&s!=4
操作如下:
■ 當選擇除法,即s為4時,無需顯示複選框big;而是顯示另一複選框——創建複選框Y,标題為$\LARGE\textcolor{red}{有餘數}的除法$,顯示條件為s== 4 && P==0。
■ 還需創建兩個按鈕:
注:設置标題(SetCaption)。
具體操作如下:
按鈕的顔色請自行設置
其中,按鈕button1的單擊時腳本設置标題(button2,"開始")、button2的單擊時腳本設置标題(button2,"下一題")怎麼理解?
做題頁面
目标如下:
假設a、b分别為運算符号前、後的數。那麼:
■ 于是:
d1 =如果(Y, 扁平列表(序列(條件子列(b1 ≤商式(k, k') ≤ b2 && 餘式(k, k') != 0, k, 序列(a1 b1, a2 b2)), k', a1, a2)), 扁平列表(序列(序列(u*v, u, a1, a2), v, b1, b2)))
a = 如果(s == 4, 随機元素(d1), 區間随機數(a1, a2))
d2 = 條件子列(如果(Y, 餘式(a, k) != 0, 餘式(a, k) == 0) && b1 ≤ 商式(a, k) ≤ b2, k, 序列(a1, a2))
b = 如果(s == 4, 随機元素(d2), 區間随機數(b1, 如果(big, a, b2)))
注:扁平列表(Flatten)、序列(Sequence)、條件子列(KeepIf)、餘式(Mod)、商式(Div)。
其中,d1、d2怎麼理解?
● 先看d2怎麼理解:
● 而d1可拆為兩大部分:
當Y為假時:
當Y為真時:
■ 而題目的形式為a b=;若b為負數,則形式為a (b)=(運算符号還可以是-,×,÷),于是:
text9 = 公式文本(a 如果(s == 1, " ", s == 2, "-", s == 3, "×", "÷") 如果(b < 0, "(" b ")", "" b "") "=")
至于答案,用輸入框即可。
■ 于是,可輸入指令:
請自行将上述對象隐藏
■ 并創建兩個輸入框:
其中一個關聯對象為c,标題為請輸入答案:
另一個關聯對象為c1,标題為……
■ 至于已出題目數、答錯題數需要計算,則可引入n、m來分别計數:
n = 0
m = 0
■ 于是,在輸入框InputBox6的單擊時腳本輸入:
如果(c!=T,賦值(m,m 1))
■ 在InputBox7的單擊時腳本輸入:
如果((c==T) && (c1!=T1), 賦值(m,m 1))
■ 至于判斷所輸入答案正确與否,即為:
text10 = 如果(Y && c == T && c1 == T1, "回答正确!", (!Y) && c == T, "回答正确!", Y && (c != T || c1 != T1), "正确答案:" T "……" T1, (!Y) && c != T, "正确答案:" T)
所輸答案錯誤時,則顯示正确答案
■ 并且,需要輸完答案,才能顯示出來。故,text10的顯示條件為:
(Y&&c!=""&&c1!="") || (!Y&&c!="")
同樣分為有沒有餘數兩種情況
■ 還需統計答題情況,于是:
text11 = 公式文本("共\textcolor{red}{" n "}道題,答錯\textcolor{red}{" m "}道,正确率:\ \textcolor{red}{" ((n - m) / n * 100) "%}")
■ 另外,需實現點擊“下一題”按鈕時,即可重新出題。于是,在button2的單擊時腳本輸入:
c=""
c1=""
更新作圖()
賦值(n,n 1)
注:更新作圖(UpdateConstruction)。
■ 而“初始化”按鈕要保證單擊時,都歸于原位。于是,在button1的單擊時腳本輸入:
賦值(n,0)
賦值(m,0)
c=""
c1=""
那麼,現在所顯示對象的顯示條件應為?
于是:
■ text9、text11、輸入框InputBox5的顯示條件為:P == 1 && n != n1 1
■ 輸入框InputBox6的顯示條件為:Y&&P == 1&& n!= n1 1
■ 按鈕button1的顯示條件為:s != 0 && n != n1 1
■ 按鈕button2的顯示條件為:如果(0<n<n1 1,(Y&&c!=""&&c1!="") || (!Y&&c!=""),s != 0 && n != n1 1)
結束頁面
目标如下:
■ 結束語即為:
text12 = 公式文本("已完成" n1 "道題,正确率:\ \textcolor{red}{" ((n - 1 - m) / (n - 1) * 100) "%}")
■ 創建按鈕button3,單擊時腳本為:
賦值(n,1)
賦值(m,0)
也就是其他設置不變,而出題目數n為1,即可重新出題;至于答錯題數m自然應為0。
■ 而button3的标題中的數字是由n1決定的。于是,在輸入框InputBox5的單擊時腳本輸入:
設置标題(button3,"$再來" n1 "道$")
因為此輸入框是改變n1值的關鍵
■ 創建按鈕button4,标題為:$返回主頁$,單擊時腳本為:
運行單擊腳本(button1)
也就是點擊此按鈕,相當于點擊“初始化”按鈕。
注:運行單擊腳本(RunClickScript)。
■ 另外,這些對象都是是在n等于n1 1的時候才顯示。于是,設置文本text12、按鈕button3、button4的顯示條件:
n==n1 1
大功告成至此,就完成了出題器的制作!還可以舉一反三,制作出其他出題器。
另外,此出題器的獲取方式為:轉發并評論本文。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!