《VB实验任务11.doc》由会员分享,可在线阅读,更多相关《VB实验任务11.doc(4页珍藏版)》请在金锄头文库上搜索。
1、实验任务11课程名称:程序设计基础VB实验名称实验十一 数组(1)一、实验目的:1掌握数组的声明和数组元素的引用2掌握定长数组使用3掌握一维数组的基本操作算法二、实验内容(包括实验要求(题目)、实验步骤、程序清单、运行情况):实验0 人工写出如下程序的运行结果,并利用单步调试工具验证执行流程和运行结果,进一步深入弄清和理解数组的访问。(1)在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click() Dim a(5) As Integer, i As Integer, t As Integer For i = 0 To
2、4 a(i) = i + 1 t = i + 1 If t = 3 Then Print a(i); a(t - 1) = a(i - 2) Else a(t) = a(i) End If If i = 3 Then a(i + 1) = a(t - 4) : Exit For a(4) = 1 Print a(i); Next IEnd Sub运行程序,单击命令按钮,输出结果是 。(2)下面的事件过程执行结束后,K的值是 ,A(2)的值是 ,A(7)的值是 ,程序中第二个循环被执行了 次,程序中第三个循环被执行了 次。Option ExplicitOption Base 1Private S
3、ub Command1_Click() Dim A(10) As Integer, i As Integer, K As Integer For i = 1 To 10 A(i) = 1 Next i K = 1 For K = 1 To K Step K A(K) = 0 K = K + 2 Next K For K = K To 10 Step -1 A(K) = K K = K + 2 Next KEnd Sub实验1 利用数组存放Fibonacci数列的前20项,并显示输出(每4个一行)。说明:Fibonacci数列的前两项为1,从第三项开始,每项数据都等于前两项数据之和,即数列为:1
4、,1,2,3,5,8,13, 图 实验9-2运行效果分析:像Fibonacci数列一般采用一维数组存放,根据题意可知数列中的每项数据是通过前两项数据之和推导而出,因此可依据上述规律给数组赋值,完成数组的生成。注意:输出采用标准格式,每4个一行。实验步骤:(1)填写程序代码,完成下列代码:Option ExplicitPrivate Sub Form_Click() Dim i As Integer, Fibo(1) = 1 For i = 3 To 20 Fibo(i)= Next i Print Fibonacci数列的前20项: For i = 1 To 20 Next i PrintEn
5、d Sub(2)调试程序,并保存文件。实验2 随机产生20个学生的成绩,统计各分数段的人数。即059,6069,7079,8089,90100,并显示结果。产生的数据在Picture1中显示,统计结果在Picture2中显示,如图所示。图 程序运行界面提示如下:(1)本程序有两个事件过程,都要用到存放20个学生成绩的数组,因此在通用声明段中声明一个数组,如Dim mark%(19)。 (2)在统计分数段人数的按钮事件过程中声明一个数组s(5-9)用来存放各分数段的人数。解题时的关键在于确定每个学生成绩mark(i)与数组s下标之间的关系,由于059之间的分数人数统计结果应放在s(5)中,而90
6、100(包括100)的统计结果应放在s(9)中。参考程序如下:For i=0 to 19k=mark(i)10Select Case k Case 0 to 5 059分的人数 s(5)=s(5)+1 Case 9 to 10 90100分的人数 s(9)=s(9)+1 Case 6 to 8 存放其他3个分数段的人数,根据k对应获得 s(k)=s(k)+1End selectNext i实验3教材177页习题1生成一维数组a(10),数组元素为100以内的随机正整数,并求该数组中的第二大的数(第二大数可以与最大数相等)。实验4教材177页习题7随机产生2位正整数构成的5阶矩阵,求该矩阵中位于
7、主对角线上方的所有元素之和与位于副对角线下方的所有元素之和。在文本框输出。参考课本例题7-2 图 实验 参考界面实验步骤:(1)界面设计(属性设置)在窗体上按照图所示和代码部分创建。(2)填写程序代码,完成下列代码:Option ExplicitDim a(1 To 5, 1 To 5) As IntegerPrivate Sub CmdCreate_Click() Dim i As Integer, j As Integer Randomize Text1 = 请编写程序段生成5阶矩阵End SubPrivate Sub CmdMDiagonalSum_Click() Dim MSum As Integer, i As Integer MSum = 0 请编写程序段 Text1 = Text1 & 副对角线下方元素之和为 & MSum & vbCrLfEnd SubPrivate Sub CmdPDiagonalSum_Click() Dim PSum As Integer, i As Integer PSum = 0 请编写程序段 Text1 = Text1 & 主对角线上方元素之和为 & PSum & vbCrLfEnd Sub(3)调试程序,并保存文件。 实验5求4*6矩阵A中每一行的最小值以及最小值所在的列,0,9内的数组元素请用随机函数公式生成。参考课本例7-11