题库 高中信息

题干

有如下VB程序段:
Dim i As Integer, sum As Integer
Dim a(1 To 8) As Integer
sum = 1
a(8) = 49: a(7) = 28
For i = 6 To 1 Step -1
a(i) = a(i + 2) - a(i + 1)
If a(i) Mod 3 = 0 Then sum = sum + a(i)
Next i
text1.Text = Str(sum)
该段程序运行后,文本框Text1中显示的内容是(   )
A.21B.43C.42D.1
上一题 下一题 0.99难度 选择题 更新时间:2019-05-15 10:46:54

答案(点此获取答案解析)

同类题5

张真同学对数字系统很感兴趣,他已经学会了整数十进制转换为二进制的方法:"除2取余,逆序排列"法。通过查找资料得知,十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数部分,得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。张真同学编写了VB程序如第17题图:程序运行时,在文本框Text1中输入一个带小数的正十进制数(小于32767),点击“进制转换”按钮Command1,在文本框Text2中输出转化后的带小数的二进制数,精确到4位小数。
实现上述功能的VB程序如下,请回答下列问题:

(1)按照本程序的功能,在Text1中输入数据4.125,点击“进制转换”按钮Command1,在Text2中输出     
(2)请在画线处填入合适的代码:
Private Sub Command1_Click()
Dim k As Integer, i As Integer, pos As Integer, temp As Integer
Dim s As String, c As String, result As String
Dim s1 As Integer,s2 As Single
result = "":i = 1
s = Text1.Text
c = Mid(s, i, 1)
Do While c <> "."
i = i + 1
c = Mid(s, i, 1)
Loop
pos = i
1     
s2 = Val("0." + Mid(s, pos + 1,len(s)-pos))
'整数部分s1转化为二进制
temp = s1 Mod 2
result = str(temp) & result
s1 = s1 \ 2
Do While s1 <> 0
temp = s1 Mod 2
result = str(temp) & result
s1 = s1 \ 2   
Loop
result = result & "."
'小数部分s2转化为二进制,最多保留4位小数
k = 1
Do While        
temp = Int(s2 * 2)
result = result & str(temp)
  3   
k = k + 1
Loop
Text2.Text = result
End Sub