vb实验E数组和自定义类型_第1页
vb实验E数组和自定义类型_第2页
vb实验E数组和自定义类型_第3页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、试验 E 数组和自定义类型一、实验目的1. 掌握数组的声明、数组元素的引用。2. 掌握固定长度数组和动态数组的使用差别。3. 掌握数组常用的操作和常用算法。4. 掌握列表框和组合框的使用。5. 掌握自定义类型及数组的使用。二、实验内容1. 随机产生 30100(包括( 30、 100)的 10 个正整数,求最大值、最小值、平均值,并显示整个数组的值和结果。2. 已知 6 个学生的成绩,通过数组赋初值的方法,利用String 函数,以每5 分为一个 “”显示,并显示学生的成绩。3. 随机产生 20 个学生的成绩,统计各分数段人数。即059、6069、7079、8089、90100,并显示结果。产

2、生的数据在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. 自定义类型数组的应用。要求:自定义一个职工数据类型,包含职工号、姓名、工资三项内容。在通用声明段声明一个职工类型的数组,可存放5 个职工的数据。窗体中设计 3 个标签、 3 个文本框、 2 个命令按钮和 1 个图形框,文本框中

4、分别输入职工号、姓名、工资;当单击 “新增 ”按钮时,将文本框输入的内容添加到数组的当前元素中;当单击 “排序 ”按钮时,将输入的内容按工资递减的顺序排列,并在图形框显示。程序运行界面如图 E.11 所示。习题五1、 在 VB6.0 中,数组的下界默认为 0,用什么语句可以重新定义数组的默认下界?答:指定数组的默认下界Option Base 12、 要分配存放 12 个元素的整型数组,下列数组声明(下界若无,按默认规定)哪些符合要求?( 1) n=12Dim a(1 To n As Integer答: Dim 语句中的下标只能是常量,不能是变量。( 2) Dim a%(n=11ReDim a(

5、n 答:正确(3) Dim a%2,3 答: VB 中数组下标用圆括号,应为()(4) Dim a(1,1,2 As Integer 答:正确( 5) Dim a%(10ReDim a(1 To 12 答:正确( 6) Dim a!(ReDim a(3,2 As Integer 答: ReDim 语句可改变维数但不可以改变类型( 7) Dim a%(2,3 答:正确(8) Dim a(1 to3 1 to 4 As Integer答:缺少逗号Dim a(1 to 3,1 to 4 As Integer3. 程序运行时显示 “下标越界 ”可以产生的错误有哪几种情况?答:引用的下标超出上界或下界。

6、4. 已知下面的数组声明,写出它的数组名,数组类型,维数,各维的上下界,数组的大小,并按行的顺序列出各元素。Dim a(-1 to 2,3, As Single答:数组名: a(-1 to 2,3 ,数组类型: Single,维数: 2 维,各维的上下界:-1 to 2, 0 to 3 或1 to 3,组的大小: 16, 按行的顺序列出各元素:(-1,0)( -1,1)( -1,2)( 0,0)( 0,1)( 0,2)( 1,0),( 1,2)( 2,0),( 2,1)( 2,2)5.利用随机数生成两个矩阵(数据不一定相同,前者3070 范围,后者101135)。35 67 52 50 103

7、 115 125 10133 47 66 39 133 127 132 135A= 47 56 66 41 B= 111 103 134 11830 69 55 38 123 109 113 130要求:(1) 将两个矩阵相加结果放入C 矩阵中。Dim A(1 To 4, 1 To 4 As Integer, B(1 To 4, 1 To 4 As IntegerDim C(1 To 4, 1 To 4 As IntegerPrivate Sub Command1_Click(Dim i As Integer, j As IntegerFor i = 1 To 4For j = 1 To 4R

8、andomizeA(i, j = Int(30 + Rnd * 41Me.Picture1.Print A(i, j;RandomizeB(i, j = Int(101 + Rnd * 35Me.Picture2.Print B(i, j;Next jMe.Picture1.PrintMe.Picture2.PrintNext iEnd SubPrivate Sub Command2_Click(Dim i As Integer, j As IntegerMe.Picture3.ClsFor i = 1 To 4For j = 1 To 4C(i, j = A(i, j + B(i, jMe.

9、Picture3.Print C(i, j;Next jMe.Picture3.PrintNext iEnd Sub(3) 将 A 矩阵转置。For i = 1 To 4For j = 1 To 4C(i, j = A(j, iMe.Picture3.Print C(i, j;Next j(4) 统计 C 矩阵中最大值和下标。(5) 以下三级形式显示A 矩阵、上三角形式显示B 矩阵。( 6) 将 A 矩阵第一行与第三行对应元素交换位置,既第一行元素放到;第三行元素放到第一行。( 7) 求 A 矩阵两条对角线元素之和。(8) 将 A 矩阵按列的次序把元素放到一维数组D 中,显示结果。6.声明一个

10、一维字符类型数组,有20 个元素,每个元素最多放10 个字符,要求:(1)由随机数形成小写字母构成的数组,每个元素的字符个数由随机数产生,范围110.(2)要求将生成的数组分4 行显示,规定每个元素宽度为10。( 3)显示生成的字符数组中字符最多的元素。答:一维字符数组Dim a(1 To 20 As StringPrivate Sub Command1_Click( (1 随机产生字符串Dim i As Integer, j As Integer, n As Integer, c As String * 1RandomizeFor i = 1 To 20a(i = 将第i 个元素清空n =

11、Int(Rnd * 10 + 1 产生1,10 的随机数For j = 1 To n a(i中有n 个字符c = Chr(Int(Rnd * 26 + 97 随机产生字母97 是字母a 的ASCII码a(i = a(i + cNext jNext iEnd SubPrivate Sub Command2_Click( (2Dim i As IntegerFor i = 1 To 20输出字符串Print Tab(i - 1 Mod 5 * 11; a(i;If i Mod 5 = 0 Then PrintNext iEnd SubPrivate Sub Command3_Click( (3 最

12、长的字符串Dim i As Integer, imax As Integerimax = 1For i = 2 To 20If Len(a(i Len(a(imax Thenimax = iEnd IfNext iPrint 最长的字符串:; a(imaxEnd Sub7.简述列表框和组合框的异同处。答:列表框和组合框都是存放字符串的,但组合框可输入内容,而列表框可一下选择多个项目。8.列表框或组合框中选定的项目、总项目数的属性分别是什么?答:被选中的项目属性是Text ,总项目数目的属性是ListCount 。9.简述自定义类型与自定义变量的区别。答:一个类型可以有N 个变量。自定义类型表示

13、如同Integer、 Single 等类型名;自定义变量根据该类型分配所需的内存空间,存储各种元素数据。10.自定义一个职工类型,包含职工号、姓名、工资。声明一个职工类型的动态数组。输入 n 个职工的数据;要求按工资递减的顺序排序,并显示排序的结果,每个职工一行显示三项信息。Private Type zgnum As Stringname As Stringgz As SingleEnd TypeDim a( As zgPrivate Sub Command1_Click(Dim n As Integern = Val(InputBox(输入职工人数nReDim a(nFor i = 1 To na(i.num = InputBox(请输入工号a( = InputBox(请输入姓名a(i.gz = Val(InputBox(请输入工资Next iFor i = 1 To nFor j = n To i + 1 Step -1If a(i.gz a(j.gz Thenb = a(i.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论