2021年(秋)上機(jī)試卷
2021年(秋)上機(jī)試卷VB1一、改錯題題目 本程序的功能是用來統(tǒng)計(jì)二維數(shù)組A(1 to 4,1 to 4)中所有的元素中09十個數(shù)字出現(xiàn)的次數(shù),存入數(shù)組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的根目錄下。二、編程題題目 編寫一個收購小麥與代扣農(nóng)業(yè)稅的程序。編程要求1程序參考界面如圖所示。其中Label1對象用于顯示“小麥的收購價格是:1.10元/公斤”、“農(nóng)業(yè)稅額:55元/畝”等提示信息。編程時不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置。2實(shí)現(xiàn)功能:(1)單擊“計(jì)算”按鈕,則根據(jù)輸入的小麥數(shù)量以及所擁有的土地畝數(shù),求出應(yīng)交稅款和應(yīng)得糧稅(應(yīng)得糧稅=小麥總金額-應(yīng)繳稅款),并顯示在相應(yīng)的文本框中;(2)單擊“清除”按鈕,清除四個文本框中的內(nèi)容;(3)單擊“結(jié)束”按鈕,結(jié)束程序進(jìn)行;要求 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A的根目錄下。注意 考試結(jié)束,考試盤中若無指定文件,則不于給分。VB2一、改錯題題目 本程序的功能是將一個正整數(shù)序列重新排列為一個新的序列。新序列排列規(guī)則是:序列左邊是奇數(shù),序列右邊是偶數(shù),奇、偶數(shù)分別從序列的兩端開始依次向序列中間排放。例如,若原序列是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 的根目錄下。二、 編程題題目 編寫一個收購小麥與代扣農(nóng)業(yè)稅的程序。 編程要求1.程序參考界面如圖所示。其中Label1對象用于顯示“小麥的收購價格是:1.10元/公斤”、“農(nóng)業(yè)稅額:55元/畝”等提示信息。編程時不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置。2.實(shí)現(xiàn)功能:(1) 單擊“計(jì)算”按鈕,則根據(jù)輸入的小麥數(shù)量以及所擁有的土地畝數(shù),求出應(yīng)交稅款和應(yīng)得糧稅(應(yīng)得糧稅=小麥總金額-應(yīng)繳稅款),并顯示在相應(yīng)的文本框中;(2) 單擊“清除”按鈕,清除四個文本框中的內(nèi)容;(3) 單擊“結(jié)束”按鈕,結(jié)束程序進(jìn)行;要求 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A 的根目錄下。注意 考試結(jié)束,考試盤中若無指定文件,則不于給分。VB3一、改錯題題目 ?+?+=-2118151312111n n f f Y式中:.3),(,2,12121+=-n f f f f f n n n(本程序運(yùn)行結(jié)果是: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 序參考界面如圖所示。編程時不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置;界面必須顯示在一屏之中。2 在存放方程系數(shù)的文本框中分別輸入系數(shù)a 、b 、c 、的值,單擊“計(jì)算”按鈕,如根判別式小于零,則用信息框顯示方程無實(shí)根的提示信息,并清除已輸入的方程系數(shù)值;否則,將計(jì)算得到的方程根分別輸出到兩個根的文本框中。3 擊“清除”按鈕,清除四個文本框中的內(nèi)容;(1) 單擊“退出”按鈕,結(jié)束程序進(jìn)行;要求 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A 的根目錄下。注意 考試結(jié)束,考試盤中若無指定文件,則不于給分。 VB4一、改錯題題目 本程序的功能是求以下數(shù)列的和,計(jì)算精確到410-n a 為止。?+?+?+?+?+=ny 26421642142121 式中1,2,3(本程序運(yùn)行的正確結(jié)果為: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 的根目錄下。二、編程題題目 編寫一個加油站計(jì)費(fèi)程序。編程要求1 程序參考界面如圖所示。單選按鈕“90號汽油”的Value 屬性初始值為True 。編程時不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置。2 在“種類”中選擇油品種類,界面上的說明文字將隨之改變(設(shè)95號汽油的單價為2.45元/升,100號汽油的單價如圖所示),并將數(shù)量文本框設(shè)為焦點(diǎn);在數(shù)量文本框中輸入需購的油品數(shù)量后,單擊“計(jì)算”按鈕,在總價文本框中顯示所購油品種類應(yīng)付的金額。3 單擊“退出”按鈕,結(jié)束程序進(jìn)行;要求 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A 的根目錄下。注意 考試結(jié)束,考試盤中若無指定文件,則不于給分。 VB5一、改錯題題目 求下面數(shù)列的和,計(jì)算到第n 項(xiàng)的值小于510-等于為止。 ?+?+?+?+?+?+=-nn f f f x x x x x s n 1532533221 其中 ?>=+=-2211121n n n f f fn n n 本程序可用x=0.5來測試,此時程序運(yùn)行的正確結(jié)果為: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的數(shù):")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的根目錄下。二、編程題題目 編程實(shí)現(xiàn)以下功能。1單擊數(shù)組生成按鈕,程序可用隨機(jī)函數(shù)生成二維數(shù)組a(3,3),數(shù)組元素為兩位隨機(jī)正整數(shù),將a數(shù)組里元素按矩形陣形式顯示在圖形框1中。每寫一行后換行。2單擊數(shù)組處理按鈕,則將上述生成的矩陣中的最小元素與矩陣中心位置的元素交換,最后將結(jié)果矩陣在現(xiàn)實(shí)到圖形框2中。每寫一行后換行。編程要求1序必須采用循環(huán)結(jié)構(gòu)處理。2.程序參考界面如圖所示。其中Pictured對象用于顯示方陣在處理前后的內(nèi)容。編程時不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置。要求 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A的根目錄下。注意 考試結(jié)束,考試盤中若無指定文件,則不于給分。