基于Visual Basic的随机提问系统的实现与教学应用

2019-07-16 03:14朱家龙
电脑知识与技术 2019年15期

朱家龙

摘要:目前高校课堂普遍存在学生积极性不高,课堂氛围压抑沉闷的问题。为了提高学生参与课堂的积极性,改善教学质量,提出并设计了基于Visual Basic的随机提问系统。该系统的代码编辑部分主要是由Randomize语句和Rnd語句构成,该代码主要实现的功能是可以随机产生一位被提问学生。由于随机产生,减少了学生的反感情绪并且改变了课堂氛围。通过在不同课程的课堂进行使用该系统,其效果证明了该系统的实用性和有效性。

关键词:随机提问系统;Visual Basic;Randomize语句;Rnd语句

中图分类号:TP311         文献标识码:A

文章编号:1009-3044(2019)15-0148-02

Abstract: At present, students' enthusiasm is not high and the classroom atmosphere is depressing. In order to improve the enthusiasm of students to participate in the classroom and the quality of teaching, a random questioning system based on Visual Basic is proposed and designed. The code editing part of the system is mainly composed of Randomize statement and Rnd statement. The main function of the code is to randomly generate a student to be questioned. As a result of random production, it reduces students' negative feelings and changes the classroom atmosphere. By using the system in different classes, the effectiveness of the system has proved its practicability and effectiveness.

Key words: Random Questioning System; Visual Basic; Randomize; Rnd

1 背景

课堂提问是一种教师用于检查学生出勤、考核学生知识掌握程度的常用教学方法。此方法的应用能够帮助学生参与课堂的积极性,给予教师适时有效的教学效果反馈。然而,在高校课堂上,传统的课堂提问,即以学生花名册为主要工具的方法,不仅分散了教师的注意力,还在一定程度上引起了部分学生的抵触情绪,主要表现为不愿积极主动回答问题,或反感自己常被教师点到的“不公平”。这一问题的出现影响了学生主动参与课堂的积极性、教学效果的反馈和教学质量的提高。

为了解决克服传统课堂提问方式带来的弊端,研究者提出一种基于VB(Visual Basic)的随机提问系统,该系统可以帮助教师随机提取一位同学回答问题,首先,随机的方式具有一定的公平性,当学生被抽中时,其内心不会出现对老师反感的情绪,而教师也可以通过随机抽取学生的这一过程,提高学生的注意力和改变课堂氛围。本文设计的基于VB的随机提问系统在课堂上应用,并收到良好效果,证明该系统的有效性和实用性。

2 基于VB的随机提问系统实现

随着科技的不断进步,教室的多媒体也不断完善,其中,为了提高教学效率,应用计算机进行教学时普遍现象,此外,VB作为大学生应掌握的软件,所以每间教室的计算机均应安装,这也是随机提问系统要基于VB的原因。值得一提的是,VB生成的应用工程可以在未安装VB的环境下依然可以使用,但不能进行设置[1-3]。

2.1 随机提问系统的设计

本文设计的随机提问系统核心是用到VB中的Randomize语句(初始化随机数生成器)和Rnd语句(返回一个包含随机数值的Single)[4],Randomize用number将Rnd函数的随机数生成器初始化,该随机数生成器给number一个新的种子值。如果省略number,则用系统计时器返回的值作为新的种子值。本文的number用学生的学号或姓名,number的值决定了Rnd生成随机数的方式。之所以对最开始给定的种子都会生成一样的数列,是因为每次调用Rnd函数都用数列中的前一个数作为下一个数的种子。在调用Rnd之前,使用无参数的Randomize语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。为了生成某一范围内的随机数,具体公式为

式中,upperbound是随机数范围的上限,而lowerbound为随机数范围的下限。值得一提的是,若想得到重复的随机数序列,在使用具有数值参数的Randomize之前直接调用具有负参数值的Rnd。使用具有相同number值的Randomize是不会得到重复的随机数序列的。

