VB程序设计.docx

上传人:牧羊曲112 文档编号:3168448 上传时间:2023-03-11 格式:DOCX 页数:24 大小:43.46KB
返回 下载 相关 举报
VB程序设计.docx_第1页
第1页 / 共24页
VB程序设计.docx_第2页
第2页 / 共24页
VB程序设计.docx_第3页
第3页 / 共24页
VB程序设计.docx_第4页
第4页 / 共24页
VB程序设计.docx_第5页
第5页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VB程序设计.docx》由会员分享,可在线阅读,更多相关《VB程序设计.docx(24页珍藏版)》请在三一办公上搜索。

1、VB程序设计五、程序设计 共12题 第1题 题号:14 - - 1) 编写程序,生成一个4行5列的二维数组,其每个数组元素是随机产生的两位数, 求该数组的最大元素及其所在的行号、列号。 算法提示首先找出最大元素,再将数组中的元素与最大元素一一比较, 若有相等元素则输出其所在位置。 窗体设计界面参见已给出的参考界面。 1) 运行程序,按“运行”按钮(Command1),生成一个4行5列的两位随机整数数组, 按参考界面格式显示在多行文本框Text1中,再调用求二维数组最大元素的通用过程, 最后将结果输出到一个多行文本框Text2中; 按“清除”按钮(Command2),则将文本框与图片框清空; 2

2、) 程序中应定义一个名为maxele的通用函数过程,用于求二维数组的最大元素。 1 1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 2)请在“*Program*”与“*End*”之间添加程序代码 3)请在指定区间 (1)先写出自定义函数过程maxele的程序代码以及Command2的代码 (2)最后完善Command1_Click事件过程代码。 ! 注意: Command1_Click过程的结束语句 End Sub及其它已经给出的代码, 均不得删除,否则无分。 答案: Private Function maxele(a As Integer) As Inte

3、ger Dim i As Integer, j As Integer Dim max As Integer max = a(1, 1) For i = 1 To 4 For j = 1 To 5 If a(i, j) max Then max = a(i, j) End If Next j Next i maxele = max End Function 2 Private Sub Command2_Click Text1.Text = Text2.Text = End Sub Private Sub Command1_Click Dim a(4, 5) As Integer Dim i As

4、 Integer, j As Integer Dim max As Integer For i = 1 To 4 For j = 1 To 5 a(i, j) = Int(Rnd * 90 + 10) Text1.Text = Text1.Text & Str(a(i, j) Next j Text1.Text = Text1.Text & vbCrLf Next i max = maxele(a) Text2.Text = 最大元素是 & max & vbCrLf Text2.Text = Text2.Text & 位置是 & vbCrLf For i = 1 To 4 For j = 1

5、To 5 If max = a(i, j) Then Text2.Text = Text2 & i & 行 & j & 列 & vbCrLf End If 3 Next j Next i 第2题 题号:9 - - 编一程序,将一维数组中元素向右循环移位,移位次数键盘输入。 例如,数组各元素的值依次为1,2,3,4,5,6,7,8,9,10; 位移3次后,各元素的值依次为8,9,10,1,2,3,4,5,6,7。 窗体设计界面参见已给出的参考界面。 1) 数组可定义为固定大小的10个元素的数组。 按“输入”按钮(Command1),则用inputbox函数逐一输入 “1-10”10个数据,并显示

6、在文本框Text1中。 在文本框Text2中输入循环移位位数 按“移位”按钮,调用通用Sub过程rmove,实现移位操作,同时将 移位后10个数据显示在文本框Text3中。 按“清除”按钮Command2,则将3个文本框清空,将焦点置于Text2上; 按“退出”按钮Command3,结束程序运行 2)程序中应定义一个通用Sub过程rmove,以实现移位操作。 1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 4 2)请在“*Program*”与“*End*”之间添加程序代码 3)请在指定区间 (1)先写出自定义Sub过程rmove的程序代码 (2)然后完成Co

7、mmand1_Click,Command3_Click,Command4_Click过程代码。 (3)最后完善Command2_Click过程代码 ! 注意: Command2_Click过程的结束语句 End Sub及其它已经给出的代码,均不得删除,否则无分。 答案: Private Sub rmove(a As Integer, m As Integer) Dim i As Integer, j As Integer, t As Integer n = UBound(a) For i = 1 To m t = a(n) 循环右移 For j = n To 2 Step -1 a(j) =

