- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB 数组的应用
实验八 数组的应用(一)
1、验证实验一。
假定学生的成绩在数组XS_CJ(1 to 10)中,对应的姓名在数组XS_XM(1 To 10)中,单击按钮“排序”时,能按分数从高到低的排列,即排序后XS_CJ(1)和XS_XM(1)为第一名的成绩、姓名。
题目分析:本实验是完成一个对数组元素从大到小的排序。可以采用教材中中介绍的冒泡法完成排序,在此介绍另一种简单的排序方法——比较交换法。
假设对A(N)数组中的数据从大到小排序,比较交换法的排序步骤如下:
(1)将第一个数与第2个到第10个数依次比较,如果A(1)A(J)(J=2,3,…,10),则交换A(1)和A(J);
(2)将第2个数与第3个到第10个依次比较,如果A(2)A(J)(J=3,…,10),则交换A(2)和A(J);
(3)重复以上方法,将第I个数与第I+1个数到第10个数依次比较,如果A(I)A(J)(J=3,…,10),则交换A(I)和A(J);
共重复N-1轮。
在本实验中,每次对成绩的比较中,需要交换的不仅XS_CJ数组中的元素,而且对应的XS_XM数组中对应的元素也要进行交换。
(1)设计界面可参考如下图8.1所示。
用列表框LstOldMark和LstNewMark分别来显示排序前后学生的姓名和成绩。
(2)编写代码
在窗体模块的声明段声明
Option Base 1
Dim XS_XM(10) As string
Dim XS_CJ(10) As Single
在窗体的Load事件过程中完成对数据的输入。
For I = 1 To 10
XS_XM(I) = InputBox(请输入第 Str(I) 个学生的姓名, 成绩排序)
XS_CJ(I)=val(InputBox(请输入第 Str(I) 个学生的成绩, 成绩排序))
LstOldMark.AddItem XS_XM(I) XS_CJ(I)
Next I
在“排序”按钮的Click事件过程中完成排序,部分代码如下:
‘用比较交换法进行排序
For I=1 To 9
For J=I+1 To 10
If XS_CJ(I)XS_CJ(J) Then
‘交换学生成绩
T=XS_CJ(I) :XS_CJ(I)=XS_CJ(J): XS_CJ(J)=T
‘交换学生姓名
T=XS_XM(I) : XS_XM (I)= XS_XM (J): XS_XM (J)=T
End If
Next J
Next I
‘排序的结果显示于列表框LstNewMark中,请自行补充完成。
2、验证实验二。
在列表框中生成某包含有两位随机整数的6行5列的矩阵,单击“转置”按钮对该矩阵进行转置,结果显示于另一个列表框中。
题目分析:矩阵的转置就是将矩阵的行和列交换。定义两个二维数组A(6,5)和B(5,6),用二重循环和随机函数产生二维数组A(6,5)的各元素。
设计界面如下:
列表框LstA中显示原矩阵A,列表框LstB中显示转置后的矩阵B,命令按钮“输入”完成矩阵A的生成和显示,“转置”完成矩阵A的转置,并将结果显示在LstB中。
编写代码
在窗体模块的声明段声明数组:
Dim A(6,5) As Integer, B(5,6) As Integer
“输入”命令按钮的Click事件过程中,用二重循环和随机函数产生二维数组A(6,5)的各元素。请自行完成。
“转置”命令按钮的Click事件过程代码
For n = 1 To 5
s =
For m = 1 To 6
B(n, m) = A(m, n)
s = s Format(B(n, m), @@@)
Next m
LstB.AddItem
LstB.AddItem s
Next n
3、程序设计一。
随机产生20名同学的身高,编写程序求最高身高、最低身高和平均身高。假定同学的身高范围是1.55米到1.80米。
程序设计二。
修改验证实验一的界面,增加查找功能。在排好序的数组中查找某个学生的成绩,如果找到,则显示找到显示该学生的成绩以及名次,如果没有找到,则给出提示。
题目分析:这个一个顺序查找的问题。将要查找的学生姓名依次与XS_XM数组中的元素比较,如果与第I个元素相等,表示找到,XS_CJ(I)和I分别是该学生的成绩和名次。如果遍历完所有的姓名,仍没相等的元素,表明没有该学生的成绩,给出提示信息。
5、程序设计三。
编写程序求一个3行3列矩阵的三行中元素之和最大的那一行。
题目分析:用二维数组a(3,3),表示3行3列的矩阵,从键盘上输入矩阵的元素值
您可能关注的文档
- 2013-2014学年 高中数学 人教B版选修2-1【配套备课资源】3.2.3精要课件 直线与平面的夹角.ppt
- 2013届高考二轮复习全攻略:规范答题9:免疫知识综合应用的案例.ppt
- 2013届高考一轮复习(理数,浙江)-第4讲 函数的解析式与定义域.ppt
- 2013届高考数学二轮突破知精讲精练专题3第10讲 等差、等比数列及特殊数列求和.doc
- 2013届高考物理核心要点突破系列课件:第9章第二节《振幅、周期和频率》(人教版选修3-4).ppt
- 2013届高考物理核心要点突破系列课件:第10章第五节《波的干涉》(人教版选修3-4).ppt
- 2013年蛇年灯谜大全及答案.doc
- 2013石材地面结晶处理施工工艺.doc
- 2014届步步高大一轮复习讲义_化学人教版_排查落实练四.ppt
- 2015年MBA联考初数考试要求及考试内容分析.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)