vb期末考试复习资料(经典总结版)(7)
a=InputBox(\请输入A边的边长\ a=Val(a)
If a<0 Then End
b=InputBox(\请输入B边的边长\ b=Val(b)
c=InputBox(\请输入C边的边长\ c=Val(c)
If a+b<=c Or b+c<=a Or c+a<=b Then
MsgBox\所输入的值不能构成三角形,请重新输入\,,\ Exit Sub End If
s=(a+b+c)/2
t = Sqr(s * (s - a) * (s - b) * (s - c)) Print\三角形的面积为:\End Sub
程序运行后,单击窗体,依次显示三个输入对话框,在三个对话框中分别输入三角形的三条边长,程序先判断输入的边长是否能构成三角形,然后决定之后的操作,用信息框显示提示信息或者在窗体上输出三角形的面积。当输入1、2、3时,将显示信息框,如图7-5所示,提示不能构成三角形,要求重新输入,并退出程序;如果输入8、7、6,则输出结果为: 三角形的面积为:20.33316
如果在第一个输入对话框中输入-1或小于0的值,则结束程序。
第七章 数组
一、选择题:
例1 在窗体上画一个命令按钮,然后编写如下程序: Option Base 1
Private Sub Command1_Click(Index As Integer) Dim Arr1(12) As Integer, Arr2(3) As Integer Dim Sum As Integer Sum = 2
For i= 1 To 12 Arr1 (i) = i Next i
For i = 1 To 3
Arr2(i) = Arr1(i * i) Next i
For i = 1 To 3
Sum = Sum + Arr2(i) Next i Print Sum End Sub
程序运行后,单击命令按钮,在窗体上的输出结果是 A.16 B.24 C.32 D.36
【分析】在该例中定义了两个一维数组,分别为Arr1和Arr2,由于使用了Option Base 1语句,因此其大小分别为10和3,接着执行三个For循环。在第一个循环中,对Arr1数组赋初值,每个元素的值与其下标相同,即Arr1(1)=1,Arr1(2)=2??。在第二个循环中,为Arr2数组的三个元素赋值,这三个值分别为Arr1数组第一、三、九个元素的值,即Arr2(1)=1、Arr2(2)=4、Arr2(3)=9。在第三个循环中,计算数组Arr2各元素的和,并把它赋给变量Sum。各元素的和为1+4+9=14,但由于变量Sum的初值为2,因此最后的输出结果为16。 【答案】A
例2 在窗体上画一个文本框,然后编写如下代码: Option Base 1
Private Sub Form_Click()
16
Dim arr
Dim Start As Integer, Finish As Integer Dim Sum As Integer arr = Array(12, 4, 8, 16) Start = LBound(arr) Finish = UBound(arr) Sum = 0
For i = Start To Finish Sum = Sum + arr(i) Next i
c = Sum / Finish Text1.Text = c End Sub
程序运行后,单击窗体,则在文本框中显示的内容是 A.40 B.10 C.12 D.16
【分析】该例首先定义了数组变量arr和三个整型变量,接着用Array函数定义了一个数组,并用LBound和UBound函数求出数组的上下界,分别存放在变量Start和Finish中。然后通过For循环求出数组中各元素的和,放在变量Sum中,最后将和除以数组的上界,实际上是求出数组各元素的平均值,即(12+4+8+16)/4=10,在文本框中显示出来。 【答案】B
例3 阅读程序: Option Base 1
Private Sub Form_Click() Dim Arr(4,4) As Integer For i= 1 To4
For j = 1 To 4
Arr(i, j) = (i - 1) * 2 +j Next j Next i
For i=3 To 4
For j = 3 To 4
Print Arr(j, i); Next j Print Next i End Sub
程序运行后,单击窗体,输出结果是 A.5 7 6 8 B.6 8 7 9 C.7 9 8 10 D.8 10 8 11
【分析】本例主要测试二维数组的输入输出操作。由于程序的开头有Option Base 1语句,因此所定义的Arr是一个4行4列的二维数组。在第一个二重For循环中,根据内层和外层循环变量的变化对数组的每个元素赋值,其计算公式为:(i-1)*2+j,其中i和j分别为外层和内层循环变量。用这个公式计算的数组Arr各元素的值如下: Arr(1,1)= 1 Arr(1,2) = 2 Arr(1,3)= 3 Arr(1,4)= 4 Arr(2,1)= 3 Arr(2,2) = 4 Arr(2,3) = 5 Arr(2,4)= 6 Arr(3,1) = 5 Arr(3,2) = 6 Arr(3,3) = 7 Arr(3,4) = 8
17
Arr(4,1)= 7 Arr(4,2) = 8 Arr(4,3) = 9 Arr(4,4) = 10
在第二个二重循环中,用Print方法输出Arr数组4个元素的值,即Arr(3,3)、Arr(3,4)、Arr(4,3)和Arr(4,4),从上面的赋值情况可以看出,这4个元素的值分别是7、8、9、10。 【答案】C
例4 在窗体上画一个文本框,然后编写如下程序: Option Base 1
Private Sub Form_Click() Dim Arr(10) As Integer For i = 6 To 10 Arr(i) = i - 3 Next i
Text 1.Text = Str(Arr(6) + Arr(Arr(6) + Arr(10))) End Sub
程序运行后,单击窗体,在文本框中显示的内容是_____ 。
【分析】在该例中,定义了一个一维数组Arr,并为其开辟了10个元素的空间,然后通过For循环为该数组的后5个元素赋值。不难看出,数组Arr后5个元素的值分别为3、4、5、6、7。最后一个语句是为文本框的Text属性赋值,这个值是Arr数组的两个元素的和,其中第一个元素是Arr(6),即3;第二个元素的下标是数组Arr第六个元素(3)和第十个元素(7)的和,即Arr(3+7)=Arr(10),而该元素的值为7。因此
Arr(6)+Arr(Arr(6)+Arr(10))=3+Arr(10)=3+7=10 【答案】10
例5 以下程序的功能是,产生10个0~1 000的随机整数,放入数组Arr中,然后输出其中的最大值。请填空。 Option Base 1
Private Sub Form_Click() Dim Arr(10) As Integer Dim Max As Integer Randomize For i= 1 To 10
Arr(i)= Int(Rnd * 1000) Next i Max=____ For i = 2 To 10 If____Then
Max = Arr(i) End If Next i Print Max End Sub
【分析】该例用Int(Rnd*1000)产生0~1 000的随机整数,通过一个For循环把这些整数放入数组Arr中。变量Max用来存放数组的最大值。为了求出数组的最大值,首先应把数组的第一个元素(即Arr(1))赋给变量Max,然后进入循环,把Max依次与数组中的其他各元素进行比较,如果某个元素比Max大,就把该元素的值赋给Max。循环结束后,变量Max中存放的就是数组的最大值。最后输出Max的值。 【答案】Arr(1)
Arr(i)>Max
例6 以下程序的功能是,程序运行后,单击命令按钮,输出结果为: 1 4 7 2 5 8 3 6 9 请填空。
18
Private Sub Command1_Click() Dim Arr(3,3) As Integer For i= 1 To 3 Forj = 1 To 3
Arr(i,j) =_____ Print Arr(i,j); Next j Print Next i End Sub
【分析】该例输出的是一个3行3列的二维数组,数组中的各元素通过外层循环变量i和内层循环变量j产生,i用来控制数组Arr的行的变化,而i用来控制数组的列的变化。每执行一次外层循环,产生并输出数组的一行。第一次执行外层循环时,产生并输出的一行为1 4 7,即内层循环变量为1时输出1,内层循环变量为2时输出4,内层循环变量为3时输出7。因此,可以根据循环变量i和j的变化,用一个公式来产生和输出指定的数组。 【答案】i+(j-1)*3 或(i-1)+j*3-2
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




