ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:630.32KB ,
资源ID:18729942      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18729942.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验6 数组程序设计Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验6 数组程序设计Word下载.docx

1、 Next j Next i For j = 2 To 3 If max a(i, j) Then Picture1.Print 第行最大的是:; max Next iEnd Sub2保存文件,调试运行。思考:如果要求显示每行最大元素的行列位置,应如何修改代码。实验6.3判断完数已知一个数如果恰好等于它的因子之和,这个数就被称为“完数”。一个数的因子是指除了该数本身以外能够被其整除的数。例如6是一个完数,因为6的因子是1,2,3,而且6=1+2+3。要求编程对于任意输入的一个数,能够判断出该数是否是完数,并对不同结果进行输出;单击“输入下一个数”时,要清除文本框和图片框中的内容,并且光标在文本

2、框中闪烁。可以将输入的数的因子逐个求出,放到数组中,并对因子进行累加,若为完数或不是完数结果输出如图6-4所示。因为无法预知因数的个数,所以要使用动态数组。 图6-4 运行结果界面1窗体布局,在窗体上摆放Label、TextBox、Frame、PictureBox(用于显示结果)各一个,在将三个CommandButton拖放到窗体上,具体布局参见图6-4。2完善代码Private Sub CmdJudeg_Click() Dim m As Integer, i As Integer, j As Integer, k As Integer Dim a() m = Text1.Text ReDim

3、 a(1) 重定义数组 a(1) = 1 k = 1 j = 1 For i = 2 To m - 1 If m Mod i = 0 Then k = k + i 因数和 j = j + 1 因数个数 ReDim Preserve a(j) 重定义数组,且保留原有数据 a(j) = i 将因数保存在数组中 End If If m = k Then Picture1.Print m &是完数,因为 Picture1.Print m;= For i = 1 To UBound(a) - 1 UBound(a)求数组上界函数 Picture1.Print a(i);+ Next I Picture1

4、.Print a(i) 输出最后一个因数 Else不是完数Private Sub CmdExit_Click() Unload MePrivate Sub CmdNext_Click() Picture1.Cls 清除图片框中内容 Text1.Text = Text1.SetFocus3保存文件,调试运行。如何修改程序求出1000以内的所有“完数”并将结果存入一个文件?试一试。实验6.4成绩统计编程随机产生32个学生的计算机课程的成绩存放数组Mark(1 To 32)中,统计各分数段5059、6069、7079、8089、90100的人数n以及求出最高分max和最低分min。结果输出要求:32

5、名学生的成绩按每行8个显示在窗体上,第5行显示最高分和最低分,并以同样输出格式将结果存放于顺序文件out.dat中。统计各分数段的人数,可以利用数组下标来实现。实验6.5计算天数编程任意输入一个日期,即可计算出这个日期是一年中的第几天。一年中的每一个月天数是一定的,只有闰年时,2月份是29天,所以要对输入的年份进行闰年判断。另外,每月的天数可以事先赋值到数组中,但是用InputBox从键盘接受多个固定数据很不方便,VB中又没有给数组赋初值的语句。为解决这一问题,采用将初值放在ListBox中,运行时用代码将ListBox中的数据给数组赋初值。闰年算法是年份能被4整除同时不能被100整除,或者年

6、份能被100整除同时能被400整除,这一年就是闰年,是闰年就用一个标签框表示出来。将闰年和非闰年的112月份的天数分为两组,放置在两个ListBox中,定义一个两维数组mtable(2,12),第一维作为闰年标致,第二维作为月份天数。两个ListBox在运行时不显示出来,见图6-6。对于固定1到12个月和1到31天这些数字,将它们放在两个组合框中便于选择。1窗体布局设计如图6-5所示。图6-5 计算天数窗体布局图6-6 计算天数运行界面2部分控件属性设置控件名称属性名称属性值组合框1NameCmbMonthText1List1 2 3 4 5 6 7 8 9 10 11 12Style组合框2

7、CmbDay1 2 3 4 5 6 7 8 .30 31列表框131 28 31 30 31 20 31 31 30 31 30 31VisibleFalse列表框231 29 31 30 31 20 31 31 30 31 30 31闰年显示标签框LabLeapCaption闰年Font斜体4号字3添加代码Option Base 1 数组下标从1开始Private Sub CmdCountdays_Click() Dim days As Integer, i As Integer, leap As Integer Dim mtable(2, 12) As Integer For j = 1