8、a(j - 1) Next j a(1) = t Next i End Sub Private Sub Command1_Click Dim i As Integer 5 Text1 = 输入原始数据并显示在文本框1中 For i = 1 To UBound(a) a(i) = Val(InputBox(A( & i & )=) Text1 = Text1 & a(i) & Next i End Sub Private Sub Command3_Click Text1 = Text2 = Text3 = Text2.SetFocus End Sub Private Sub Command4_C

9、lick End End Sub Private Sub Command2_Click Dim i As Integer, m As Integer m = Val(Text2) Call rmove(a, m) 输出右移后的数组值 For i = 1 To n Text3 = Text3 & a(i) & 6 Next i 第3题 题号:11 - - 编写程序,随机生成一个4行5列由两位整数组成的数组,并找出其中所有的谷点元素。 所谓谷点元素是指在本行内为最小,在本列内也为最小的元素。 窗体设计界面参见已给出的参考界面。 1)按“生成数组”按钮(Command1),生成随机数组并显示到图片框

10、(Picture1)中, 按“查找谷点”按钮(Command2),则找出谷点元素, 并按图示的格式显示到多行文本框(Text1)中, 按“清除”按钮Command3,清除图片框与文本框。 2) 程序中应定义一个名为cp的Sub过程,用于查找数组某行是否有谷点元素。 1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 2)请在“*Program*”与“*End*”之间添加程序代码 7 3)请在指定区间 (1)先写出自定义Sub过程cp的程序代码以及Command1,Command3的代码 (2)最后完善Command2_Click事件过程代码。 ! 注意: Com

11、mand2_Click过程的结束语句 End Sub及其它已经给出的代码, 均不得删除,否则无分。 答案: Private Sub cp(a As Integer, n%, f As Boolean, k%) Dim i%, minv% minv = a(n, 1): k = 1 For i = 2 To UBound(a, 2) If minv a(n, i) Then minv = a(n, i): k = i End If Next i For i = 1 To 4 If minv a(i, k) Then Exit Sub Next i f = True End Sub Private

12、 Sub Command1_Click Dim i%, j% 8 For i = 1 To 4 For j = 1 To 5 a(i, j) = Int(Rnd * 90) + 10 Picture1.Print a(i, j); Next j Picture1.Print Next i End Sub Private Sub Command3_Click Picture1.Cls Text1 = End Sub Private Sub Command2_Click Dim i As Integer 循环变量,控制行的变化 Dim flag As Boolean 过程调用时用于判断一行数据中是

13、否有谷点的逻辑变量 Dim k As Integer 记录每一行的最小值所在列号 For i = 1 To 4 Call cp(a, i, flag, k) If flag Then Text1 = Text1 & ( & i & , & k & ): & a(i, k) & vbCrLf End If Next i 9 第4题 题号:2 - - 编写求前n项级数和的程序。求和公式参见已给出的参考图122所示。 1)在文本框Text1中输入x值1,文本框Text2中输入n值5, 按“计算”按钮(Command1),则开始计算并在列表框List1中显示S1,S2,Sn; 按“清除”按钮(Comm

14、and2),则将两个文本框及列表框清空,焦点置于Text1上; 按“退出”按钮(Command3),结束程序运行; 2)程序中应定义一个名为fact的函数过程,用于计算阶乘值。 1)列表框、文本框、命令按钮的名称必须使用系统默认的名称, 如List1,Text1,Command1等,否则扣分。 2)窗体设计界面参见已给出的参考界面。 3)请在“*Program*”与“*End*”之间添加程序代码 请在指定区间 1)先写出自定义函数fact及Command2,Command3的程序代码 2)然后完善Command1_Click过程代码。 ! 注意: Command1_Click过程的结束语句 E

15、nd Sub及其它已经给出的代码, 均不得删除,否则无分。 10 答案: Public Function fact(n As Integer) As Long If n = 1 Then fact = 1 Else fact = n * fact(n - 1) End If End Function Private Sub Command2_Click Text1.Text = Text2.Text = List1.Clear Text1.SetFocus End Sub Private Sub Command3_Click End End Sub Private Sub Command1_C

