王海峰 裴純禮
小學低年級數(shù)學教學中,教師和學生常需分別編寫和進行大量的四則運算練習。傳統(tǒng)的方法是使用練習卡片和百題測驗等,教師要花費大量的時間出題和判卷,學生則難于得到即時的反饋和修改。Excel軟件與小學數(shù)學的整合可以輕松解決上述弊端,既能幫助教師實現(xiàn)自動出題、判卷和評分,也能幫助學生根據(jù)各自需求反復練習,從而提高教學效率和效果。
基本任務描述——“四則運算”工作簿的三大功能
在Excel中設計適于小學低年級師生的“四則運算”工作簿,應具有下列三個功能。
自動命題功能
可實現(xiàn)無限次的自動隨機出題,包括參與運算的數(shù)字、運算符和等號;所有題目必須滿足一定的限制條件,如每次自動編出100(或20)以內(nèi)的正整數(shù)加減和乘除運算各10題,被減(除)數(shù)大于減(除)數(shù),除數(shù)不能為零和保證整除等;學生心算或筆算后輸入答案。
自動批改判分功能
可根據(jù)師生需求,自動批改學生所輸入的答案,自動給出對錯和最后得分;并允許學生對做錯題目的答案進行修改。
重復練習功能
可根據(jù)師生需求,自動清除已輸入的答案等,從而實現(xiàn)對同一組題目的重復練習。
任務解決思路——“四則運算”工作簿的基本設計思路
任何一位老師只要熟悉并能靈活應用Excel的基本函數(shù)、公式和宏,即使沒有學過編寫計算機程序,都可以輕松制作能實現(xiàn)上述功能的工作簿。設計的核心思想在于隨機數(shù)據(jù)的獲取及其傳遞過程,據(jù)此進行工作簿(工作表)結(jié)構(gòu)和功能的設計。
隨機數(shù)據(jù)獲取和傳遞的過程設計
首先,利用帶隨機函數(shù)RAND()的公式自動輸入100(或20)以內(nèi)的隨機整數(shù),利用條件IF函數(shù)根據(jù)參與運算數(shù)字的大小關系自動輸入運算符,以滿足100(或20)以內(nèi)正整數(shù)的加減運算和乘除運算各10題,被減(除)數(shù)大于減(除)數(shù)的限制條件。
其次,對原始數(shù)據(jù)進行處理,使其不再隨機變化,并完全滿足出題的限制條件。這一過程分為兩步完成:⑴用“復制/選擇性粘貼(數(shù)值)”命令將隨機的原始數(shù)據(jù)轉(zhuǎn)換為常量數(shù)據(jù);⑵利用公式修正獲取的常量數(shù)據(jù),使除法運算滿足除數(shù)不為零且能整除的要求。
最后,用“復制/選擇性粘貼(數(shù)值)”命令將處理好的數(shù)據(jù)轉(zhuǎn)換為四則運算練習題。
工作簿的結(jié)構(gòu)與功能設計
工作簿由“四則運算練習”和“隨機數(shù)據(jù)”兩個工作表組成。
“四則運算練習”工作表是師生的主操作界面,包括四個交互區(qū):“運算題目區(qū)”(顯示自動生成的四則運算題目)、“答案輸入?yún)^(qū)”(供學生輸入答案的區(qū)域)、“自動批改區(qū)與自動判分區(qū)”(顯示各題對錯情況及最終的得分)和“操作按鈕區(qū)”(提供三個操作按鈕,)如圖1所示。
“隨機數(shù)據(jù)”工作表的作用是獲取隨機數(shù)據(jù),并根據(jù)出題的限制條件對數(shù)據(jù)進行處理,包括三個數(shù)據(jù)區(qū):“原始數(shù)據(jù)”區(qū)(提供隨機產(chǎn)生的原始數(shù)據(jù)及運算符)、“中間數(shù)據(jù)1”區(qū)(填寫由原始數(shù)據(jù)轉(zhuǎn)換成的常量數(shù)據(jù),由于隨機函數(shù)在每次計算工作表時都將返回新的數(shù)值,因而需要凝固其數(shù)值)和“中間數(shù)據(jù)2”區(qū)(填寫對常量數(shù)據(jù)修正處理,以滿足四則運算要求的公式),如圖2所示。
工作表保護與指定單元格的鎖定
Excel工作表的默認設置為取消保護,其中各單元格默認處于鎖定狀態(tài),總的效果是無保護與鎖定。如把“四則運算練習”工作表設為保護狀態(tài),而其中要求學生輸入答案的區(qū)域設為解除鎖定狀態(tài),光標將只能在上述解除鎖定的區(qū)域內(nèi)移動,從而可以有效保護工作表中其他數(shù)據(jù)區(qū)的內(nèi)容不被誤修改(作者注:只對Excel 2002及其以上版本起作用);類似地可設置“隨機數(shù)據(jù)”工作表的保護及其全部單元格的鎖定,以有效保護該工作表中的全部數(shù)據(jù)。
任務完成要點
“四則運算”工作簿中的公式
“四則運算”工作簿中隨機整數(shù)和運算符的自動輸入、原始數(shù)據(jù)的處理修正、答案的對錯判斷、最終的判分等,都是靠靈活應用Excel函數(shù)和公式實現(xiàn)的。
1.“隨機數(shù)據(jù)”工作表中的公式(表1)。
“中間數(shù)據(jù)1”區(qū)內(nèi)的常量數(shù)據(jù)(提示:由復制“原始數(shù)據(jù)”區(qū),并選擇性粘貼<數(shù)值>到“中間數(shù)據(jù)1”區(qū)獲得)可能在除法運算中出現(xiàn)除數(shù)為零或不能整除的現(xiàn)象,因此,需要在“中間數(shù)據(jù)2”區(qū)中對相應數(shù)據(jù)進行修正。
2.“四則運算練習”工作表中的公式(表2)。
“四則運算”工作簿中的宏
宏是鍵盤與命令操作對應指令的集合,存儲于Visual Basic Application模塊中。在Excel中執(zhí)行“工具/宏/錄制新宏”命令,在彈出的對話框中輸入宏名,選擇快捷鍵,軟件包就會自動將用戶的操作組合錄制成宏,而不要求用戶必須具有VBA編程基礎。
本工作簿共錄制了三個宏,分別由批改判分、重復練習和重新命題三個功能的操作組合而成,并被分別指定給三個相應的窗體按鈕(“對了嗎?”、“再來一次”和“重新出題”),師生可在需要時單擊相應按鈕完成各自宏對應的任務。
1.自動命題的宏begin()(對應“重新出題”按鈕)。
該宏的基本操作順序是:取消“四則運算練習”工作表的保護;選擇并清除輸入的答案、自動批改的內(nèi)容和自動判分;取消“隨機數(shù)據(jù)”工作表的保護;將“原始數(shù)據(jù)”區(qū)運算題目“復制/選擇性粘貼(數(shù)值)”到“中間數(shù)據(jù)1”區(qū);將“中間數(shù)據(jù)2”區(qū)運算題目“復制/選擇性粘貼(數(shù)值)”到“四則運算練習”工作表的運算題目區(qū);分別保護“四則運算練習”和“隨機數(shù)據(jù)”工作表。
2.自動批改判分的宏judge()(對應“對了嗎”按鈕)。
該宏的基本操作順序是:取消“四則運算練習”工作表的保護;輸入自動批改和判分的公式;保護“四則運算練習”工作表。
3.重復練習的宏repeat()(對應“再來一次”按鈕)。
該宏的基本操作順序是:取消“四則運算練習”工作表的保護;清除輸入的答案、自動批改的內(nèi)容和得分;保護“四則運算練習”工作表。
repeat()宏的源代碼如下:
Sub repeat()
' repeat Macro
Sheets("四則運算練習").Select'選中“四則運算練習”工作表
ActiveSheet.Unprotect'取消“四則運算練習”工作表的保護
Range("O2,F4:G13,M4:N13").Select'選擇自動判分和兩個自動批改區(qū)
Range("M4").Activate'當前單元格
Selection.ClearContents'清除內(nèi)容
Range("F4").Select'選擇F4單元格
ActiveSheet.protect DrawingObjects:=True, Contents:=True, Scenarios:=True'保護“四則運算練習”工作表
ActiveSheet.EnableSelection = xlUnlockedCells'選中未鎖定單元格復選框
End Sub
討論與總結(jié)
公式的表示
本工作簿中的許多公式可以有多種表示方法,建議讀者先按自己的邏輯思路輸入公式,再與他人交流,以打開自己的思路。下面給出幾個采用AND函數(shù)的公式表示方法:
J13:=IF(AND(G13="÷",H13<>0),INT(F13/H13)*H13,F13)
L13:=IF(AND(G13="÷",H13=0),1,H13)
G4:=IF(F4="","",IF(AND(C4="+",B4+D4=F4),"對",IF(AND(C4="-",B4-D4=F4),"對",IF(AND(C4="×",B4*D4=F4),"對",IF(AND(C4="÷",B4/D4=F4),"對","錯")))))
宏的錄制與學習
在宏的錄制過程中,操作者的每一個操作動作都將被宏記錄器所錄制,為了使宏簡捷、實用,操作一定要精煉、準確。初學者可對比操作步驟與宏的源代碼熟悉和學習宏的語句。
教育教學的深入應用
建議有興趣的讀者設計保留學生每次答題、批改與評分結(jié)果的宏,以供教師進行教學分析用。