中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

浙教版 高中信息技術 選修1 第四章 VB程序設計初級章末習題(容易程度)(含解析)

資源下載
  1. 二一教育資源

浙教版 高中信息技術 選修1 第四章 VB程序設計初級章末習題(容易程度)(含解析)

資源簡介

1120140011163300選修一第四章VB程序設計初級章末習題(簡單程度)
一、選擇題(本大題共7小題)
程序設計語言的發展經歷 ( ) 、匯編語言及高級語言。
A. 機器語言 B. pascal語言 C. vb語言 D. 自然語言
下列VB程序段的功能為:生成n個不重復的隨機整數,保存在數組a中,并升序排序。
Const n = 6
Dim a(i To n) As Integer,f(1 To 10) As Boolean
Dim tmp As Integer,i As Integer,j As Integer,t As Integer
’f數組各元素的初值置為False,代碼略
For i=1 To
? ?t = Int(1+Rnd*10)
? ?If Not f(t) Then
??? a(i)=t︰f(t)= True
??? For j=
??? ??If a(j)< a(j-1) Then
?? ?????tmp = a(j)︰a(j)= a(j-1)︰a(j-1)= tmp
?? ???End If
??? Next j
Else
?End If
Next i
上述程序段3個方框處的表達式分別為
A. (1) n-1? ??(2) 2 to i ????????(3) i = i-1
B. (1) n?? ???(2) i to 2 Step-1?? (3) i= i-1
C. (1) n-1? ??(2) 2 to i? ???????(3) t= Int(1+Rnd*10)
D. (1) n ?????(2) i to 2 Step-1 ??(3) t= Int(1+Rnd*10)
有如下VB程序段:
For i=1 To 8
? a(i)=Int(Rnd*2)
Next i
sum=0
For i=1 To 8 Step 3
? For j=i To 8
??? a(j)=1- a(j)
? Next j
? sum = sum + a(i)
Next i
Text1.Text= Str(sum)
執行程序段后,文本框Text1中顯示的內容不可能是
A. 0 B. 2 C. 3 D. 4
尋找數組元素a(1)到a(10)中最大值的VB程序段如下:
____①???????
For i = 2 To 10
If a(i) > Max Then_____②????
Next i
劃線處最合適的語句是()
A. ①Max=1?? ②Max=i B. ①Max=a(1)?? ②Max=a(i)
C. ①Max=1?? ②Max=a(i) D. ①Max=a(1)? ?②Max=i
有如下VB程序:
Dim i As Integer, j As Integer, k As String, n As Integer
n = 3
List1.Clear
For i = 1 To n
??? k = ""
??? For j = 1 To i
????? k = k + "*"
??? Next j
??? List1.AddItem k
Next i
該程序運行后,列表框List1中顯示的是(???? )
A. B. C. D.
下列VB表達式的值等于6的是()
A. Int(Rnd*5+1) B. Len(Mid(“45678”,3,1))
C. 16 mod 10 D. Abs(-6.3)
為了計算s的結果,設計了如下VB程序段:
s = 0
For i = 1 To 10
??? If i = 1 Then
??? ????__①?? ?
??? ElseIf i Mod 2 = 1 Then
??? ????__②????
??? Else
??? ????__③????
??? End If
Next i
Text1.Text = Str(s)
上述程序中劃線處可選語句為
①s=s+i/(i+1)??? ?②s=s-i/(i+1)??? ?③s=s+i
A. ①②③ B. ③①② C. ③②① D. ①③②
二、非選擇題(本大題共9小題)
若某類矩陣的大部分數據是相同值(如0),我們可以采用僅記錄不相同值(如非0數據)的方式進行壓縮.甲同學對m行n列的該類矩陣進行以下處理:
●利用一維數組x存儲矩陣:把矩陣第1行到第m行數據逐行依次保存在數組x中,
x(1)到x(n)分別存放第1行各個數據,x(n+1)到x(2*n)分別存放第2行各個數據,依次類推.
●? 對數組x中的數據進行壓縮:a(1)~a(3)依次存放矩陣的行數、列數及數值0.從數組x的第1個位置開始往后掃描,僅把非0數據所在矩陣中的行號、列號及值保存到a(4)開始的數組元素中.數組a各元素含義如圖a所示:

乙同學對數組a中的數據進行轉置處理:
●行列轉置生成轉置矩陣:從第1行到第n行逐行生成轉置矩陣,在第i行處理時,掃描數組a,若轉置矩陣當前的行號i等于原矩陣元素的列號a(j)(j=5,8,11,……),
則把 a(j)、a(j-1)及a(j+1)依次保存到數組b相應位置,即可把原矩陣第a(j-1)行a(j)列的數據轉置為矩陣第a(j)行a(j-1)列的數據.如有3行4列矩陣的轉置過程如圖b所示.

(1)若m=4,n=3,矩陣數據如下圖所示,則數組元素a(7)到a(9)的值依次為:________(填數據,用逗號分隔)

(2)甲、乙同學分別編寫程序實現矩陣數據壓縮和行列轉置.VB代碼如下,請在劃線處入合適的代碼.
Dim a(1 To 10000)As Integer '數組a存放原矩陣壓縮后的數據
Dim b(1To10000)As Integer '數組b存放行列轉置后的壓縮數據
Dim p As Integer
Private Sub Command1_Click( ?)
Dim m As Integer, n As Integer 'm、n存放原矩陣的行數和列數
Dim x(1 To 10000)As Integer '數組x存放原矩陣各個數據
Dim i As Integer, j As Integer, num As Integer
'讀取矩陣行數和列數分別存m和n,各個數據存數組x,代碼略.
'下面代碼實現數據壓縮,結果保存到數組a中
a(1)=m: a(2)=n: a(3)=0
p=__ ?① ? ? ?
For i = 1 Tom
For j = 1 Ton
___②?? ? ?
If num <> 0 Then
a(p)=i: a(p+1)=j: a(p + 2) = num
p=p + 3
End If
Next j
Next i
p=p - 1
'輸出壓縮后的數據,代碼略.
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, pos As Integer
'下面進行行列轉置,結果保存到數組b中
b(1) = a(2): b(2)=a(1): b(3) = a(3)
pos = 4
For i = 1 To b(1)
For j = 5 To p – 1 Step 3
If___③??????Then
b(pos) = a(j): b(pos+1) = a(j-1):b(pos+2) = a(j+1)
pos = pos + 3
End If
Next j
Next i
'輸出行列轉置后的數據,代碼略.
End Sub
有一組正整數,要求僅對其中的偶數進行降序排序。排序后偶數在前,奇數在后。排序示例如下。
排序前
75
78
60
86
61
75
36
88
排序后
88
86
78
60
36
75
61
75
程序運行界面如下圖所示。
實現上述功能的VB程序如下,但加框處代碼有錯,請改正。
Const n = 8
Dim a(1 To n) As Integer
Private Sub Form_Load()
?'排序前數據存儲在數組a中,并在文本框Text1中顯示代碼略
End Sub
Private Sub Command1_Click()
Dim k As Integer, i As Integer, j As Integer, t As Integer
i = 1
Do While i <= n - 1
?? k = i
?? For j = i + 1 To n
????? If a(i) Mod 2 = 1 And a(k) Mod 2 = 0 Then??? '①
????????? k = j
????? ElseIf a(k) Mod 2 = 0 And a(j) Mod 2 = 0 And a(j) > a(k) Then
????????? k = j
????? End If
?? Next j
?? If k <> i Then
????? t = a(k): a(k) = a(i): a(i) = t
?? End If
? ?i = i + k ???????????????'②
Loop
'依次輸出排序后的數據。代碼略
End Sub
古羅馬有兩種簡單的加密算法,第一種按順序替換,例如把a-y分別替換成b-z,把z替換成a,這樣可以把persistence替換成qfstjtufodf。第二種是打亂信息的順序,例<11,1,3,6,10,4,5,2,8,9,7>的含義是把第11個字符放在第一位,而把第一個字符放在第二位,然后是第3個字符,第6個字符……,這樣可以把persistence替換成eprscsieent。后來發現同時使用兩種算法,加密效果更好。可以把 persistence替換成fqstdtjffou。

