黄义成
【摘要】VBA生成乘法口诀,快速准确;自动指读,抓住学生眼球;动画显示,让古老的乘法口诀充满生机。
【关键词】 乘法口诀 VBA编程 指读功能
【中图分类号】G622 【文献标识码】A 【文章编号】2095-3089(2017)03-0116-02
信息技術与小学教学的深度融合是当今小学教学的热点,同时也是难点。因为小学老师是“万金油”,任务重,没有更多产时间来深研信息技术。我用VBA写了一个小学教学应用的例子,抛砖引玉,与同行们分享。
2011版《数学课程标准》明确指出:“能熟练地口算20以内的加减法和表内乘除法。”小学二年级要求熟练掌握乘法口诀。特别是“熟练”,对小学生来说,是个艰巨的任务。要熟练掌握乘法口诀,读背是不可少的环节,快读快背就是不二法宝。
编写以下代码快速生成乘法口诀,同时实现指读功能。打开excel,按“ALT+F11”打开VBA编辑器,插入“模块”,复制代码。运行“乘法口诀”过程即可生成标准的乘法口诀。运行“指读”过程,就按照您给出的速度进行自动指读,实现教学的自动化。
Public Declare Sub Sleep Lib "kernel32" (ByVal d&)API函数sleep的声明
Public x As Byte, y As Byte,s, n&定义公有变量
Sub 指读()
n = InputBox(“请输入毫秒数”, “口诀指读器”,“1000”)
For y = 1 To 9: For x = y To 9用API函数sleep达到调速指读的效果
Cells(x, y).Select: Sleep n: DoEvents
Next: Next: End Sub
Sub 乘法口诀()
s = Split(“一,二,三,四,五,六,七,八,九”, “,”)用数组s存放中文数字
For y = 1 To 9: For x = y To 9
If x * y < 10 Thenif函数控制汉语乘法口诀的准确生成
Cells(x, y).Value = s(y - 1) & s(x - 1) & “得” & s(x * y - 1)
ElseIf x * y Mod 10 = 0 Then
Cells(x, y).Value = s(y - 1) & s(x - 1) & s(Int(x * y / 10) - 1) & "十"
ElseIf x * y > 10 And x * y < 20 Then
Cells(x, y).Value = s(y - 1) & s(x - 1) & "十" & s((x * y Mod 10) - 1)
Else
Cells(x, y).Value = s(y - 1) & s(x - 1) & s(Int(x * y / 10) - 1) & “十” & s((x * y Mod 10) - 1)
End If: Next: Next:End Sub
在指读的过程中,口诀字体放大效果用以下代码实现。在ThisWorkbook中,复制以下代码,添加“选择单元格”事件。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With Application.Cells
.RowHeight = 20: .ColumnWidth = 20: .FormatConditions.Delete: .Font.Size = 20
End With: With Target
.RowHeight = 65: .ColumnWidth = 57: .Font.Size = 60
With .FormatConditions
.Delete: .Add xlExpression, , True: .Item(1).Interior.ColorIndex = 33
End With: End With: End Sub
当指到那一句口诀,字体变大,底纹变色,动画般跳跃,牢牢抓住学生的眼球。用VBA还能编程写出很多在教学上有用的程序,比如随机出题,给出正确答案。 “信息技术+”大有可为,让我们一起努力吧!
参考文献:
[1]《office VBA从新手到高手》,人民邮电出版社,2015年3月1日版.
[2]《数学课程标准》,北京师范大学出版社,2011版.
课程教育研究·上2017年3期