浙江省计算机vb二级机试详解

上传人:第*** 文档编号:38799728 上传时间:2018-05-08 格式:DOC 页数:17 大小:419.50KB
返回 下载 相关 举报
浙江省计算机vb二级机试详解_第1页
第1页 / 共17页
浙江省计算机vb二级机试详解_第2页
第2页 / 共17页
浙江省计算机vb二级机试详解_第3页
第3页 / 共17页
浙江省计算机vb二级机试详解_第4页
第4页 / 共17页
浙江省计算机vb二级机试详解_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《浙江省计算机vb二级机试详解》由会员分享,可在线阅读,更多相关《浙江省计算机vb二级机试详解(17页珍藏版)》请在金锄头文库上搜索。

1、实验一实验一 省二级省二级 VB 考试模拟机试(一)考试模拟机试(一)程序调试程序调试【1】在考生文件夹的 paper 子文件夹下有 modify2.bas 文件。 功能: 1 模块中的 Bubblesort 过程是冒泡排列法。 2GenerateData 过程产生 10 个1,20之间互不相同的随机整数。 3Swap 过程交换两个变量的数值。 要求: 新建工程,将模块加入到该工程中进行调试。 注意: 只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。新建工程文件名为: modify2.vbp。Private Const n = 10 Private a(1 To n) As Int

