资源描述:
《vb实验E 数组和自定义类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、试验E数组和自定义类型一、实验目的1.掌握数组的声明、数组元素的引用。2.掌握固定长度数组和动态数组的使用差别。3.掌握数组常用的操作和常用算法。4.掌握列表框和组合框的使用。5.掌握自定义类型及数组的使用。二、实验内容1.随机产生30~100(包括(30、100)的10个正整数,求最大值、最小值、平均值,并显示整个数组的值和结果。2.已知6个学生的成绩,通过数组赋初值的方法,利用String函数,以每5分为一个“◆”显示,并显示学生的成绩。1.随机产生20个学生的成绩,统计各分数段人数。即0~59、60~69、70~79、80~
2、89、90~100,并显示结果。产生的数据在Picture1显示,统计结果在Picture2显示。4.随机产生10个2位数,按从大到小递减的顺序排列,并显示排序结果。5.参照教材例5.3,在通用声明段声明两个数组,利用随机函数形成如下两个数组:A=,B=要求:①以下三角形式显示A数组、上三角形式显示B数组。②求A数组主对角线元素之和和B数组副对角线元素之和。6.输入整数n,显示出具有n行的杨辉三角形。图E.5显示n=8的效果。7.设计一个选课的运行界面如图E.6所示。它包含2个列表框,左边为已开设的课程名称,通过Form_Load
3、事件加入,并按拼音字母排序;当单击某课程名称后,将该课程加入到右边列表框,并在左边列表框中删除该课程。当右边课程数已满5门时,不允许再加入。8.窗体上建立一个简单组合框,在组合框的文本框输入数字字符,按回车键后加入到组合框的列表框内,如图E.8所示;单击“交换”按钮,将列表框中最小值项目和第0个项目交换;最大值项目与最后项目交换。9.提供在窗体上显示的以汉字开头的字体名称,并显示该名称所对应的字体样式。10.自定义类型数组的应用。要求:①自定义一个职工数据类型,包含职工号、姓名、工资三项内容。在通用声明段声明一个职工类型的数组,可
4、存放5个职工的数据。②窗体中设计3个标签、3个文本框、2个命令按钮和1个图形框,文本框中分别输入职工号、姓名、工资;当单击“新增”按钮时,将文本框输入的内容添加到数组的当前元素中;当单击“排序”按钮时,将输入的内容按工资递减的顺序排列,并在图形框显示。程序运行界面如图E.11所示。习题五1、在VB6.0中,数组的下界默认为0,用什么语句可以重新定义数组的默认下界?答:指定数组的默认下界OptionBase12、要分配存放12个元素的整型数组,下列数组声明(下界若无,按默认规定)哪些符合要求?(1)n=12Dima(1Ton)AsI
5、nteger答:Dim语句中的下标只能是常量,不能是变量。(2)Dima%()n=11ReDima(n)答:正确(3)Dima%[2,3]答:VB中数组下标用圆括号,应为()(4)Dima(1,1,2)AsInteger答:正确(5)Dima%(10)ReDima(1To12)答:正确(6)Dima!()ReDima(3,2)AsInteger答:ReDim语句可改变维数但不可以改变类型(7)Dima%(2,3)答:正确(8)Dima(1to31to4)AsInteger答:缺少逗号Dima(1to3,1to4)AsInteger
6、3.程序运行时显示“下标越界”可以产生的错误有哪几种情况?答:引用的下标超出上界或下界。4.已知下面的数组声明,写出它的数组名,数组类型,维数,各维的上下界,数组的大小,并按行的顺序列出各元素。Dima(-1to2,3,)AsSingle答:数组名:a(-1to2,3),数组类型:Single,维数:2维,各维的上下界:-1to2,0to3或1to3,组的大小:16,按行的顺序列出各元素:(-1,0)(-1,1)(-1,2)(0,0)(0,1)(0,2)(1,0),(1,2)(2,0),(2,1)(2,2)5..利用随机数生成两个
7、矩阵(数据不一定相同,前者30~70范围,后者101~135)。3567525010311512510133476639133127132135A=47566641B=11110313411830695538123109113130要求:(1)将两个矩阵相加结果放入C矩阵中。DimA(1To4,1To4)AsInteger,B(1To4,1To4)AsIntegerDimC(1To4,1To4)AsIntegerPrivateSubCommand1_Click()DimiAsInteger,jAsIntegerFori=1To4F
8、orj=1To4RandomizeA(i,j)=Int(30+Rnd*41)Me.Picture1.PrintA(i,j);RandomizeB(i,j)=Int(101+Rnd*35)Me.Picture2.PrintB(i,j);NextjMe