用VB制作课堂随机点名器
作者:***
来源:《发明与创新.教育信息化》2015年第03期
一、情境需求
课堂提问是一种最直接、最基本的教学活动形式。然而低年级学生在课堂上比高年级学生要活跃,低年级学生更能积极主动地参与课堂。但随着学生年龄的增大,课堂上能主动回答问题的同学越来越少,需由老师来点名回答,这样的课堂显得单调而沉闷。也有些同学认为老师偏心,总让一些成绩好的同学来回答问题。久而久之,学生会对课程和老师产生厌恶。为了解决此问题,我尝试引入类似抽奖的游戏机制进入课堂来解决学生点名的问题。在教学业余时间我用VB软件制作了一个课堂随机点名器,在课堂上用它来随机抽取学生回答问题。我发现随机点名游戏机制的应用不仅活跃了课堂气氛,增加了趣味性,而且还体现了学生回答问题的公平和公正,让每个同学都有机会参与课堂回答问题。
二、程序设计思路
1. 首先读取学生名单,学生的名单以格式化的文本文件的形式存储,然后通过随机函数来调用学生名单。
2. 其次通过时间控件来控制,每一次时间控件的执行则运行一次调用学生名单的随机函数。
3. 最后通过开始和停止来控制程序的运行。
三、程序的功能特点
1. 程序容量小,界面美观,简洁。
2. 操作简单,适用性广。
3. 抽取的名单具有随机性。
下面我们用VB软件来制作这个程序,实现上述功能。
四、程序的制作方法
(一)制作程序界面
打开VB6.0软件 ,方法如下:新建一个“标准EXE”文件,即建立一个窗体Form1,在窗体Form1上添加以下几个控件。在左边的控件栏里拖入两个按钮Command1和Command2,再拖入一个文本框控件Text1,最后再拖入一个时间控件Timer1。并设置好各控件的大小和排好位置如图一所示。
(二)准备一个班的学生名单,用记事本来保存,并且使每个学生的姓名占一行。如文件名为“”。如图二所示。
(三)要想使其产生效果,还必须添加一些程序代码。
1. 先来添加两个按钮的代码。并且通过两个按钮就实现了三个功能的显示,如“开始”,“继续”,“停止”。
(1)双击Command1按钮,进入Click事件代码编辑窗口。输入以下程序代码:
判断按钮显示是否为“开始”
If Command1.Caption = "开始" Then ’如果“是”,则使按钮Command1失效
Command1.Enabled = False ’并使按钮Command2显示名称为“停止”vb开始按钮代码
Command2.Caption = "停止" ’开启时钟
Timer1.Enabled = True ’否则, 使按钮Command1失效,按钮Command2有效,同样开启时钟
Else
Command1.Enabled = False
Command2.Enabled = True
Timer1.Enabled = True
End If
(2)双击Command2按钮,进入Click事件代码编辑窗口。输入以下程序代码:
默认时间控件不开启,Command1按钮有效,并显示为“继续”
Timer1.Enabled = False
Command1.Enabled = True
Command1.Caption = "继续"
2. 为了能够达到随机显示文件中的一个学生的姓名,则要通过时间控件事件执行滚动随机提取数,双击Timer1控件,进入Timer事件代码编辑窗口。输入以下程序代码:
intNameNum = 0 ’打开有学生姓名的文件,Name文件要跟这个程序放在同一个目录下
strFileName = App.Path & "\"
Open strFileName For Input As #1 ’循环至文件尾
Do While Not EOF(1) ’读打开的文件(#1)一行的学生姓名给变量strTemp
Input #1, strTemp
如果姓名的长度不为0
If Len(strTemp) >= 1 Then
intNameNum = intNameNum + 1 ’动态定义数组
ReDim Preserve strAllName(intNameNum) As String ’ 将学生姓名赋值给对应的数组变量
strAllName(intNameNum) = strTemp
End If
Loop ’ 关闭文件
Close #1 ’初始化随机数生成器
Randomize
UBound() ’用来确定数组strAllName的大小和生成一个随机整数
intTemp2 = Int(Rnd() * UBound(strAllName)) + 1 ’将随机产生的学生姓名通过文本框显示
Text1.Text = strAllName(intTemp2)
3. 虽然设置了时间控件里的程序代码,但是时间控件还没有被初始化。所以需要在窗体加载事件中对一些控件进行初始化。双击窗体,在窗体Form的Load事件里写入以下代码:
清空文本框内容
Text1.Text = "" ’设置时间控件周期为20ms
Timer1.Interval = 20 ’默认时间控件不开启
Timer1.Enabled = False
默认Command1的名称为开始
Command1.Caption = "开始"
默认Command1的名称为停止
Command2.Caption = "停止"
4. 最后再声明一个私有的字符串数组strALLName,在“通用”的“声明”里写入以下代码,如图(三)所示。
Private strAllName() As String
(四)最后保存和运行一下程序即可,效果如图所示。当老师点击开始,则全班的学生名单在不停地滚动,一旦按一下停止,则会显示被抽中的同学姓名,还可以接着继续抽。注意一定要把保存学生姓名的记事本文件“”与“课堂随机点名器.EXE”文件放在同一个目录下。
五、程序使用达成效果
这个程序在实际教学中效果很好,特别是学生对学习的兴趣有所提高。而且程序开发很实用,扩展性好,易于修改,其它老师拿过去就可以用。不同的班级只要直接在存储文件里
()重新输入新的姓名即可,而不需要修改程序。除了应用于老师在课堂上的点名外,也可以用于学校的晚会场合作为抽奖来使用。
作者简介:
汪思帆,新田一中信息技术教研组组长,中学一级教师,永州市首届骨干教师,省资源网专家库成员。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论