具体的VB程序代码编辑如下所示:

Dim l As Integer

Dim a(100) As String

Dim b(100) As Boolean

Private Sub Command1_Click()

Timer2.Enabled = True

Timer1.Enabled = True

End Sub

Private Sub Command3_Click()

For i = 0 To l - 1

b(i) = True

Next i

End Sub

Private Sub Timer1_Timer()

x = Int(Rnd * l)

If b(x) Then Label1.Caption = a(x)

End Sub

Private Sub Form_Load()

Randomize

Open "student.txt" For Input As #1

l = 0

Do Until EOF(1)

Line Input #1, a(l)

l = l + 1

Loop

For i = 0 To l - 1

b(i) = True

Next i

End Sub

Private Sub Timer2_Timer()

Timer1.Enabled = False

For i = 0 To l - 1

If Label1.Caption = a(i) Then b(i) = False

Next i

Timer2.Enabled = False

End Sub

2.2 随机提问系统的窗体布局

将VB的代码编辑完成后,进行窗体布局,考虑到实用性和简洁性,设计的窗口不应过大,设计的主体及学号不显示部分要醒目,在设计过程中应使用亮丽的颜色,本文设计的窗体布局如图1所示。

图1中,将学生的姓名用亮黄色显示,以黑色为底,这样可以更加显著的突出重点;提问按钮主要用于提问学生时使用;当继续提问时,可以按重置按钮进行继续提问,当然,不安也可以正常使用。

3 随机提问系统在教学中的应用研究

3.1 随机提问系统的使用方法

首先,将学生的姓名放在建立的txt类型文档中,其命名为student.txt,文档中的姓名或学号的排列方式如图2所示。

其次,点击提问按钮,黑色屏幕内的学生姓名就会产生滚动变换的效果,过一定的时间黑色屏幕内就会随机产生一位学生姓名。此外,为了保证下一次提问的公平性和系统运行的合理性,按一下重置按钮即可。当学生未正确作答或态度不端正,可以设定惩罚机制,即在student.txt中增加一次该同学的姓名,这样他被抽中的概率将会增加。经过5000次提问数据统计,发现每个人被提问到的次数大体一致,这证明了该随机提问系统的随机性和公平性。

3.2 随机提问系统的课堂使用效果

当本文设计的随机提问系统在不同课程的课堂进行使用时,其表现的共性主要是,首先,学生对于这种新颖的提问方式表示好奇,吸引绝大多学生的注意力。当屏幕滚动的时候,所有学生都在期待被提问者的产生,导致课堂非常安静。当被提问的学生随机产生时,整个教室又会突然会欢呼起来,这种表现主要是由于庆幸自己未被抽中,此外,抽中的同学并没有表现出反感情绪,这主要是因为,他自己也清楚,这是随机产生的,并非人为选择。从课堂使用效果可以证明该随机提问系统的实用性。

4 结论

本文通过分析目前课堂中存在不良氛围,以及教师提问存在主观性的问题,提出并设计了基于VB的随机提问系统,该提问系统设计的代码编程部分主要使用VB中的Randomize语句和Rnd语句,此外,随机提问系统的窗体布局设计主要考虑到实用性和简洁性。将本文设计的随机提问系统应用到课堂中,根据使用效果证明了该随机提问系统的可行性和有效性。

参考文献:

[1] 周长宏, 兰清昭. 用VB6.0编写辅助中学数学课堂教学软件的研究与探索[J]. 电脑知识与技术, 2019, 15(6): 44-46.

[2] 廖昌蘭, 李云胜. 基于VB的档案库房温湿度实时监控系统[J]. 山西科技, 2019, 34(2): 48-51.

[3] 刘华敏. 基于IE的随机点名系统的分析与设计[J]. 电脑知识与技术, 2016, 12(31): 54-55.

[4] 张玉生. Visual Basic程序设计教程[M]. 北京: 清华大学出版社, 2011: 86-87.

【通联编辑:谢媛媛】