实验4-循环与数组

更新时间:2024-04-16 15:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VB程序设计实验四

实验目的

? ?

掌握循环嵌套

掌握一维数组和二维数组的操作

实验内容

一、单选题(答案填写在“”实验4答题卡.xlsx文件中)

1.数组具有相同的_____________。 A.下标B.类型C.数值D.存放地址

2.重定义数组大小的语句是______________。

A.Dim语句B.ReDim语句C.Static语句D.Public语句

3.使用Dim A(100) As Integer 语句声明了数组A,其下标的取值范围为____________。 A.0~100 B.1~100 C.0~99 D.1~99

4.若使用Dim A(100) As Integer 语句声明了数组A,下列引用错误的是___________。 A.A(0)=2 B.A(1)= -28 C.A(56)= A(-56) D.A(100)=A(0)+A(55)

5.如果要对已经声明的数组重新定义大小,并保留原有数据,可使用语句___________。 A.DimB.ReDimC.Dim Preserve D.ReDim Preserve

6.对于Integer 类型的数组,如果没有赋值,则所有元素的值为____________。 A.空B.0 C.1 D.最大数

7.执行重定义数组大小语句ReDim A(UBound(B))后,A数组的上界为______________。 A.B数组的上界B.B数组的上界+1 C.B数组的上界- 1 D.不确定 8.下列数组声明语句中正确的是______________。 A.Dim A(9) As Single ={1,2,3,4,5,6,7,8,9,10} B.Dim A() As Single ={1,2,3,4,5,6,7,8,9,10}

C.DimA() As Single ={1,”abc”,”ccc”,4,5,6,7,8,9,10} D.Dim A( , ) As Single ={1,2,3,4,5,6,7,8,9,10}

9.若有声明Dim a(2 ,3) as Integer,则数组a共有元素个。 A.12 B.30 C.16 D.4 10.下列程序的输出结果是______________。 Dim A() As Integer ={1,2,3,4,5,6,7} For i=0 to UBound(A) A(i)= A(i)* A(i) Next i

MsgBox (A(i))

A.49 B.0 C.不确定D.程序出错 11.关于数组的声明,正确的是__________。 A.Dim a(5) As Integer = {1,2,3,4,5,6} B.Dim a(1,6) As Integer = {1,2,3,4,5,6} C.Dim a( ) As Integer = {1,2,3,4,5,6} D.Dim a(1 to 6) As Integer = {1,2,3,4,5,6}

12.若有语句A=Array(1,2,3,4,5,6,7,8),则A(5)的值是__

A. 4 B.5 C.6

D.7

二.调试改错题

(1)程序自动产生10个10~99 之间的随机正整数,在lable1显示大的数,lable2显示小的数。找出能被2、3、5整除的数,结果显示在Label3,如图4- 1所示。程序中有3个错误,请调试改正。保存项目为shiyan4-1。

图4- 1产生随机整数

PrivateSub Button1_Click(……) Handles Button1.Click Dim a%(9), max%, i%, min% Randomize() For i = 0 To 9

a(i) = Int(Rnd() * 99 + 10)

if i=0 then min=a(i): max=a(i)

If a(i) < min Then min = a(i) Else

max = a(i) End If

If a(i) Mod (2,3,5) = 0 Then Label3.Text &= a(i) & \ End If Next i

Label1.Text &= max Label2.Text &= min End Sub

(2))随机产生15个不重复的A-Z之间的字母(包括A,Z的大写字母),存放在字符数组中。 实现的思想是,每产生一个字母,在数组中查找已产生的字母。若找到,刚产生的字母作废,重新产生;如果找不到,则产生字母放入数组中。保存项目为shiyan4-2。

Sub Button1_Click(.....) Handles Button1.Click Dim s(14) As Char ,c As Char, n%, j% s(0)=Chr(Int(Rnd()*26+65)) For n=1 To 14

re: c= Chr(Int(Rnd()*26 +65))

For j=0 To n '在已产生的字母中若找到有重复字母,则重新产生

If s(j)=c Then goto Next j

s(j)= c '没有重复的加入数组中 Next n

For j=0 To 14

Label3.Text =s(j) &“” Next j End Sub

三.程序填空题

(1)计算数组中正数之和和负数之和,最后输出这两个和数的绝对值之商。保存项目为shiyan4-3。

Private Sub Button1_Click(……) Handles Button1.Click

Dim a() As Integer = {23, -5, 23, -45, 11, 8, -3, 38, -31, 15} Dim s1, s2, i As Integer, x As Single s1 = 0: s2 = 0 For i = (1)To (2)

Label1.Text = Label1.Text &a(i) &vbCrLf If (3) Then s1 = s1 + a(i) Else

s2 = (4) End If Next i

x = s1 / Math.Abs(s2) Label2.Text = x End Sub

(2)从键盘读取40个数保存到数组a中,将一维数组中各元素的值移到后一个元素中,而最末一个元素的值移到第一个元素中去。按每行4个数的格式输出。保存项目为shiyan4-4。

Private Sub Button1_Click(……) Handles Button1.Click Dim A(10) As Integer,i, b As Integer For i = 0 To 10

A(i) = Val(InputBox(\请输入一个整数\ Next i b = A(10) For i = (1) A(i + 1) = A(i) Next i (2)

For i = 0 To 10

If i(3) 4 = 0 Then Label1.Text = Label1.Text &vbCrLf Label1.Text = Label1.Text &A(i) & \ Next i

End Sub

(3)下列程序的功能是对已知数组A,删除数组中指定值的元素。保存项目为shiyan4-5。

Private Sub Button1_Click(……) Handles Button1.Click

Dim A() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Dim key, i, j, n As Integer n = UBound(A)

Key = Val(InputBox(\输入要删除的值\ For i = 0 To n If (1) Then

For j = i + 1 To n (2) Next j ReDim (3) MsgBox(\删除完成\ Exit For End If Next i

If i> n Then MsgBox(\找不到要删除的元素\End Sub

四. 编写程序

(1)输出如下形式的乘法表。将项目保存在shiyan4-6文件夹内。

(2)有100克的药需用天平秤量,现在砝码只有1克、2克和5克共3种,要求的砝码总数为30个,有几种不同的加法?将项目保存在shiyan4-7文件夹内。

(3)建立并输出一个10×10的矩阵,该矩阵对角线元素为1,其余元素均为0。保存项目为shiyan4-8。

在VB中矩阵常用二维数组来处理,首先要定义一个二维数组A(9,9),接着可以用二重For循环实现二维数组的输入和输出,并正确处理在主、副对角线上的数组元素。

本文来源:https://www.bwwdw.com/article/e51p.html

Top