下面,我們將采用vb編程實現persistence替換成fqstdtjffou的加密過程。
規則如下:1.原文只含小寫字母,且最大加密字符數為10000。
2.替換順序:a-y分別替換成b-z,把z替換成a。
3.加密方式(第二種加密方法)隨機產生并記錄(方便解密)。
VB代碼如下,請回答下面的問題:
(1)如果原文為abcz,加密方式為4,1,2,3,則密文為________。
(2)請在劃線處填入合適代碼。
Dima(1To10000)AsInteger ′a()數組記錄
加密方式
DimnAsInteger′n記錄原文字符數目
PrivateSubCommand1_Click()
DimsAsString
Dimi,jAsInteger,b(1To10000)AsString′b()數組記錄原文
s=Text1.Text
n=Len(s)
Callsc ′調用過程
Text2.Text=“”
Label3.Caption=“”
Forj=1Ton
Label3.Caption=Label3.Caption+ Str(a(j))+“”
Nextj
Fori=1Ton
b(i)=_①_′完成字符轉換
Nexti
Fori=1Ton
Text2.Text=_②_
Nexti
EndSub
Subsc()′sc過程生成加密方式
Dim m,k As Integer,judge As Boolean
m=1
Do Whilem<n+1
_③_′生成1到n之間的任意整數
judge=True
Fork=1Tom-1
If a(m)=a(k)Then judge=False
Next k
If judge=True Thenm=m+1
Loop
End Sub
PublicFunctionzh(sAsString)AsString ′zh函數實現字符轉換
Ifs=“z”Thenzh=“a”Elsezh=Chr(Asc(s)+1)
EndFunction
一個三位正整數能被3余數為2,且個位數等于1,例如:101、131等。判斷一個三位數正整數X滿足上述條件,其VB的關系表達式是? ? ? ? ??
設計一個將十進制數轉換成N進制數的程序。在文本框Text1輸入十進制正整數x,在文本框Text2輸入進制n(2≤n≤26的整數),單擊“轉換”按鈕Command1,在文本框Text3中輸出轉換結果,程序運行結果如圖所示(注意當n>9時,數位上用“A-Z”代表數值“10-25”)。
?
(1)設計程序界面時,修改窗體標題為“十進制數轉換為N進制數”,應該修改該窗體的________屬性。
(2)實現上述功能的VB程序如下,請在劃線處填入合適代碼。
Private Sub Command1_Click()
? Dim s As String
? Dim n As Integer, ?x As Integer, ?r As Integer
? x = Val(Text1.Text)
??___① ???
? s = ""
? Do While x > 0
??? r = x Mod n
??? If 0 <= r And r < 10 Then
????? s = Cstr(r) + s?
??? Else
? ????____②___??
??? End If
??? x = x \ n
? Loop
? Text3.Text = s
End Sub
小王編寫了一個VB 程序,其功能為:在文本框Text1 中輸入一個正整數n(n≤100),單擊“確定”按鈕Command1,則在列表框List1 中輸出一個由數字1~n 組成的圖形。程序運行界面如圖所示。
實現上述功能的 VB程序如下:

