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

2020版算法與程序設計 專項測試四 進制數轉換與運算

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

2020版算法與程序設計 專項測試四 進制數轉換與運算

資源簡介

專項測試四 進制數轉換與運算
1.在文本框Text1中輸入一個十進制整數,單擊“進制數轉換”按鈕Command1,則將該十進制數轉換為八進制數,并在標簽Label3中顯示轉換結果。程序運行效果如下圖所示:
實現上述功能的VB程序如下,請在程序劃線處填入合適的代碼。
Function dtoo(x As Long) As String
  Dim y As Integer, s As String
  s = “ ”
  Do While x > 0
  y = x Mod 8
  ____①____
  s = y & s
  Loop
  ____②____
End Function
Private Sub Command1_Click()
 Dim n As Long
 n = Val(Text1.Text)
 Label3.Caption = ______③______
End Sub
(1)請在程序劃線處填入合適的代碼。
(2)程序運行時,在文本框Text1中123,則輸出的結果為________。
解析 (1)自定義函數dtoo(x)的功能是將十進制數x轉換為八進制數,十進制轉換為八進制數的方法為:除8取余,直到商為0。①處代碼為整數x除8后的整數商,因此代碼為x=x8;②處代碼表示將函數值的返回,自定義函數的函數值是通過函數名來返回,函數名為dtoo,八進制數為s,因此②處代碼為dtoo=s;③處代碼表示調用函數,參數為整數n,因此代碼為dtoo(n)。(2)十進制數123轉換為八進制數為173。
答案 (1)①x = x 8 ②dtoo = s ③dtoo(n) (2)173
2.奇偶校驗是一種校驗數據傳輸正確性的方法。其中奇校驗方法:統計二進制數據的數位中“1”的個數,若個數為奇數,則校驗位值為0,否則校驗位值為1。
小李編寫了一個計算奇校驗位值得VB程序,功能如下:在文本框Text1中輸入1~255十進制待校驗數,單擊“計算”按鈕Command1后,在文本框Text2中顯示該數對應的二進制值,并在標簽Label3中顯示該數的校驗位值。程序運行界面如圖所示。
(1)在設計程序界面時,要清空文本框中的顯示內容,應修改該文本框中的________屬性。
(2)實現上述功能的VB程序如下,請在劃線處填入合適代碼。
Private Sub Command1_Click()
 Dim a As Integer, s As String
 Dim n As Integer, t As Integer, v As Integer
 n = Val(Text1.Text)
 t = 0
 s = “ ”
 Do While n > 0
a = n Mod 2
n = n 2
t = ____①____
s = Str(a) + s
 Loop
 v = t Mod 2
 Text2.Text = s
 Label3.Caption = “校驗位值:“ + ____②____
End Sub
(3)運行該程序,在文本框Text1中輸入22,單擊“計算”按鈕,則顯示的校驗位值是________。
解析 (1)本小題主要考查的是對象的屬性。文本框的內容是由Text屬性所決定的。
(2)本小題主要考查的是程序的綜合應用能力。變量t用于統計待校驗數轉化為二進制數后數位中“1”的個數,因此①處填入的代碼為t+a;由于二進制數的數位中“1”的個數為奇數時,校驗位值為0,為偶數時,校驗位值為1,而v=t Mod 2,即t為偶數時,v=0,t為奇數時,v=1,因此v的值與所求的校驗位值正好相反,故②處填入的代碼為Str(1-v),也可以寫為 Str(Abs(v-1)),還可以寫為Str((t+1) Mod 2)。
(3)本小題主要考查的是實際應用能力。十進制22對應的二進制為10110,1的個數為3,因此檢驗位值為0。
答案 (1)Text (2)①t+a ②Str(1-v)或Str(Abs(v-1))或Str((t+1) Mod 2) (3)0
3.用VB編寫程序界面如圖所示,程序功能如下,在文本框Text1中輸入一個英文字符,單擊命令按鈕Command1,在文本框Text2中顯示字符的ASCII碼值(十六進制)。
(1)程序代碼“Private Sub Command1_Click()”中Command_Click()是指________(選填:對象名 / 屬性名 / 過程名 / 事件名 / 方法名)。
(2)為了實現上述功能,請在劃線處填入合適代碼。
Private Sub Command1_Click()
 Dim ch As String, d As Integer
 Dim h1 As Integer, h2 As Integer, h3 As String
 ch = Text1.Text
 If ch < > “ ” Then d = Asc(ch)
 h1 = d 16
 ____①____
 If ____②____Then
h3 = Str(h2)
 Else
h3=Chr (55+h2)
 End If
 Text2.Text = Str(h1) + h3