8、To 12 mtable(1, j) = List1.List(j - 1) 将非闰年的月份天数赋给数组 mtable(2, j) = List2.List(j - 1) 将闰年的月份天数赋给数组 leap = 1 标志闰年的变量赋初值1 If (TxtYear Mod 4 = 0 And TxtYear Mod 100 0 Or TxtYear Mod 400 = 0) Then leap = 2 闰年则标志变量值变为2 LabLeap.Visible = True 闰年标签出现 days = CmbDay.Text For i = 1 To CmbMonth.Text - 1 days =

9、 days + mtable(leap, i) 闰年标志作变量为下标变量 TxtDays.Text = daysPrivate Sub TxtYear_Change() LabLeap.Visible = False 输入年份时,闰年标签隐藏4保存文件,调试运行。随机输入四位数的不同年份,仔细体验各种控件、属性、事件的作用;深刻理解leap变量的作用。实验6.6字符数组编程随机产生15个不重复的英文大写字母,存放在字符数组中并显示出来。1可以利用函数Rnd和Chr使得随机产生数值可转变为字符。2每产生一个新的字符要与已经存在的字符逐一比较,非重复字符方可存入。实验6.7数值排序编程产生10个二

10、位随机整数,按升序排列。假设在数组A中存放N个无序数据,要求将这N个数按升序重新排列。第一轮比较:将A(1)和A(2)比较,若A(1)A(2)则交换这两个数组元素的值,否则不交换;然后再用A(2)和A(3)比较,处理方法相同;以此类推,直到A(N-1)和A(N)比较后,这时A(N)中就存放了N个数中最大的数。第二轮比较:将A(1)和A(2)、A(2)和A(3),A(N-2)和A(N-1)比较,处理方法和第一轮相同,这一轮比较结束后A(N-1)中就存放了N个数中第二大的数。第N-1轮比较:将A(1)和A(2)进行比较,处理方法同上,比较结束后,这N个数按从小到大的次序排列好。这种排序方法较冒泡排

11、序,它与选择排序法的不同之处在于:选择排序法每一轮比较是拿固定位置的数组元素和其后的若干数组元素依次比较;而冒泡排序法则是将相邻的两个数组元素进行比较,实现上类似但不完全相同。Private Sub Form_click() Dim rndArray(10) As Integer Dim i As Integer, j As Integer,temp As Integer Randomize 随机语句 Print 排序前: For i = 1 To 10 rndArray(i) = Int(90 * Rnd + 10) Rnd随机函数 Print rndArray(i); For i = 1

12、To _ For j = _ To _ If _ Then temp = _ _ _ Print排序后:实验6.8加密解密编程对任意输入的英文短语加密和解密。要求(1)按照原字母ASCII码加2的规则进行加密。(2)按照加密后的字母ASCII码减2的规则进行解密。(3)用InputBox从键盘输入短语;加密和解密的结果用MsgBox输出。可以用四个命令按钮构成控件数组。编制代码时用IF-Then-Else对控件数组的下标(Index)进行判断,以便执行相应的操作。1在窗体上摆放一个命令按钮,并对其设置相关属性(见属性设置表),用复制、粘贴的方法产生另外两个命令按钮。形成控件数组,见图6-7。2

13、属性设置控件属性设置值窗体1加密解蜜命令按钮1(0)cmdOperate输入短语小四、粗体命令按钮1(1)加 密命令按钮1(2)解 密命令按钮1(3)退 出Dim sPhrase As String, sEncrypted As String 说明共用变量Dim iLen As IntegerPrivate Sub cmdOperate_Click(Index As Integer) 其中Index参数是命令按钮下标,系统会自动产生。 Dim sCurrent As String, sNew As String Dim sDecrypted As String Dim x As Integer

