《2021年(秋)上機(jī)試卷》由會(huì)員分享,可在線閱讀,更多相關(guān)《2021年(秋)上機(jī)試卷(13頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、2021年(秋)上機(jī)試卷
VB1
一、改錯(cuò)題
[題目] 本程序的功能是用來統(tǒng)計(jì)二維數(shù)組A(1 to 4,1 to 4)中所有的元素中0~9十個(gè)數(shù)字出現(xiàn)的次數(shù),存入數(shù)組Times中并顯示在窗體上。
Option Explicit
Private Sub Form_Click()
Dim a(1 To 4, 1 To 4) As Integer, i As Integer, j As Integer
Dim Times(9)
Randomize
For i = 1 To 4
For j = 1 To 4
a(i, j) = Int(Rnd(1) * 100) + 1
Pri
2、nt Format(a(i, j), "###");
Next j
Print
Next i
Call Stat(a, Times)
For i = 1 To 10
Print i; "..."; Times(i)
Next i
End Sub
Private Sub Stat(a() As Integer, T() As Integer)
Dim i As Integer, j As Integer, Cub As Integer, K As Integer
Dim Rub As Integer, Char As String
Cub = UBound(a, 1):
3、Rub = UBound(a, 2)
For i = 1 To Cub
For j = 1 To Rub
Char = LTrim(Str(a(i, j)))
For K = 1 To 10
T (Mid(Char, K, 1)) + 1
Next K
Next j
Next i
End Sub
[要求]
1.新建工程,輸入上述代碼,改正程序中的錯(cuò)誤;
2.改錯(cuò)時(shí),不得增加或刪除語句;
3.以Myfrm1的名字和Myprj1的名字分別將窗體和工程保存到軟件A的根目錄下。
二、編程題
[題目] 編寫一個(gè)收購小麥與代扣農(nóng)業(yè)稅的程序。
[編程要求]
1.程序參考界面
4、如圖所示。其中Label1對象用于顯示“小麥的收購價(jià)格是:1.10元/公斤”、“農(nóng)業(yè)稅額:55元/畝”等提示信息。編程時(shí)不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置。
2.實(shí)現(xiàn)功能:
(1)單擊“計(jì)算”按鈕,則根據(jù)輸入的小麥數(shù)量以及所擁有的土地畝數(shù),求出應(yīng)交稅款和應(yīng)得糧稅(應(yīng)得糧稅=小麥總金額-應(yīng)繳稅款),并顯示在相應(yīng)的文本框中;
(2)單擊“清除”按鈕,清除四個(gè)文本框中的內(nèi)容;
(3)單擊“結(jié)束”按鈕,結(jié)束程序進(jìn)行;
[要求] 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A的根目錄下。[注意] 考試結(jié)束,考試盤中若無指定文件,則不
5、于給分。
VB2
一、改錯(cuò)題
[題目] 本程序的功能是將一個(gè)正整數(shù)序列重新排列為一個(gè)新的序列。新序列排列規(guī)則是:序列左邊是奇數(shù),序列右邊是偶數(shù),奇、偶數(shù)分別從序列的兩端開始依次向序列中
間排放。
例如,若原序列是31,58,71,5,82,45,54,41,2
則新序列是31,71,5,45,41,2,54,82,58
Option Explicit
Option Base 1
Private Sub Form_Click()
Dim a(10) As Integer, i As Integer, j As Integer
Dim b(10) As Integer, k
6、As Integer
For i = 1 To 10
a(i) = Int(Rnd * 100) + 1
Print a(i);
Next i
Print
j = 1: k = 5
For i = 1 To 10
If a(i) Mod 2 = 0 Then
b(j) = a(i)
j = j + 1
Else
b(k) = a(i)
k = k + 1
End If
Next i
For i = 1 To 10
Print b(i);
Next i
Print
End Sub
[要求]
1. 新建工程,輸入上述代碼,改正程序中的錯(cuò)誤;
2.改錯(cuò)時(shí)
7、,不得增加或刪除語句;
3.以Myfrm1的名字和Myprj1的名字分別將窗體和工程保存到軟件A 的根目錄下。
二、 編程題
[題目] 編寫一個(gè)收購小麥與代扣農(nóng)業(yè)稅的程序。
[編程要求]
1.程序參考界面如圖所示。其中Label1對象用于顯示“小麥的收購價(jià)格是:1.10元/公斤”、“農(nóng)業(yè)稅額:55元/畝”等提示信息。編程時(shí)不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置。
2.實(shí)現(xiàn)功能:
(1) 單擊“計(jì)算”按鈕,則根據(jù)輸入的小麥數(shù)量以及所擁有的土地畝數(shù),求出應(yīng)交稅款
和應(yīng)得糧稅(應(yīng)得糧稅=小麥總金額-應(yīng)繳稅款),并顯示在相應(yīng)的文本框中;
(
8、2) 單擊“清除”按鈕,清除四個(gè)文本框中的內(nèi)容;
(3) 單擊“結(jié)束”按鈕,結(jié)束程序進(jìn)行;
[要求] 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A 的根目錄下。
[注意] 考試結(jié)束,考試盤中若無指定文件,則不于給分。
VB3
一、改錯(cuò)題
[題目] ???+++???+++++=--2
118151312111n n f f Y
式中:.3),(,2,12121≥+===--n f f f f f n n n
(本程序運(yùn)行結(jié)果是:Y=2.359646)
Option Explicit
Private Sub Form_Click()
Dim A()
9、 As Single, i As Integer
Dim y As Single
i = 1
Do
ReDim A(i)
A(i) = 1 / Fib(i)
If A(i) y = y + A(i)
i = i + 1
Loop
Print "y="; y
For i = 1 To UBound(A)
Print A(i)
Next i
End Sub
Private Function Fib(i As Integer) As Integer
If i = 1 Then
Fib = 1
ElseIf i = 2 Then
Fib = 2
Else
Fib
10、(i) = Fib(i - 1) + Fib(i - 2)
End If
End Function
[要求]
1. 新建工程,輸入上述代碼,改正程序中的錯(cuò)誤;
2.改錯(cuò)時(shí),不得增加或刪除語句;
3.以Myfrm1的名字和Myprj1的名字分別將窗體和工程保存到軟件A 的根目錄下。
二、 編程題
[題目]編寫程序,求一元二次方程的根。
1. 序參考界面如圖所示。編程時(shí)不得增加或減少界面對象或改變對象的種類,但
界面元素的大小、位置可以隨意設(shè)置;界面必須顯示在一屏之中。
2. 在存放方程系數(shù)的文本框中分別輸入系數(shù)a 、b 、c 、的值,單擊“計(jì)算”按鈕,
如根判別式小于零,
11、則用信息框顯示方程無實(shí)根的提示信息,并清除已輸入的
方程系數(shù)值;否則,將計(jì)算得到的方程根分別輸出到兩個(gè)根的文本框中。
3. 擊“清除”按鈕,清除四個(gè)文本框中的內(nèi)容;
(1) 單擊“退出”按鈕,結(jié)束程序進(jìn)行;
[要求] 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A 的根目錄下。
[注意] 考試結(jié)束,考試盤中若無指定文件,則不于給分。
VB4
一、改錯(cuò)題
[題目] 本程序的功能是求以下數(shù)列的和,計(jì)算精確到410-≤n a 為止。
???+???????+???+??+?+=n
y 26421642142121 式中1,2,3…(本程序運(yùn)行的正確結(jié)
12、果為:I=6,Y=0.6486979)。
Option Explicit
Private Function pds(n As Integer)
Dim i As Integer, pd As Integer, k As Integer
pd = 1
k = 1
For i = n To 1 Step -1
pd = pd * i
k = k + 2
Next i
pds = pd
End Function
Private Sub Form_Click()
Dim y As Single, i As Integer, temp As Single
i = 1
Do
13、
temp = 1 / pds(i)
Print pds(i)
If temp y = y + temp
i = i + 1
Loop
Print "i="; i, "y="; y
End Sub
[要求]
1. 新建工程,輸入上述代碼,改正程序中的錯(cuò)誤;
2. 改錯(cuò)時(shí),不得增加或刪除語句;
3. 以Myfrm1的名字和Myprj1的名字分別將窗體和工程保存到軟件A 的根目錄下。
二、編程題
[題目] 編寫一個(gè)加油站計(jì)費(fèi)程序。
[編程要求]
1. 程序參考界面如圖所示。單選按鈕“90號(hào)汽油”的Value 屬性初始值為True 。編程時(shí)不
得增加或減少界面對象或改變
14、對象的種類,但界面元素的大小、位置可以隨意設(shè)置。
2. 在“種類”中選擇油品種類,界面上的說明文字將隨之改變(設(shè)95號(hào)汽油的單價(jià)為2.45
元/升,100號(hào)汽油的單價(jià)如圖所示),并將數(shù)量文本框設(shè)為焦點(diǎn);在數(shù)量文本框中輸入需購的油品數(shù)量后,單擊“計(jì)算”按鈕,在總價(jià)文本框中顯示所購油品種類應(yīng)付的金額。
3. 單擊“退出”按鈕,結(jié)束程序進(jìn)行;
[要求] 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A 的根目錄下。
[注意] 考試結(jié)束,考試盤中若無指定文件,則不于給分。
VB5
一、改錯(cuò)題
[題目] 求下面數(shù)列的和,計(jì)算到第n 項(xiàng)的值小于5
10-等于為
15、止。 ???+?+???+?+?+?+=-n
n f f f x x x x x s n 1532533221 其中 ?????>==+=--2211121
n n n f f fn n n 本程序可用x=0.5來測試,此時(shí)程序運(yùn)行的正確結(jié)果為:0.6480143。
Option Explicit
Private Function fib(n As Integer)
If n = i Then
fib = 1
ElseIf n = 2 Then
fib = 2
Else
fib = fib(n - 1) + fib(n - 2)
End If
End Function
16、
Private Sub Form_Click()
Dim n As Integer, s As Integer, x As Integer, a As Single
Do
x = InputBox("輸入一個(gè)絕對值小于1的數(shù):")
If Abs(x) >= 1 Then Exit Do
Loop
s = x
n = 1
Do
a = x ^ fib(n) / (fib(n - 1) * fib(n))
If Abs(a) s = s + a
n = n + 1
Loop
Print "s="; s
End Sub
[要求]
1.建工程,輸入上述代碼,改正程序中
17、的錯(cuò)誤;
2.錯(cuò)時(shí),不得增加或刪除語句;
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í)不得增加或減少界面對象或改變對象的種類,但界面元素的大小、位置可以隨意設(shè)置。
[要求] 以Myfrm2的名字和Myprj2的名字分別將窗體和工程保存到軟件A的根目錄下。[注意] 考試結(jié)束,考試盤中若無指定文件,則不于給分。