16、lick Const pi = 3.14159265 Dim k As Integer, x As Single, n As Integer, s As Single Dim t As Single x = Text1.Text n = Text2.Text 11 For k = 1 To n t = (-1) k * (pi / 2) (2 * k) * x (4 * k + 1) / (fact(2 * k) * (4 * k + 1) s = s + t List1.AddItem S( & k & )= & s Next k 第5题 题号:4 - - 编写程序,以给定的方式标记出方阵中

17、每一行最小元素的位置。 如果某一行有多个数值相等的最小元素,也要同时标记出来。 标记方式为每一行的最小元素为 0,其他元素为 1。 窗体设计界面参见已给出的参考界面。 1)在文本框Text1中输入 N 值, 按“执行”按钮,则随机生成一个 N 行 N 列的由两位正整数组成的 N 阶方阵, 并输出到多行文本框Text2 中,同时求出每一行的最小元素并生成标记矩阵 输出到多行文本框Text3 中; 按“清除”按钮,则将3个文本框清空,将焦点置于文本框Text1上; 按“退出” 按钮,结束程序运行; 12 2)程序中应定义一个求数组某一行的最小元素值的通用Sub过程minx。 3)原始方阵数据由随机

18、函数生成 1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Text2,Command1等 2)请在“*Program*”与“*End*”之间添加程序代码 3)请在指定区间 (1)先写出自定义Sub过程minx的程序代码以及Command2_Click、 Commnad3_Click的代码 (2)最后完善Command1_Click过程代码。 ! 注意: Command1_Click过程的结束语句 End Sub及其它已经给出的代码,均不得删除, 否则无分。 答案: Private Sub minx(a As Integer, k As Integer, min_v As Int

19、eger) Dim i As Integer min_v = a(k, 1) For i = 2 To UBound(a, 1) If a(k, i) min_v Then min_v = a(k, i) Next i End Sub Private Sub Command2_Click 13 Text1.Text = Text2.Text = Text3.Text = Text1.SetFocus End Sub Private Sub Command3_Click End End Sub Private Sub Command1_Click Dim n As Integer, i As I

20、nteger, j As Integer Dim min_v As Integer, s1 As String, s2 As String Dim a As Integer, m As Integer Randomize n = Text1 ReDim a(n, n), m(n, n) For i = 1 To n For j = 1 To n m(i, j) = 1 a(i, j) = Int(Rnd * 90) + 10 s1 = s1 & Str(a(i, j) Next j s1 = s1 & vbCrLf Next i 14 For i = 1 To n Call minx(a, i

21、, min_v) For j = 1 To n If a(i, j) = min_v Then m(i, j) = 0 s2 = s2 & Str(m(i, j) Next j 第6题 题号:1 - - 从键盘上输入6名同学的成绩,分别为:87,72,56,89,92,66。将这些成绩 显示在文本框Text1中。 然后按降序对这6个成绩进行排序,并将结果显示在文本框Text2中 。窗体设计界面参见已给出的参考界面。 1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Text2,Command1等 2)用inputbox函数输入成绩。原始成绩必须为上面给出的数据,否则扣分。 3)请

