资源描述
2021年(秋)上机试卷VB1一、改错题题目 本程序的功能是用来统计二维数组A(1 to 4,1 to 4)中所有的元素中09十个数字出现的次数,存入数组Times中并显示在窗体上。Option ExplicitPrivate Sub Form_Click()Dim a(1 To 4, 1 To 4) As Integer, i As Integer, j As IntegerDim Times(9)RandomizeFor i = 1 To 4For j = 1 To 4a(i, j) = Int(Rnd(1) * 100) + 1Print Format(a(i, j), #);Next jPrintNext iCall Stat(a, Times)For i = 1 To 10Print i; .; Times(i)Next iEnd SubPrivate Sub Stat(a() As Integer, T() As Integer)Dim i As Integer, j As Integer, Cub As Integer, K As IntegerDim Rub As Integer, Char As StringCub = UBound(a, 1): Rub = UBound(a, 2)For i = 1 To CubFor j = 1 To RubChar = LTrim(Str(a(i, j)For K = 1 To 10T (Mid(Char, K, 1) + 1Next KNext jNext iEnd Sub要求1新建工程,输入上述代码,改正程序中的错误;2改错时,不得增加或删除语句;3以Myfrm1的名字和Myprj1的名字分别将窗体和工程保存到软件A的根目录下。二、编程题题目 编写一个收购小麦与代扣农业税的程序。编程要求1程序参考界面如图所示。其中Label1对象用于显示“小麦的收购价格是:1.10元/公斤”、“农业税额:55元/亩”等提示信息。编程时不得增加或减少界面对象或改变对象的种类,但界面元素的大小、位置可以随意设置。2实现功能:(1)单击“计算”按钮,则根据输入的小麦数量以及所拥有的土地亩数,求出应交税款和应得粮税(应得粮税=小麦总金额-应缴税款),并显示在相应的文本框中;(2)单击“清除”按钮,清除四个文本框中的内容;(3)单击“结束”按钮,结束程序进行;要求 以Myfrm2的名字和Myprj2的名字分别将窗体和工程保存到软件A的根目录下。注意 考试结束,考试盘中若无指定文件,则不于给分。VB2一、改错题题目 本程序的功能是将一个正整数序列重新排列为一个新的序列。新序列排列规则是:序列左边是奇数,序列右边是偶数,奇、偶数分别从序列的两端开始依次向序列中间排放。例如,若原序列是31,58,71,5,82,45,54,41,2则新序列是31,71,5,45,41,2,54,82,58Option ExplicitOption Base 1Private Sub Form_Click()Dim a(10) As Integer, i As Integer, j As IntegerDim b(10) As Integer, k As IntegerFor i = 1 To 10a(i) = Int(Rnd * 100) + 1Print a(i);Next iPrintj = 1: k = 5For i = 1 To 10If a(i) Mod 2 = 0 Thenb(j) = a(i)j = j + 1Elseb(k) = a(i)k = k + 1End IfNext iFor i = 1 To 10Print b(i);Next iPrintEnd Sub要求1. 新建工程,输入上述代码,改正程序中的错误;2.改错时,不得增加或删除语句;3.以Myfrm1的名字和Myprj1的名字分别将窗体和工程保存到软件A 的根目录下。二、 编程题题目 编写一个收购小麦与代扣农业税的程序。 编程要求1.程序参考界面如图所示。其中Label1对象用于显示“小麦的收购价格是:1.10元/公斤”、“农业税额:55元/亩”等提示信息。编程时不得增加或减少界面对象或改变对象的种类,但界面元素的大小、位置可以随意设置。2.实现功能:(1) 单击“计算”按钮,则根据输入的小麦数量以及所拥有的土地亩数,求出应交税款和应得粮税(应得粮税=小麦总金额-应缴税款),并显示在相应的文本框中;(2) 单击“清除”按钮,清除四个文本框中的内容;(3) 单击“结束”按钮,结束程序进行;要求 以Myfrm2的名字和Myprj2的名字分别将窗体和工程保存到软件A 的根目录下。注意 考试结束,考试盘中若无指定文件,则不于给分。VB3一、改错题题目 ?+?+=-2118151312111n n f f Y式中:.3),(,2,12121+=-n f f f f f n n n(本程序运行结果是:Y=2.359646)Option ExplicitPrivate Sub Form_Click()Dim A() As Single, i As IntegerDim y As Singlei = 1DoReDim A(i)A(i) = 1 / Fib(i)If A(i) y = y + A(i)i = i + 1LoopPrint y=; yFor i = 1 To UBound(A)Print A(i)Next iEnd SubPrivate Function Fib(i As Integer) As IntegerIf i = 1 ThenFib = 1ElseIf i = 2 ThenFib = 2ElseFib(i) = Fib(i - 1) + Fib(i - 2)End IfEnd Function要求1. 新建工程,输入上述代码,改正程序中的错误;2.改错时,不得增加或删除语句;3.以Myfrm1的名字和Myprj1的名字分别将窗体和工程保存到软件A 的根目录下。二、 编程题题目编写程序,求一元二次方程的根。1 序参考界面如图所示。编程时不得增加或减少界面对象或改变对象的种类,但界面元素的大小、位置可以随意设置;界面必须显示在一屏之中。2 在存放方程系数的文本框中分别输入系数a 、b 、c 、的值,单击“计算”按钮,如根判别式小于零,则用信息框显示方程无实根的提示信息,并清除已输入的方程系数值;否则,将计算得到的方程根分别输出到两个根的文本框中。3 击“清除”按钮,清除四个文本框中的内容;(1) 单击“退出”按钮,结束程序进行;要求 以Myfrm2的名字和Myprj2的名字分别将窗体和工程保存到软件A 的根目录下。注意 考试结束,考试盘中若无指定文件,则不于给分。 VB4一、改错题题目 本程序的功能是求以下数列的和,计算精确到410-n a 为止。?+?+?+?+?+=ny 26421642142121 式中1,2,3(本程序运行的正确结果为:I=6,Y=0.6486979)。Option ExplicitPrivate Function pds(n As Integer)Dim i As Integer, pd As Integer, k As Integerpd = 1k = 1For i = n To 1 Step -1pd = pd * ik = k + 2Next ipds = pdEnd FunctionPrivate Sub Form_Click()Dim y As Single, i As Integer, temp As Singlei = 1Dotemp = 1 / pds(i)Print pds(i)If temp y = y + tempi = i + 1LoopPrint i=; i, y=; yEnd Sub要求1 新建工程,输入上述代码,改正程序中的错误;2 改错时,不得增加或删除语句;3 以Myfrm1的名字和Myprj1的名字分别将窗体和工程保存到软件A 的根目录下。二、编程题题目 编写一个加油站计费程序。编程要求1 程序参考界面如图所示。单选按钮“90号汽油”的Value 属性初始值为True 。编程时不得增加或减少界面对象或改变对象的种类,但界面元素的大小、位置可以随意设置。2 在“种类”中选择油品种类,界面上的说明文字将随之改变(设95号汽油的单价为2.45元/升,100号汽油的单价如图所示),并将数量文本框设为焦点;在数量文本框中输入需购的油品数量后,单击“计算”按钮,在总价文本框中显示所购油品种类应付的金额。3 单击“退出”按钮,结束程序进行;要求 以Myfrm2的名字和Myprj2的名字分别将窗体和工程保存到软件A 的根目录下。注意 考试结束,考试盘中若无指定文件,则不于给分。 VB5一、改错题题目 求下面数列的和,计算到第n 项的值小于510-等于为止。 ?+?+?+?+?+?+=-nn f f f x x x x x s n 1532533221 其中 ?=+=-2211121n n n f f fn n n 本程序可用x=0.5来测试,此时程序运行的正确结果为:0.6480143。Option ExplicitPrivate Function fib(n As Integer)If n = i Thenfib = 1ElseIf n = 2 Thenfib = 2Elsefib = fib(n - 1) + fib(n - 2)End IfEnd FunctionPrivate Sub Form_Click()Dim n As Integer, s As Integer, x As Integer, a As SingleDox = InputBox(输入一个绝对值小于1的数:)If Abs(x) = 1 Then Exit DoLoops = xn = 1Doa = x fib(n) / (fib(n - 1) * fib(n)If Abs(a) s = s + an = n + 1LoopPrint s=; sEnd Sub要求1建工程,输入上述代码,改正程序中的错误;2错时,不得增加或删除语句;3以Myfrm1的名字和Myprj1的名字分别将窗体和工程保存到软件A的根目录下。二、编程题题目 编程实现以下功能。1单击数组生成按钮,程序可用随机函数生成二维数组a(3,3),数组元素为两位随机正整数,将a数组里元素按矩形阵形式显示在图形框1中。每写一行后换行。2单击数组处理按钮,则将上述生成的矩阵中的最小元素与矩阵中心位置的元素交换,最后将结果矩阵在现实到图形框2中。每写一行后换行。编程要求1序必须采用循环结构处理。2.程序参考界面如图所示。其中Pictured对象用于显示方阵在处理前后的内容。编程时不得增加或减少界面对象或改变对象的种类,但界面元素的大小、位置可以随意设置。要求 以Myfrm2的名字和Myprj2的名字分别将窗体和工程保存到软件A的根目录下。注意 考试结束,考试盘中若无指定文件,则不于给分。
展开阅读全文