VB程序设计实例
2014-10-21陈正光
陈正光
在初中《信息技术》(福建教育出版社,《信息技术》教材编写组编著)八年级上册中,其中第二单元“VB程序设计基础”介绍了VB的开发环境和有关基础知识,初步体验了顺序、分支和循环结构的程序设计,让学生深刻体会到了可视化程序设计的一般过程。下面介绍本人在平时教学过程中对VB程序设计的一些体会和做法。
一、教材中有一个“电视歌手大奖赛评分”程序设计,题目是这样的:在电视歌手大奖赛中,经常有10个评委为参赛选手打分,分数为1到10分。选手的得分为去掉一个最高分和一个最低分后其余8个分数的平均值。请你编写一个程序,当用户点击“开始”按钮后,程序将提示输入各个评委的打分,输入一个并在列表框中显示一个打分,最后在列表框输出去掉的最高分、最低分以及最后得分。
我们可以对教材中的“电视歌手大奖赛评分”程序设计进行拓展引伸,设计出比较智能多用途的程序。现介绍如下。
1.程序界面设计
新建一个标准exe工程,添加如表1所示的控件,并设置控件相应的属性。(见附图1)
表1 “时钟的时针和分针重合的问题”程序用到的控件及其属性说明
2.算法分析
①请输入这次大奖赛的满分分数(如10分或100分)以及评委的人数,赋值给系统的公共变量public_min和public_i。这里要求事先定义好这两个系统公共变量。
系统公共变量的定义方法:单击“工程”菜单,选择“添加模块”命令,在“Module1”框中输入Public public_min As Single和 public_i As Single即可。
②输入各评委的评分并计算。如果输入的数值超过事先输入的满分的值,系统则提示:“出错啦,分数超出范围。”在这里用到了For …Next循环语句、输入函数InputBox(提示信息,标题,默认值,位置)和输出函数MsgBox“”。
③输出。去掉一个最高分和一个最低分后其余分数的平均分。
3.编写事件过程
由于在“大奖赛评分系统”程序中用户单击“请先输入满分和评委人数”按钮后,开始读入满分分数和评委人数,因此:
⑴在“Command1”的“Click”事件过程中程序代码如下:
Private Sub Command1_Click()
public_min = Val (InputBox("请输入本次大赛的满分分数", "输入满分分数"))
public_i = Val (InputBox("请输入本次大赛的评委人数", "输入评委人数"))
End Sub
⑵ 在“Command2”的“Click”事件过程中程序代码如下:
Private Sub Command1_Click()
Dim max As Single, min As Single, score As Single, sum As Single
Dim i As Single
List1.Clear ‘列表清空
max = 0
min = public_min
sum = 0
ii = public_i
For i = 1 To ii
‘输入第i个评委的打分
score = Val (InputBox("请输入第" & i & "?个评委的打分", "输入分数"))
‘将第i个评委的分数加入列表
If score <= public_min Then
List1.AddItem ("评委" & i & "£o " & score)
If score > max Then max = score
If score < min Then min = score
sum = sum + score
Else
MsgBox "出錯啦,分数超出范围"
Exit Sub
End If
Next i
将“去掉一个最高分:”与max的值连接成字符串添加到List列表框中
List1.AddItem ("去掉一个最高分:o" & max)
List1.AddItem ("去掉一个最低分:o" & min)
List1.AddItem ("选手最后得分o" & (sum - max - min) /(ii - 2))
End Sub
⑶在“Command3”的“Click”事件过程中程序代码如下:
Private Sub Command3_Click()
End
End Sub
二、下面针对教材的第103页和第107页的“创新活动”中的问题给出比较详细的程序编写过程。
㈠教材第103页“创新活动”的问题:在12小时制的时间中,在钟表正常走动的时候,有多少个时针和分针重合的位置?它们分别表示什么时刻(精确到秒即可)?
请编写一个界面如附图2所示的“时钟的时针和分针重合的问题”程序,单击“开始计算”按钮,程序计算并显示出答案,单击“退出”按钮,结束程序运行。
1.程序界面设计
新建一个标准exe工程,添加如表2所示的控件,并设置控件相应的属性。