2、eger BubbleSort 过程是冒泡排序 Swap 过程交换两个变量数值 GenerateData 过程产生 10 个1,20之间互不相同的随机整数 Public Sub BubbleSort()Dim i As Integer, j As Integeri = 1DoFor j = i + 1 To nIf a(j) a(i) Then* 1 *Swap (a(j), a(i)End IfNext ji = i + 1* 2 *Loop While i = nForm1.Print “排序结果“For i = 1 To nForm1.Print a(i);Next i End Sub

3、Public Sub GenerateData()Dim i As IntegerDim j As IntegerDim b As BooleanFor i = 1 To nb = FalseDo While Not ba(i) = Int(20 * Rnd + 1)b = True* 3 *For j = 1 To i If a(i) = a(j) Thenb = FalseExit ForEnd IfNext jLoopForm1.Print a(i)Next i End Sub * 4 * Public Sub Swap(ByVal a As Integer, ByVal b As In

4、teger)Dim temp As Integertemp = aa = bb = temp End Sub解题思路:1 过程调用的两种格式:(1)利用 Call 语句调用;(2)省略 Call 及括号的省略格式。2 BubbleSort 过程是冒泡排序,其基本思想是:共有 n 个位置,依次从该位置以后的数中 挑选最大的数放置在该位置。具体步骤为:数组的第一位数和其后所有的数(从第二个到 最后一个数)依次比较,如果遇到比第一个数大的数,则交换位置;比较结束时,最大的 数就被交换到第一个位置。随后是第二个数依次和其后的所有的数比较,遇到大数就交换, 比较结束第二大的数就位于第二个位置。当 n 个

5、位置的数都挑选好时,排序完成。 注意:外层循环是 Do 循环,循环次数应是 n 次,其循环条件应该是什么?3 GenerateData 过程是产生 10 个1,20之间互不相同的随机整数。基本的外层循环是循环 n 次,目的是生成 n 个随机整数。但是由于题目要求生成的整数互不相同,所以需要嵌套 一个 Do 循环,如果生成的第 i 个数不符号要求,就继续生成该数。为了检测某数是否与之 前的数相同,需要在 Do 循环中再嵌套一个 For 循环,在该循环中拿刚生成的数依次和之 前的数比较,如果有相等的就跳出检测循环,继续生成该数。 注意:在第三层嵌套的 For 循环中,是拿 a(i)依次和位于其前的

6、每一个数比较,而不能和其 自身比较。因为 a(i)和 a(i)比较的结果肯定相等,导致程序进入死循环。4 理解参数传递的两种方式:按值传递和按地址传递。相关界面:程序设计程序设计【1】加法器程序的设计: (1)窗体上有三个文本框,上面两个用于输入加数,单击“=”按钮,将前两个文本框中 的数字和显示在下面的一个文本框中。 (2)三个文本框均为右对齐,设置相关属性,使得第三个文本框不能修改编辑。 (3)编辑程序或设置相关属性使得前两个文本框不能接受非数字健。 (4)单击“清空”按钮,三个文本框清空,第一个文本框获得焦点。解题思路1 设置对齐属性对应:Alignment。 2Locked 属性设置为

7、 True,文本框锁定,可以正常显示,但是用户不能够编辑。 3 文本框不能接受非数字键需要在 KeyPress 中对参数 KeyAscii 进行判断。 4 获得焦点利用 SetFocus 方法。相关界面程序调试程序调试【2】在考生文件夹的 paper 子文件下已有 Modify.bas 文件 (1)模块中的 sortdata 过程是产生 10 个30,50的随机整数,并按照从小到大的顺序打 印出来; (2)模块中的 Swap 过程是用于交换两个变量的值 要求:新建工程,将模块加入到该工程中进行调试。 注意: 只需要将横线位置的内容删除后填入合适的内容即可,其他代码不要改动。新建工程文件 名为:

8、Modify1.vbp。 Public Sub SortData()该过程是产生 10 个30,50的随机整数,并按从小到大的顺序打印出来。Dim a(10) As IntegerDim i As Integer, j As IntegerFor i = 1 To 10a(i) = Int(Rnd * 21 + 30)Next iFor i = 1 To 9- 1 -If a(i) a(j) Then- 2 -End IfNext jForm1.Print a(i)Next iForm1. - 3 - End SubPublic Sub Swap(a As Integer, b As Inte

9、ger)该过程是用于交换两个变量的值。Dim temp As Integertemp = aa = bb = temp End Sub解题思路:此题排序方法为冒泡排序,基本思想详见程序调试 1。相关界面:程序设计程序设计【2】题目“判断质数” 具体要求如下: 在“请输入”文本框中输入一个数字后,单击“判断” ,可在“结果为”显示判断结果。若输入的不是数字,则弹出消息框,提示信息是“输入的不是数字,无法计算” 。解题思路:质数的判定方法: 1 既不是质数也不是合数,2、3 都是质数。 对于大于 3 的数 x:利用 for 循环拿 x 依次除以从 2 至 sqr(x) ,其间如果遇到能够整 除的数

10、,则跳出循环。当循环结束时,分两种情况:如果循环控制变量大于 sqr(x) ,说明 循环是正常结束没有提前跳出,也就说明 x 是质数;否则,说明循环非正常结束,也就说 明 x 不是质数。相关界面:实验报告要求:实验报告要求:1 采用全校统一的实验报告纸张中国计量学院实验报告 。每次实验独立填写一份 实验报告。 2 完整填写“实验课程” 、 “实验名称” 、 “班级” 、 “学号” 、 “姓名” 、 “实验日期”等信息。3 四道题目调试正确后,将答案填写在实验报告纸上。程序调试题只写补充或修正的语 句,程序设计题需填写完整的程序。 4 在实验报告底面填写在程序调试中遇到的问题、错误,以及解决这些

11、问题的过程。 5 最后填写本次实验的收获。实验二实验二 省二级省二级 VB 考试模拟机试(二)考试模拟机试(二)程序调试程序调试【1】在考生文件夹的 Paper 子文件夹下已有 Modify.bas 文件 功能:(1)模块的 fand 过程是用于找到被 3、5、7 除,余数为 1 的最小的 5 个整数,并 将结果输出来。 要求:新建工程,将模块加入到该工程进行调试。 注意: (1)只需要将横线位置的内容删除后填入合适的内容即可,其他的代码不要改动。 (2)新建工程文件名为:Modify.vbp Public Sub find()该过程是用于找出被 3、5、7 除,余数为 1 的最小的 5 个整

12、数,并将结果输出来。Dim countN%, n%countN = 0n = 0Don=-1-if -2- thenForm1.Print ncountN = countN + 1End IfLoop while countN length / 2 ThenForm1.Print str1; “是回文“ElseForm1.Print str1; “不是回文“End If End Sub标准答案:1:length = Len(str1) 2:strleft = Mid(str1, k, 1) 3:strright = Mid(str1, length - k + 1, 1) 4:If strle

13、ft j Or i j And i 6 - j Then 2:Form1.Print a(i, j) 3:Form1.Print: Form1.Print相关界面:程序调试题(填空)详解程序调试题(填空)详解题目题目 11 在考试目录下的 Paper 目录中,已有模块文件 modify.bas。 2 程序功能:modify.bas 模块中的 pyzamid 过程用于打印数字金字塔。 1 222 33333 4444444 555555555 6666666 77777 888 9 3 要求:新建工程 Modify.Vbp,将 Modify.bas 模块加入到工程中进行调试。 4 注意:只需将横

14、线位置的内容删除后填入合适的内容即可,其余代码不要改动。Public sub pyzamid() Dim I as integer Dim j as integer Dim start as integer Dim num as integer For I=1 to 9 If I= 1 thenStart=20-I Num=2*I-1 ElseStart=10+I Num=19-2*I End if For j=1 to 2 Form1.print tab(start+j): 3 Next j Form1.printNext I End sub标准答案:1:5 2:num 3:Form1.Pr

15、int Trim(Str(i); 相关界面:打印结果工程资源管理器题目题目 2在考生文件夹的 Paper 子文件夹下已有 Modify1.bas 文件。 功能:模块中的 find 过程是用于从 1 到 10000 中找出这样的数,该数各位的数字的阶乘相 加之和等于该数,并将结果输出。fact 函数计算阶乘。 要求:新建工程,将模块加入到该工程中进行调试。 注意:只需要将横线位置的内容删除后填入合适的内容即可,其他代码不要改动。新建工 程文件名为:Modify1.vbpOption Explicit Public Sub Find()Dim k As Integer, i As IntegerDim a As String, n As Long, p As IntegerFor k = 1 To 10000 a = Trim(Str(k) n = 0For i = _1_p = Val(Mid(a, i, 1)n = _2_Next iIf n = k Then Form1.Print kNext k End Sub Public Function Fact(x As Integer) As Long 该函数用于计算阶乘Dim y As LongDim i%y = 1For i% = 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号