22、在“*Program*”与“*End*”之间添加程序代码 答案: Private Sub Command1_Click 15 Dim i As Integer N = 6 Text1.Text = 输入并显示数据 For i = 1 To N X(i) = Val(InputBox(请输入第 & Str(i) & 个学生的成绩, 序, ) Text1.Text = Text1.Text & Str(X(i) Next i End Sub Private Sub Command2_Click 用比较交换法进行排序 Dim i As Integer, t As Integer, j As Inte

23、ger For i = 1 To N - 1 For j = i + 1 To N If X(i) b And b c Then jx = True End Function Private Sub Command2_Click Text1.Text = List1.Clear End Sub Private Sub Command1_Click Dim a(30) As Integer Dim i As Integer, k As Integer Dim n As Integer a(1) = Int(900 * Rnd) + 100 获得互不相同的数组元素值 18 Text1 = Str(

24、a(1) k = 1 Do While k 30 n = Int(900 * Rnd) + 100 If InStr(Text1, CStr(n) = 0 Then Text1 = Text1 & Str(n) k = k + 1 a(k) = n If k Mod 10 = 0 Then Text1 = Text1 & vbCrLf End If Loop For i = 1 To 30 在列表框中显示降序数 If jx(a(i) = True Then List1.AddItem a(i) Next i If List1.ListCount = 0 Then MsgBox 无降序数 第8题

25、 题号:7 - - 编写程序,找出100以内的所有素数,存放在数组P中, 并将所找到的素数,按每行10个的形式显示在文本框Text1中。 19 窗体设计界面参见已给出的参考界面。 1)按“找素数”按钮(Command1),则查找素数,并按格式要求显示在多行文本框Text1中。 2)程序中应定义一个通用函数过程Prime,以判断一个数是否为素数。 1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 2)请在“*Program*”与“*End*”之间添加程序代码 3)请在指定区间 (1)先写出自定义函数过程Prime的程序代码 (2)然后完善Command1_Cli

26、ck过程代码 ! 注意: Command1_Click过程的结束语句 End Sub及其它已经给出的代码, 均不得删除,否则无分。 答案: Private Function prime(n As Integer) As Boolean Dim I As Integer For I = 2 To Sqr(n) If n Mod I = 0 Then Exit Function Next I prime = True End Function Private Sub Command1_Click Dim I As Integer 作为循环变量 20 Dim m As Integer m作为元素个数

27、的计数器 Dim p(50) As Integer p(1) = 2 m = 1 For I = 3 To 99 Step 2 If prime(I) Then m = m + 1 p(m) = I End If Next I For I = 1 To m Text1 = Text1 & Right( & CStr(p(I), 4) If I Mod 10 = 0 Then Text1 = Text1 & vbCrLf Next I 第9题 题号:12 - - 1) 编写程序,本程序的功能是:首先按给定格式 将输入到文本框Text1中的数据(12,22,15,25,17,22,19,11,-1

28、)依次存入一个数组p, 21 然后为该组数据建立一个按从大到小次序排列的索引表并显示在文本框Text2中。 文本框Text2中的第一个数据4表示文本框1中第4个数最大; 文本框2中的最后一个数据8表示文本框1中第8个数最小。 2) 窗体设计界面参见已给出的参考界面。 1)在文本框Text1中输入测试数据,按“处理”按钮(Command1), 则按题目要求得到结果并显示在文本框Text2中; 按“清除”按钮(Command2),则将2个文本框清空,将焦点置于文本框Text1上; 按“退出”按钮(Commnad3),结束程序运行。 2)程序中应定义一个通用Sub过程lnum,用于把Text1中的原

29、始数据放入数组p中。 3) 程序中应定义一个根据数组元素的大小从大到小取其排列号的通用Sub过程Ind。 1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 2)请在“*Program*”与“*End*”之间添加程序代码 3)请在指定区间 (1)先写出自定义Sub过程lnum和Ind的程序代码以及Command2、Command3的代码 (2)最后完善Command1_Click事件过程代码。 ! 注意: 22 Command1_Click过程的结束语句 End Sub及其它已经给出的代码, 均不得删除,否则无分。 答案: Private Sub lnum(st

30、 As String, p As Integer) Dim k As Integer, t As Integer, n As Integer Do n = InStr(st, ,) If t -1 And n 0 Then t = Val(Left(st, n - 1) k = k + 1 ReDim Preserve p(k) p(k) = t st = Right(st, Len(st) - n) Else Exit Do End If Loop End Sub Private Sub Ind(p As Integer, D As Integer) Dim t As Integer, i

31、As Integer, j As Integer, maxv As Integer ReDim D(UBound(p) For i = 1 To UBound(p) D(i) = i 23 Next i For i = 1 To UBound(p) - 1 For j = i + 1 To UBound(p) If p(i) 0 Then If Int(Sqr(n) = Sqr(n) Then f = True Exit Sub End If End If f = False End Sub 26 Private Sub Command2_Click Text1.Text = End Sub

32、Private Sub Command3_Click End End Sub Private Sub Command1_Click Dim i As Integer, j As Integer Dim k As Integer, logic As Boolean, js As Integer For i = 1 To 50 For j = 1 To 7 k = i - j * j Call sub1(k, logic) If logic Then Exit For Next j If j 7 Then js = js + 1 Text1 = Text1 & Right( & Str(i), 4) If js Mod 5 = 0 Then Text1.Text = Text1.Text & vbCrLf End If Next i 第11题 题号:13 - 27 - 1) 编写程序,找出由1,2,3,4四个不同数字组成的四位整数中的素数。 2) 窗体设计界面参见已给出的参考界面。 1)单击“开始”按钮(Command1),生成由1,2,3,4 四个数字 组成的4位整数,并显示在列表框List1中,在列表框List2中显示其中的素数。 2)单击“清理”按钮(Command

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号