請回答下列問題:
(1)小王在輸入代碼時,誤將“List1.AddItem s”寫成了“List1.AddItem=s”(其他代碼均正確),則調試程序時出現的錯誤為_________?。(單選,填字母:A.溢出/ B.必選參數 / C.下標越界 / D.要求對象)? ? ??
(2)請在程序劃線處填入合適的代碼。??
下列是關于某數字的加密解密算法。其加密規則如下:計算某位數字與其位置相加得到的結果除以11的余數即為編號(其中若余數為0,編號為11),編號與字符對照表如下:
編號
1
2
3
4
5
6
7
8
9
10
11
字符
V
i
s
u
a
l
B
A
S
I
C
從對照表中找出與編號對應的字符完成加密,如下表顯示了數字“2018”的加密過程:
數字
2
0
1
8
位置
1
2
3
4
編號
3
2
4
1
加密字符
s
i
u
V
小張按照上述原理,設計了一個解密的VB程序,功能如下:單擊“解密”按鈕Command1,將文本框Text1中的密文(字符數不超過11個)進行解密,并將解密后的明文在文本框Text2中輸出。程序運行效果如第圖a所示。
(1)在設計程序界面時,應使用第圖b所示“控件工具箱”中的(填寫相應編號)添加“解密”按鈕Command1。
(2)實現上述功能的VB程序如下,請在劃線處填入合適代碼。
Private Sub Command1_ Click()
Dim s As String,s1 As String,s2 As String,ch As String,num As Integer
s="Visual BASIC"
s1=Text1. Text
s2="":ch=""
i=1
??? Do While_________①_________
???? ch=Mid(s1,i,1)
??? For j=1 To Len(s)
??? If ch=Mid(s,j,1)Then Exit For? Exit For退出For循環
Next j
_________②_________
??? s2=s2+CStr (num)?????? ?Cstr(x)在返回的字串前不加空格
??? i=i+1
??? Loop
??? Text2. Text=s2
??? EndSub
(3)若密文是“Bus”,則明文是__________________。
小王設計“模擬撤銷”程序,需要用一個“歷史記錄”,“歷史記錄”是在對字符串 s 進行插入或刪除時,將每步操作信息依次存儲得到的,操作信息由操作符(“+”表示插入,“-”表示刪除)、操作位置和操作字符串(只包含英文字母)構成,例如,“+23abc”表示在字符串 s 第 23 個位插入了“abc”,“模擬撤銷”過程按照“歷史記錄”的逆序進行,將字符串 s 的內容恢復到初始狀態。對字符串“Book”的操作與撤銷過程,如圖 a 所示。
? ? ? 小王編寫的“模擬撤銷”VB 程序如下,文本框 Text1 中的內容是撤銷前字符串,文本框 Text2 中的內容是歷史記錄,單擊“撤銷”按鈕 Command1 后,在標簽 Label1 中顯示撤銷過程,程序運行界面如圖b 所示。
(1)實觀上述功能的 VB 程序如下,在程序中出現的對象沒有 Caption 屬性的是_____。(單選,填字母:A.Label1 / B.Command1 / C.Text1 和 Text2)
(2)請在劃線處填入合適代碼。
Private Sub Command1_Click()
Dim s As String, t As String, ch As String
Dim c As String, num As String, ss As String
Dim n As Integer, i As Integer
s = Text1.Text: t = Text2.Text
c = "": num = "": ss = s
For i = Len(t) To 1 Step -1
________①________
If ch >= "a" And ch <= "z" Or ch >= "A" And ch = "Z" Then
c = ch + c
ElseIf ch >= "0" And ch <= "9" Then
num = ch + num
Else
n = Val(num)
If ch = "-" Then
s = Mid(s, 1, n - 1) + c + ________②________
Else
s = Mid(s, 1, n - 1) + Mid(s, n + Len(c), Len(s) - n - Len(c) + 1)
End If
ss= ss + "→" + s
c = "": num = ""
End If
Next i
Label1.Caption = ss
End Sub
(3)運行該程序,若文本框 Text1 中的內容是"April",文本框 Text2 中的內容是”-3p+3ri-6e”,單擊撤銷按鈕,For 循環語句執行完成后,字符串 s 的值是_____________________。
閱讀VB程序代碼,如果執行時依次輸入8和15,則輸出m的結果是__________。
center0
答案和解析
1.【答案】A
本題主要考察了程序設計語言的發展經歷:機器語言、匯編語言及高級語言。
【解答】
?根據分析可知是機器語言,故選A。
2.【答案】B
本題主要考查的是VB程序的相關知識,熟悉VB程序的代碼是解題的關鍵。
【解答】
根據題意,分析可知,(1)處生成n個不重復的隨機整數,故應填n;(2)處應填入?i to 2 Step-1 ;(3)處應填入i= i-1,故B正確。
故選B。
3.【答案】D
本題主要考查的是VB程序的相關知識,熟悉VB程序的代碼是解題的關鍵。
【解答】
根據題意,分析可知,a(i)=Int(Rnd*2),故?a(i)為0或1,文本框Text1中顯示的內容是sum;
再由sum = sum + a(i),可分析得知,sum的值為0或,或3,故ABC正確,D選項錯誤,符合題意。
?故選D。
4.【答案】B
本題考查VB基本運算與表達式,難度較易。
【解答】
根據題意,分析得出:尋找數組元素 a(1)到a(10)中最大值,①處應填Max=a(1)?? ②處應填Max=a(i) ,故B正確。
?故選B。
5.【答案】A
考查VB中循環語句嵌套的使用方法。
這是VB中循環語句嵌套的使用方法,在循環語句中套用另一個循環語句,稱為循環的嵌套。
【解答】
程序運行過程為:外循環i=1,k='““,內循環j=1,k=*,內循環結束,list1里列出“*”;進入第2次外循環i=2,k=““,內循環j=1,k=*,j=2,k=**,內循環結束,list1里第2行列出“**”;進入第3次外循環i=3,k=““,內循環j=1,k=*,j=2,k=**,j=3,k=***,內循環結束,list1第3行里列出“***”,外循環結束,程序結束。
故選A。
6.【答案】C
本題考查VB程序基本運算與表達,難度較易。
【解答】
A.Int(Rnd*5+1)=5,故A不符合題意;
B.Len(Mid(“45678”,3,1))=1,故B不符合題意;
C.16 mod 10=6,故C符合題意;
D.Abs(-6.3) =6.3,故D不符合題意。
?故選C。
7.【答案】B
【解析】略.
8.【答案】(1)2,3,2;
(2)①4;
②num=x((i-1)*n+j);
③a(j)=i或i=a(j)
【解析】
【分析】
本題主要考查VB程序的基本運算與表達式,以及其數組特性,屬于一般題.
【解析】
(1)根據題中所給矩陣,即可推出相應數組元素為2,3,2,
(2)據題中所給條件,結合數組的讀入與取出,代碼分別為①4;②num=x((i-1)*n+j);③a(j)=i或i=a(j)。
故答案為:(1)2,3,2;(2)①4;②num=x((i-1)*n+j);③a(j)=i或i=a(j)。
9.【答案】①a(k) Mod 2=1 And a(j) Mod 2=0;②i=i+1
本題主要考查學生對于VB程序的閱讀能力,掌握數組的使用方法和排序算法。理解奇數和偶數的判斷。
【解答】
根據題意,按照程序的功能:有一組正整數,要求僅對其中的偶數進行降序排序,排序后偶數在前,奇數在后;閱讀程序,分析得出,將錯誤的代碼修改為:①a(k) Mod 2=1 And a(j) Mod 2=0;②i=i+1。
故答案為:①a(k) Mod 2=1 And a(j) Mod 2=0;②i=i+1。
10.【答案】(1)abcd
(1)①zh(Mid(s,i,1))? ? ②Text2.Text+b(a(i))? ? ③a(m)=Int(Rnd*n)+1
本題主要考查加密算法,旨在考查學生的分析應用能力,理解加密算法的產生規則是解題關鍵。
???????【解答】
(1)依題意,abcz轉換成bcda,然后根據加密方式4,1,2,3加密為abcd。
(2)①由注釋“b()數組記錄原文”以及“完成字符轉換”可知,應該填與自定義函數zh有關代碼。由i=1 to n可知,應該填zh(Mid(s,i,1))。②Text2.Text+b(a(i))。由于文本框Text2輸出結果,肯定要把隨機加密方式的結合起來。③由注釋可知,填a(m)=Int(Rnd*n)+1。
11.【答案】(X mod 3=2)? and? (X mod 10=1)
本題主要考查了VB表達式,難度一般。
【解答】
根據題意,分析得出,判斷一個三位數正整數X滿足上述條件,其VB的關系表達式是(X mod 3=2)? and? (X mod 10=1)。
故答案為:?(X mod 3=2)? and? (X mod 10=1)。
12.【答案】(1)Caption;
(2)①n=val(text2.text);②s=chr(r+55) 或 s=chr(r+asc(“A”)-10)
本題考查VB代碼的閱讀與填空,是對該軟件的一個綜合運用,難度較大。
【解答】
(1)設計程序界面時,修改窗體標題為“十進制數轉換為N進制數”,應該修改該窗體的Caption屬性;
(2)分析該程序,其功能為:一個將十進制數轉換成N進制數,①處為在文本框Text2輸入進制n ,故代碼填入n=val(text2.text);②處應為s=chr(r+55)?或 s=chr(r+asc(“A”)-10)。
故答案為:(1)Caption;(2)①n=val(text2.text);②s=chr(r+55) 或 s=chr(r+asc(“A”)-10)。
13.【答案】(1)B;
(2)2*n-i
本題考查VB代碼的閱讀與填空,是對該軟件的一個綜合運用,難度一般。
【解答】
(1)小王在輸入代碼時,誤將“List1.AddItem s”寫成了“List1.AddItem=s”(其他代碼均正確),則調試程序時出現的錯誤為必選參數;
(2)通過觀察可以看出本程序出現了For語句,For語句語句應先判斷循環條件,再執行循環體,控制循環變量s,分析該段程序得出,空格處應填2*n-i。
故答案為:(1)B;(2)2*n-i。
14.【答案】?(1)③;
(2)①處代碼為:i<=Len(s1)或i<=Len(Text1.Text);
②處代碼為:num=(j-i+11) mod 11;
(3)“620”或620
本題考查的是VB語言的應用。
【解答】
(1)在設計程序界面時,應使用第圖b所示“控件工具箱”中的③添加“解密”按鈕Command1;
(2)①處變量s1存放明文,即從文本框Text1中獲取的數字,然后通過循環對明文中的數字逐個加密,當i<=Len(Text1.Text)進入循環,即此處為i<=Len(Text1.Text);
②處是對編號進行除11取余計算,即num=(j-i+11) mod 11;
(3)根據加密算法,若密文是“Bus”,則明文是620。
故答案為:?(1)③;(2)①處代碼為:i<=Len(s1)或i<=Len(Text1.Text);②處代碼為:num=(j-i+11) mod 11;(3)“620”或620。
15.【答案】(1)C;
(2)①ch=mid(t,i,1);
②mid(s,n,len(s)-n+1);
(3)Apple
本題考查的是VB編程的應用,難度不大。
【解答】
(1)實觀上述功能的 VB 程序如下,在程序中出現的對象沒有 Caption 屬性的是Text1 和 Text2,故選C;
(2)分析前后語句①處應填:ch=mid(t,i,1);
②處應填mid(s,n,len(s)-n+1);
(3)運行該程序,若文本框 Text1 中的內容是"April",文本框 Text2 中的內容是”-3p+3ri-6e”,單擊撤銷按鈕,For 循環語句執行完成后,字符串 s 的值是Apple。
故答案為:(1)C;(2)①ch=mid(t,i,1);②mid(s,n,len(s)-n+1);(3)Apple。
16.【答案】23
本題主要考查的是VB程序的相關知識,熟悉VB程序的代碼是解題的關鍵。
【解答】
分析程序,m=8,n=15,
因為8 mod 5 =Int(15/5)=3,
故執行m=m+n=8+15=23,
故答案為23.

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 前郭尔| 始兴县| 三门县| 奎屯市| 乌鲁木齐县| 出国| 浪卡子县| 濉溪县| 基隆市| 洮南市| 安阳县| 德格县| 凤城市| 延吉市| 安丘市| 德州市| 嘉禾县| 罗山县| 巢湖市| 迁西县| 琼结县| 乐昌市| 罗甸县| 锦州市| 余干县| 绥江县| 曲靖市| 临洮县| 榆树市| 苏尼特右旗| 宝兴县| 清涧县| 富川| 宜兰县| 靖远县| 永胜县| 广西| 甘孜| 行唐县| 宁津县| 厦门市|