1、南华大学计算机学院visual basic程序设计实验指导实验任务任务一、窗体上有一个标题为“得分”的框架,在框架中有一个名称为Text1的文本框数组,含六个元素;文本框Text2用来输入难度系数。程序运行时,在左边的六个文本框中输入6个得分,输入难度系数后,单击“计算分数”按钮,则可计算出最后得分并在文本Text3中显示(如图所示)。计算方法为去除最高分、最低分后,求出平均分,平均分*难度系数,得出最后得分。任务二、数组a中的100个正整数(显示在Text1文本框中),单击“分组”按钮,则将数组a中所有3的倍数的元素存入数组b中,并对数组b中的元素从小到大排序后显示在文本框Text2中。数组
2、a中的数据随机产生,数组b中的数据使用冒泡法排序。任务三、单击“产生数组”按钮,则用随机函数生成10个0100之间(不含0和100)互不相同的数值,并将他们保存到一维数组a中,同时也将这10个数值显示在Text1文本框内;单击“查找”按钮将弹出输入对话框,接收用户输入的任意一个数,并在一维数组a中查找该数,若查找失败,则在Text2文本框内显示该数“不存在于数组中”;否则给出该数在数组中的位置。任务四、窗体上有一个单选按钮数组,含三个单选按钮;还有一个标题为“显示”的命令按钮(如图所示)。程序的功能是,在运行时,如果选中一个单选按钮并单击“显示”按钮,则在窗体上显示相应的信息,例如若选中“小学
3、生”,则在窗体上显示“我是小学生”。阅读练习:1、在窗体上画一个名称为Label1 的标签,然后编写下列事件过程:Private Sub Form_Click( )Dim arr(10,10)As IntegerDim i As Integer, j As IntegerFor i=2 To 4For j=2 To 4arr(i,j)=j*jNext jNext iLabel1. Caption=Str(arr(2,2)+arr(3,3)End Sub程序运行后,单击窗体,在标签中显示的内容是( )。2、阅读程序:Option Base 1Dim arr( )As IntegerPrivate
4、 Sub Form_Click( )Dim i As Integer, j As IntegerReDim arr(3,2)For i = 1 To 3For j = 1 To 2arr(i,j)=i*2+jNext jNext iReDim Preserve arr(3,4)For j=3 to 4arr(3,j)=j+9Next jPrint arr(3,2)+arr(3,4)End Sub程序运行后,单击窗体,输出结果为( )。A)21 B)13C)8 D)253、在窗体上画一个名称为Command1 的命令按钮,然后编写下列事件过程:Option Base 1Private Sub C
5、ommand1_Click( )Dim c As Integer, d As Integerd=0c=6x=Array(2,4,6,8,10,12)For i = 1 To 6If x(i)c Thend=d+x(i)c=x(i)Elsed=d-cEnd IfNext iPrint dEnd Sub程序运行后,单击命令按钮,则在窗体上输出的内容为( )。A)10 B)16C)12 D)204、有下列程序:Option Base 1Private Sub Command1_Click( )Dim arr1Dim Min As Integer , i As Integerarr1=Array(12
6、,435,76,-24,78,54,866,43)Min= 【12】For i=2 To 8If arr1(i)Text(k)ThenMin=Text1(k)End Ifsum=sum+Text1(k)Next kText2=( 【13】)/5End Sub9、如图所示,在列表框list1 中已经有若干人的简单信息,运行时在Text1 文本框(即“查找对象”右边的文本框)输入一个姓或姓名,单击“查找”按钮,则在列表框中进行查找,若找到,则把该人的信息显示在Text2 文本框中。若有多个匹配的列选项,则只显示第 1 个匹配项;若未找到,则在 Text2 中显示“查无此人”。请填空。Private
7、 Sub Command1_Click( )Dim k As Integer,n As Integer,found As Booleanfound=Falsen=Len( 【14】)k=0While kList1.ListCount And not foundIf Text1=Left$(List1.List(k),n) ThenText2= 【15】found=TrueEnd Ifk=k+1WendIf Not found ThenText2=“查无此人“End IfEnd Sub10、命令按钮Command1 的单击事件过程的代码下列:Private Sub Command1_Click(
8、 )Dim a(30) As IntegerFor i=1 To 30a(i)=Int(Rnd*100)NextFor Each arrItem In aIf arrItem Mod 7=0 Then Print arrItem;If arrItem90 Then Exit ForNextEnd Sub对于该事件过程,下列叙述中错误的是( )。A)a 数组中的数据是30 个100 以内的整数B)语句For Each arrItem In a 有语法错误C)If arrItem Mod 7=0语句的功能是输出数组中能够被7 整除的数D)If arrItem90语句的作用是当数组元素的值大于90
9、时退出For 循环11、命令按钮Command1 的单击事件过程的代码如下:Private Sub Command1_Click( )Dim a(3,3)As IntegerFor i=1 To 3For j=1 To 3a(i,j)=i*j+iNext jNext iSum=0For i=1 To 3Sum=Sum+a(i,4-i)Next iPrint SumEnd Sub运行程序,单击命令按钮,输出结果是( )。A)20 B)7C)16 D)1712、窗体上有名称分别为Text1、Text2 的2 个文本框,有一个由3 个单选按钮构成的控件数组Option1,如图1 所示。程序运行后,如果单击某个单选按钮,则执行Text1中的数值与该单选按钮所对应的运算(乘以1、10 或100),并将结果显示在Text2中,如图2 所示。为了实现以上功能,在程序中的问号(?)处应填入的内容是( )。图 1 图2Private Sub Option1_Click(Index As Integer)If Text1.Text i Theni = i + 1a(i) = 【10】End IfLoop While i a(j) Then temp = a(i): a(i) = a(j): 【12】Next jNext iFor i = 1 To 10Print a(i)Next iEnd Sub