End Sub
解析 本程序的功能是將十進制數轉換為十六進制數。方法為除以16取余,需注意的是商和余數為10-15時,要用字母“A-F”表示。①處代碼的功能是求余數,因此代碼為h2 = d Mod 16;余數大于9時,要用字母“A-F”表示,因此條件為h2<10或h2<=9。
答案 (1)過程名 (2)①h2=d Mod 16 ②h2<10或h2<=9
4.編寫一個程序, 計算二個二進制數的和(二進制數)。具體功能如下:程序運行時,分別在文本框Text1、Text2中輸入兩個二進制數,單擊“計算”按鈕,則在文本框Text3中顯示計算結果。 程序運行界面如下圖所示。
(1)觀察程序代碼可知,窗體上的“計算”按鈕的名稱為________。
(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。
Private Sub Comm1_Click()
 Dim s1 As String, s2 As String, ans As String, t As String
 Dim i As Integer, j As Integer, v As Integer
 s1 = Text1.Text: s2 = Text2.Text
 If Len(s1) < Len(s2) Then
t = s1: s1 = s2: s2 = t
 End If
 For i = 1 To Len(s1) - Len(s2)
  s2 = “0” + s2
 Next i
 i = Len(s1)
 j = 0
 ans = “ ”
 Do While i > 0
______①______
ans = (v Mod 2) & ans
j = v 2
i = i - 1
 Loop
 If ______②______
 Then ans = “1” + ans
 Text3.Text = ans
End Sub 
(3)若文本框Text1中輸入的內容為“111”,文本框Text2中輸入的內容為“1101”,單擊“計算”按鈕,文本框Text3中顯示的內容是________。
解析 本題的算法思想是:首先通過高位補零的方法,使做加法運算的兩個二進制數的位數相同;然后將兩個二進制數從低位往高位逐位相加,每位相加時還需加上上一次的進位j;最后需注意的是最高位相加時的進位情況。①處為對應位相加,j為進位,因此①處的代碼為v=Val(Mid(s1,i,1))+Val(Mid(s2,i,1))+j,②處為最高位是否進位,如最高位進位,則在二進制數前面添加一位“1”,因此②處代碼為j = 1,或寫為j< >0或j>0。
答案 (1)Comm1 (2)①v = Val(Mid(s1, i, 1)) + Val(Mid(s2, i, 1)) + j ②j = 1或j< >0或j>0 (3)10100
5.編寫“十六進制加法”程序,實現如下功能:在文本框Text1和Text2中分別輸入1位十六進制數(0~F,字母必須大寫),點擊“計算”按鈕Command1,在文本框Text3中顯示兩數相加的十六進制數結果。程序運行的界面如圖所示。
(1)若要讓程序運行時,窗體Form1的標題顯示“十六進制加法”,下列操作不可行的是:________(單選,填字母:A.可在Command1_Click事件過程中添加語句Form1.Caption=“十六進制加法” / B.在窗體Form1的屬性窗口修改其caption屬性值為“十六進制加法” / C.將窗體Form1的名稱直接改為“十六進制加法”)。
(2)實現上述功能的VB程序如下,請在劃線處填寫合適的代碼。
Private Sub Command1_Click( )
 Dim a As String, b As String, s As String, c As String
 Dim x As Integer, y As Integer, z As Integer, i As Integer
a = Text1.Text
 b = Text2.Text
 s = “0123456789ABCDEF”
 For i = 0 To 15
If a = Mid(s, i + 1, 1) Then x = i
If b = Mid(s, i + 1, 1) Then y = i
 Next i
 z = x + y
 If z >=16 Then
c = “1” + ______①______
 Else
c = Mid(s, z + 1, 1)
 End If
 Text3.Text = ______②______
End Sub
(3)若在文本框Text1和Text2中都輸入“F”,點擊計算按鈕后,Text3中顯示的結果為________。
解析 (1)本題主要考查的是窗體的對象名、屬性及屬性值。(2)本題主要考查的是十六進制數的加法運算。若z>=16,則表示高位進位,而個位上的結果是z-16或z Mod 16,根據字符串s可知,數字0在字符串s的位置為1,數字1在字符串s中的位置為2,依次類推,因此①處語句為Mid(s,z-15,1)或Mid(s,z Mod 16 + 1,1);(3)本小題主要考查的是十六進制數加法運算的實際應用。十六進制數F表示15,因此FH+FH=1EH。
答案 (1)C (2)①Mid(s,z-15,1)或Mid(s,z Mod 16 + 1,1) ②C (3)1E
6.“5421BCD”碼是一種采用四位二進制數表示一位十進制數的編碼,其各位的權依次為5、4、2、1,并要求大于等于5的十進制數所對應的編碼最高位為1(如十進制數7所對應的“5421BCD”碼為1010)。轉換時,將十進制數從右至左按位轉換成對應的“5421BCD”碼,然后依次連接。小王編寫了一個VB程序,在文本框Text1中輸入十進制數,單擊“轉換”按鈕Command1,在文本框 Text2中顯示對應的“5421BCD”碼。程序運行界面如圖所示。
(1)觀察代碼,單擊“轉換”按鈕觸發的事件處理過程名是____________。
(2)為實現上述功能,請在劃線處填入合適的語句。
Private Sub Command1_Click()
 Dim x As Long, y As String, a As Integer , a1 As Integer
 Dim a2 As Integer, a3 As Integer, a4 As Integer
 x = Val(Text1.Text)
 y = “ ”
 Do While ________①________
   a = x Mod 10
   x = ________②________
a1 = a 5: a = a Mod 5
a2 = a 4: a = a Mod 4
a3 = a 2: a = a Mod 2
a4 = a
y = ________③________
 Loop
 Text2.Text = y
End Sub
(3)十進制數3721所對應的5421BCD碼為________。
解析 (1)過程名為Command1_Click;(2)本題的算法思想是:從低到高位取出十進制數的每一位數字,然后逐一對取出的數字進行分析,組成該數字的5421組合情況,并用01字符表示,最后將每個數字的對應的01串拼接起來,就是十進制數對應的5421BCD碼。用除以10取余的方法取出整數的每一位數字,直到全部數字取出為止,因此①處代碼 為x>0;②處為x除以10的整數商,因此代碼為x10;③為5421組合情況拼接在字符串y中,需注意的是高位數字的5421碼依次拼接在字符串y的前面,因此③處代碼為Str(a1)+Str(a2)+Str(a3)+Str(a4)+y。
答案 (1)Command1_Click (2)①x>0 ②x10
③Str(a1)+Str(a2)+Str(a3)+Str(a4)+y
(3)11101000100001
專項測試四 進制數轉換與運算
1.在文本框Text1中輸入一個十進制整數,單擊“進制數轉換”按鈕Command1,則將該十進制數轉換為八進制數,并在標簽Label3中顯示轉換結果。程序運行效果如下圖所示:
實現上述功能的VB程序如下,請在程序劃線處填入合適的代碼。
Function dtoo(x As Long) As String
  Dim y As Integer, s As String
  s = “ ”
  Do While x > 0
  y = x Mod 8
  ____①____
  s = y & s
  Loop
  ____②____
End Function
Private Sub Command1_Click()
 Dim n As Long
 n = Val(Text1.Text)
 Label3.Caption = ______③______
End Sub
(1)請在程序劃線處填入合適的代碼。
(2)程序運行時,在文本框Text1中123,則輸出的結果為________。
2.奇偶校驗是一種校驗數據傳輸正確性的方法。其中奇校驗方法:統計二進制數據的數位中“1”的個數,若個數為奇數,則校驗位值為0,否則校驗位值為1。
小李編寫了一個計算奇校驗位值得VB程序,功能如下:在文本框Text1中輸入1~255十進制待校驗數,單擊“計算”按鈕Command1后,在文本框Text2中顯示該數對應的二進制值,并在標簽Label3中顯示該數的校驗位值。程序運行界面如圖所示。
(1)在設計程序界面時,要清空文本框中的顯示內容,應修改該文本框中的________屬性。
(2)實現上述功能的VB程序如下,請在劃線處填入合適代碼。
Private Sub Command1_Click()
 Dim a As Integer, s As String
 Dim n As Integer, t As Integer, v As Integer
 n = Val(Text1.Text)
 t = 0
 s = “ ”
 Do While n > 0
a = n Mod 2
n = n 2
t = ____①____
s = Str(a) + s
 Loop
 v = t Mod 2
 Text2.Text = s
 Label3.Caption = “校驗位值:“ + ____②____
End Sub
(3)運行該程序,在文本框Text1中輸入22,單擊“計算”按鈕,則顯示的校驗位值是________。
3.用VB編寫程序界面如圖所示,程序功能如下,在文本框Text1中輸入一個英文字符,單擊命令按鈕Command1,在文本框Text2中顯示字符的ASCII碼值(十六進制)。
(1)程序代碼“Private Sub Command1_Click()”中Command_Click()是指________(選填:對象名 / 屬性名 / 過程名 / 事件名 / 方法名)。
(2)為了實現上述功能,請在劃線處填入合適代碼。
Private Sub Command1_Click()
 Dim ch As String, d As Integer
 Dim h1 As Integer, h2 As Integer, h3 As String
 ch = Text1.Text
 If ch < > “ ” Then d = Asc(ch)
 h1 = d 16
 ____①____
 If ____②____Then
h3 = Str(h2)
 Else
h3=Chr (55+h2)
 End If
 Text2.Text = Str(h1) + h3
End Sub
4.編寫一個程序, 計算二個二進制數的和(二進制數)。具體功能如下:程序運行時,分別在文本框Text1、Text2中輸入兩個二進制數,單擊“計算”按鈕,則在文本框Text3中顯示計算結果。 程序運行界面如下圖所示。
(1)觀察程序代碼可知,窗體上的“計算”按鈕的名稱為________。
(2)實現上述功能的VB程序如下,請在劃線處填入合適的代碼。
Private Sub Comm1_Click()
 Dim s1 As String, s2 As String, ans As String, t As String
 Dim i As Integer, j As Integer, v As Integer
 s1 = Text1.Text: s2 = Text2.Text
 If Len(s1) < Len(s2) Then
t = s1: s1 = s2: s2 = t
 End If
 For i = 1 To Len(s1) - Len(s2)
  s2 = “0” + s2
 Next i
 i = Len(s1)
 j = 0
 ans = “ ”
 Do While i > 0
______①______
ans = (v Mod 2) & ans
j = v 2
i = i - 1
 Loop
 If ______②______
 Then ans = “1” + ans
 Text3.Text = ans
End Sub 
(3)若文本框Text1中輸入的內容為“111”,文本框Text2中輸入的內容為“1101”,單擊“計算”按鈕,文本框Text3中顯示的內容是________。
5.編寫“十六進制加法”程序,實現如下功能:在文本框Text1和Text2中分別輸入1位十六進制數(0~F,字母必須大寫),點擊“計算”按鈕Command1,在文本框Text3中顯示兩數相加的十六進制數結果。程序運行的界面如圖所示。
(1)若要讓程序運行時,窗體Form1的標題顯示“十六進制加法”,下列操作不可行的是:________(單選,填字母:A.可在Command1_Click事件過程中添加語句Form1.Caption=“十六進制加法” / B.在窗體Form1的屬性窗口修改其caption屬性值為“十六進制加法” / C.將窗體Form1的名稱直接改為“十六進制加法”)。
(2)實現上述功能的VB程序如下,請在劃線處填寫合適的代碼。
Private Sub Command1_Click( )
 Dim a As String, b As String, s As String, c As String
 Dim x As Integer, y As Integer, z As Integer, i As Integer
a = Text1.Text
 b = Text2.Text
 s = “0123456789ABCDEF”
 For i = 0 To 15
If a = Mid(s, i + 1, 1) Then x = i
If b = Mid(s, i + 1, 1) Then y = i
 Next i
 z = x + y
 If z >=16 Then
c = “1” + ______①______
 Else
c = Mid(s, z + 1, 1)
 End If
 Text3.Text = ______②______
End Sub
(3)若在文本框Text1和Text2中都輸入“F”,點擊計算按鈕后,Text3中顯示的結果為________。
6.“5421BCD”碼是一種采用四位二進制數表示一位十進制數的編碼,其各位的權依次為5、4、2、1,并要求大于等于5的十進制數所對應的編碼最高位為1(如十進制數7所對應的“5421BCD”碼為1010)。轉換時,將十進制數從右至左按位轉換成對應的“5421BCD”碼,然后依次連接。小王編寫了一個VB程序,在文本框Text1中輸入十進制數,單擊“轉換”按鈕Command1,在文本框 Text2中顯示對應的“5421BCD”碼。程序運行界面如圖所示。
(1)觀察代碼,單擊“轉換”按鈕觸發的事件處理過程名是____________。
(2)為實現上述功能,請在劃線處填入合適的語句。
Private Sub Command1_Click()
 Dim x As Long, y As String, a As Integer , a1 As Integer
 Dim a2 As Integer, a3 As Integer, a4 As Integer
 x = Val(Text1.Text)
 y = “ ”
 Do While ________①________
   a = x Mod 10
   x = ________②________
a1 = a 5: a = a Mod 5
a2 = a 4: a = a Mod 4
a3 = a 2: a = a Mod 2
a4 = a
y = ________③________
 Loop
 Text2.Text = y
End Sub
(3)十進制數3721所對應的5421BCD碼為________。

展開更多......

收起↑

資源列表

<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. 主站蜘蛛池模板: 沈阳市| 巩留县| 化德县| 宜阳县| 菏泽市| 浏阳市| 正宁县| 江永县| 梅州市| 沐川县| 西畴县| 林芝县| 诸城市| 邢台市| 垫江县| 辉南县| 遵义县| 辽中县| 太白县| 绍兴县| 邛崃市| 涟水县| 万山特区| 望江县| 浦县| 雅安市| 双柏县| 南川市| 乐至县| 内黄县| 泉州市| 东宁县| 阳高县| 勐海县| 赫章县| 河东区| 舞阳县| 泸溪县| 鹤庆县| 宁强县| 桦川县|