14、 If Index = 0 Then sPhrase = InputBox(请输入短语短语将被加密 iLen = Len(sPhrase) 计算长度 ElseIf Index = 1 Then sEncrypted = 变量初始化 For x = 1 To iLen 加密 sCurrent = Mid(sPhrase, x, 1) sNew = Chr(Asc(sCurrent) + 2) sEncrypted = sEncrypted & sNew Next x MsgBox sEncrypted, vbExclamation, 加密的短语输出加密结果 ElseIf Index = 2 Th

15、en For x = 1 To iLen sCurrent = Mid(sEncrypted, x, 1) 解密 sNew = Chr(Asc(sCurrent) - 2) sDecrypted = sDecrypted & MsgBox sDecrypted, vbExclamation, 解密的短语输出解密结果4保存文件,调试运行,结果参见图6-8。图6-8 输入、加密、解密对话框若要使YZ和yz加密变为AB和ab,即最后两个字母加密变成前两个字母而不是其它的符号,解密与此反之即可。该怎样修改程序?实验6.9旅游路线编程提供有关旅游线路、出行方式以及相应价格。旅游线路有三条,每一条旅游线都

16、提供两种出行方式,且对应的价格不同,具体数据见下表。要求:三条旅游线路的选择用一组选项按钮(单选按钮)实现;当选中某条线路时,出现与这条线路相关的两种出行方式;选中具体的出行方式后,显示出对应的价格。旅游线路出行方式价格(元/人)南京-青岛-大连双卧6日游1580单飞5日游1880南京-三峡-重庆单飞7日游轮船12日游1280南京-杭州-普陀汽车5日游780双飞3日游1080由于三条旅游线路共对应六种出行方式,当选中某条线路时,只能出现与这条线路相关的两种出行方式,另外四种出行方式要隐藏起来。所以将六种出行方式分为三组,每次出现其中的一组,隐藏其它两组。1在窗体上放置一个标签框,一个图象框(P

17、ictureBox)和一个命令按钮;2放置框架1(Frame控件),在框架中用控件数组的方式产生一组(三个)单选按纽,用来提供旅游线路。3放置框架2(Frame控件),在框架中用控件数组的方式产生一组(两个)单选按纽,用来提供第一条旅游线路所对应的出行方式。选中框架2,对其进行两次复制、粘贴操作(框架中的单选按钮会一同被复制),既产生一组(三个)框架控件数组;这三个框架中的六个单选按钮,也自动形成一组控件数组(图6-9)。将各个控件的属性设计好后,把旅游方式三个框架重叠在一起,运行界面效果如图6-10所示。注意,通过对框架2控件数组的可见性(Visible)属性的不同设置,就可以控制某一个框架

18、出现,而另两个隐藏起来。4属性设置旅游咨询标签框1价格小四、粗斜体图象框1PctPrice框架1FrmRoad单选按钮1(0)小四、斜体、华文彩云单选按钮1(1)单选按钮1(2)南京-杭州-普佗框架2(0)FrmWay旅游方式True框架2(1)false框架2(2)单选按钮2(0)单选按钮2(1)单选按钮2(2)单选按钮2(3)单选按钮2(4)单选按钮2(5)命令按钮1cmdExit5添加代码Private Sub Option1_Click(Index As Integer) Select Case Index Case 0 FrmWay(0).Visible = True 按匹配条件选定

19、旅游方式的框架可见 FrmWay(1).Visible = False 不匹配的框架不可见 FrmWay(2).Visible = False PctPrice.Cls 图象框清屏 Option2(0).Value = False 单选按钮初始化 Option2(1).Value = False Case 1 FrmWay(1).Visible = True FrmWay(0).Visible = False PctPrice.Cls Option2(2).Value = False Option2(3).Value = False Case 2 FrmWay(2).Visible = Tru

20、e FrmWay(0).Visible = False FrmWay(1).Visible = False Option2(4).Value = False Option2(5).Value = False End SelectPrivate Sub Option2_Click(Index As Integer) PctPrice.Print 1580元/人1880元/人1980元/人 Case 31280元/人 Case 4980元/人 Case 51180元/人6保存文件,调试运行。测试各种旅游线路和出行方式的组合情况,参见图6-10。请自己添加两条旅游线路,以及配套的出行方式。将旅游线路

21、改放在组合框控件中,以便选择;出行方式仍用本例中的框架控件数组方法;修改代码实现功能。习题6习题6.1选择题1如下数组声明语句,( )正确。 (A)Dim a3,4 As Integer (B)Dim a(3,4)As Integer (C)Dim a(n,n)As Integer (D)Dim a(3 4)As Integer2要分配存放如下方阵的数据,可使用数组声明语句( )来实现(不能浪费空间)。 (A)Dim a(9) As Single (B)Dim a(3,3) As Single (C)Dim a(-1 To 1,-5 To -3)As Single (D)Dim a(-3 To

22、 -1,5 TO 7)As Integer3. 如下数组声明语句,数组a包含元素的个数为( )。 Dim a(3,-2 to 2,5) (A)120 (B)75 (C)60 (D)134以下程序输出的结果是( )。 Dim a a=Array(1,2,3,4,5,6,7) For i=Lbound(a)To Ubound(a) a(i)=a(i)*a(i) Next i Print a(i) (A)49 (B)0 (C)不确定 (D)程序出错5以下程序输出的结果是( )。 Option Base 1 Private Sub Commandl_Click() Dim a%(3,3) For i=1 To 3 For j=1 To 3 If i1 And j1 Then a(i,j)=a(a(i-1,j-1),a(i,j-1)+1 E1se a(i,j)=i*j End If Print a(i,j); Next j

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1