论文部分内容阅读
摘 要:分数四则运算是小学数学的重要内容,常用PowerPoint课件只有固定例题,本文介绍一种在PowerPoint中利用VBA程序实现自动出题和计算机批改题目的方法,从而可以快速制作“小学分数四则运算自测练习”课件。
关键词:分数四则运算;PowerPoint;VBA
中图分类号:G433文献标识码:B 文章编号:1673-8454(2009)16-0059-03
一、课件界面与执行过程
设幻灯片的名称为“SldCalcFraction”,采用“标题和两栏文本”版式。“标题区”含标题、最大数文本框(txtMaxNum)和批语文本框(txtComment);“左栏文本区”含题号、运算符、等号、“答案”文本信息以及分子分母文本框(txtFirstNum1~ 4, txtFirstDenom1~ 4,txtSecondNum1~4, txtSecondDenom1~4)和答案文本框(txtAnswer1~4);“右栏文本区”有“计算机批改”文本信息和批改文本框(txtTip1~4);下部的“按钮区”有“出题”、“批改”、“答案”、“清除内容”和“重做”五个按钮。课件界面如图1所示。
该课件既可由教师用于课堂教学,也可由学生用于练习和自测。其执行过程:在幻灯片的放映状态下,先输入最大数,最大数限制分子和分母的大小;单击“出题”按钮产生四道随机题目,用户将计算结果输入答案文本框中,然后单击“批改”按钮,根据结果产生相应信息。若重新计算做错的题目,可单击“重做”按钮;若查看正确答案,单击“答案”按钮;如果继续做题,在单击“清除内容”按钮后单击“出题”按钮。
二、VBA程序的设计

1.通用变量与数组声明
Dim a(1 To 4) As Long, b(1 To 4) As Long, c(1 To 4) As Long, d(1 To 4) As Long, e(1 To 4) As Long, f(1 To 4) As Long ’数组a、b、c、d、e和f分别存储参与运算的两个分数的分子分母以及结果的分子分母
Dim i As Integer
Dim l As Long, m As Long, n As Long, p As Long ’用于对数组a、b、c、d赋值
Dim q(1 To 4) As String ’存储结果
2.分数化简方法
Sub yue(x As Long, y As Long) ’将分子分母约分化为最简分数
Dim x0 As Long, y0 As Long, t As Long
y0 = y
x0 = x
Do While y0 <> 0 ’求x和y的最大公约数
t = x0 Mod y0
x0 = y0
y0 = t
Loop
x = x / x0’x0为x和y的最大公约数
y = y / x0
End Sub
3.获取答案方法代码
Sub Get_Answer()
’加法运算中的分子
e(1) = CLng(txtSecondDenom1.Value) * CLng(txtFirstNum1.Value) CLng(txtFirstDenom1.Value) * CLng(txtSecondNum1.Value)
’减法运算中的分子
e(2) = CLng(txtSecondDenom2.Value) * CLng(txtFirstNum2.Value) - CLng(txtFirstDenom2.Value) * CLng(txtSecondNum2.Value)
e(3) = CLng(txtFirstNum3.Value) * CLng(txtSecondNum3.Value) ’乘法运算中的分子
e(4) = CLng(txtFirstNum4.Value) * CLng(txtSecondDenom4.Value) ’除法运算中的分子
f(1) = CLng(txtFirstDenom1.Value) * CLng(txtSecondDenom1.Value)’加法运算中的分母
f(2) = CLng(txtFirstDenom2.Value) * CLng(txtSecondDenom2.Value)’减法运算中的分母
f(3) = CLng(txtFirstDenom3.Value) * CLng(txtSecondDenom3.Value)’乘法运算中的分母
f(4) = CLng(txtFirstDenom4.Value) * CLng(txtSecondNum4.Value)’除法运算中的分母
For i = 1 To 4
Call yue(e(i), f(i))’调用分数化简方法
If e(i) = f(i) Or e(i) = 0 Or f(i) = 1 Then ’避免出现分子为0和分子分母都为1的情况
q(i) = e(i) / f(i)
Else
q(i) = e(i)
关键词:分数四则运算;PowerPoint;VBA
中图分类号:G433文献标识码:B 文章编号:1673-8454(2009)16-0059-03
一、课件界面与执行过程
设幻灯片的名称为“SldCalcFraction”,采用“标题和两栏文本”版式。“标题区”含标题、最大数文本框(txtMaxNum)和批语文本框(txtComment);“左栏文本区”含题号、运算符、等号、“答案”文本信息以及分子分母文本框(txtFirstNum1~ 4, txtFirstDenom1~ 4,txtSecondNum1~4, txtSecondDenom1~4)和答案文本框(txtAnswer1~4);“右栏文本区”有“计算机批改”文本信息和批改文本框(txtTip1~4);下部的“按钮区”有“出题”、“批改”、“答案”、“清除内容”和“重做”五个按钮。课件界面如图1所示。
该课件既可由教师用于课堂教学,也可由学生用于练习和自测。其执行过程:在幻灯片的放映状态下,先输入最大数,最大数限制分子和分母的大小;单击“出题”按钮产生四道随机题目,用户将计算结果输入答案文本框中,然后单击“批改”按钮,根据结果产生相应信息。若重新计算做错的题目,可单击“重做”按钮;若查看正确答案,单击“答案”按钮;如果继续做题,在单击“清除内容”按钮后单击“出题”按钮。
二、VBA程序的设计

1.通用变量与数组声明
Dim a(1 To 4) As Long, b(1 To 4) As Long, c(1 To 4) As Long, d(1 To 4) As Long, e(1 To 4) As Long, f(1 To 4) As Long ’数组a、b、c、d、e和f分别存储参与运算的两个分数的分子分母以及结果的分子分母
Dim i As Integer
Dim l As Long, m As Long, n As Long, p As Long ’用于对数组a、b、c、d赋值
Dim q(1 To 4) As String ’存储结果
2.分数化简方法
Sub yue(x As Long, y As Long) ’将分子分母约分化为最简分数
Dim x0 As Long, y0 As Long, t As Long
y0 = y
x0 = x
Do While y0 <> 0 ’求x和y的最大公约数
t = x0 Mod y0
x0 = y0
y0 = t
Loop
x = x / x0’x0为x和y的最大公约数
y = y / x0
End Sub
3.获取答案方法代码
Sub Get_Answer()
’加法运算中的分子
e(1) = CLng(txtSecondDenom1.Value) * CLng(txtFirstNum1.Value) CLng(txtFirstDenom1.Value) * CLng(txtSecondNum1.Value)
’减法运算中的分子
e(2) = CLng(txtSecondDenom2.Value) * CLng(txtFirstNum2.Value) - CLng(txtFirstDenom2.Value) * CLng(txtSecondNum2.Value)
e(3) = CLng(txtFirstNum3.Value) * CLng(txtSecondNum3.Value) ’乘法运算中的分子
e(4) = CLng(txtFirstNum4.Value) * CLng(txtSecondDenom4.Value) ’除法运算中的分子
f(1) = CLng(txtFirstDenom1.Value) * CLng(txtSecondDenom1.Value)’加法运算中的分母
f(2) = CLng(txtFirstDenom2.Value) * CLng(txtSecondDenom2.Value)’减法运算中的分母
f(3) = CLng(txtFirstDenom3.Value) * CLng(txtSecondDenom3.Value)’乘法运算中的分母
f(4) = CLng(txtFirstDenom4.Value) * CLng(txtSecondNum4.Value)’除法运算中的分母
For i = 1 To 4
Call yue(e(i), f(i))’调用分数化简方法
If e(i) = f(i) Or e(i) = 0 Or f(i) = 1 Then ’避免出现分子为0和分子分母都为1的情况
q(i) = e(i) / f(i)
Else
q(i) = e(i)