题库 高中信息

题干

一个十进制整数的二进制表示中,如果数字“1”的个数多于数字“0”的个数,则称该整数为A类数。如十进制整数26的二进制表示为11010,26是一个A类数。下列VB程序的功能是:统计前1000个自然数中A类数的个数,并在文本框中输出。请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim s As Integer, t As Integer, k As Integer
s = 0
For i = 1 To  1000

t = 0 : k = 0
Do While n > 0
If  n mod 2=0  Then t = t + 1 Else k = k + 1

Loop
If Then s = s + 1
Next i
Text1.Text = Str(s)
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-04-24 10:10:00

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

同类题1

VB程序设计。某微群采用问题验证的加入方式,如下图所示:

徐明设计了一个VB程序用于寻找这个以211开头、可被2012整除的6位数。其算法流程图如下图所示,

程序界面和代码编辑窗口如下图所示。

(1)上图所示流程图中采用的算法为____________(填:解析算法 / 枚举算法)。
(2)在上图程序界面所示窗体中,创建label2对象的方法正确的是___________(填字母)。
A.双击工具箱中的“”控件
B.单击工具箱中的“”控件,然后在窗体中按住鼠标左键拖曳
(3)在上图程序界面窗体的标题中显示 “寻找验证问题的答案” 字样,是通过修改该窗体对象的 _________(填:Font / Caption / Top)属性的值实现的。 
(4)上图代码编辑窗口中的VB程序代码在___________(填:加载窗体 / 单击Label2 / 单击Command1)对象时被驱动执行。
(5)徐明在代码编辑窗口中,输入“Label2.”后出现如下图所示的信息, 其中的“BackColor”是Label2的_________(填:事件名 / 对象名 / 属性名)。

(6)下图中VB程序划线处应填写的代码为_____________。

(7) 运行上图中VB程序后,弹出下图所示的出错信息提示,此时程序正执行的语句是 ___________(填字母),改正该错误应修改的语句是____________(填字母)。

A.Dim k As Integer
B.For k = 211000 To 211999
C.Label2.Caption = Str(k)
(8)保存工程后,徐明发现结果文件夹中产生了yzwt.frm、yzwt.vbp、yzwt.vbw三个文件,其中窗体文件是__________。

同类题4

过桥问题。n个旅行者在夜晚要通过一座狭窄的桥,桥上最多只能上2个人且必须借助手电筒,手电筒只有一只。为了使所有人在最短时间内过桥,设计算法如下:
(Ⅰ)如果只有1人过桥,时间为个人过桥时间。
(Ⅱ)如果有2人一起过桥,时间以慢的人为准。
(Ⅲ)如果有3个人a、b、c,时Ta<Tb<Tc,过桥方案为让a和b起过桥,a拿手电筒回来,然后与c一起过桥。
(Ⅳ)如果存在多于3个人过桥,如a、b、…y、z需要过桥,耗时Ta<Tb<…<Ty<Tx,这时有两种可选方案,选择其中用时少的,直至剩余人数少于4人。
①最快的1个将最慢的2个分别送过桥。
a拿手电筒与z过桥,然后a拿手电筒回来与y一起过桥,a再拿手电筒回来与b一起过桥。
②最快的2个先将最慢的2个送过桥。
让a、b拿手电筒先过桥,a拿手电筒回来,让y、z拿手电筒过桥,然后b拿手电筒回来与a一起过桥。
为验证方案,小明设计了相应的VB程序。首先从数据库中获取每个人的过桥时间,并显示在列表框List1中,单击“计算”按钮 Command1,在文本框Text1中输入最短耗时,界面如下图所示。
 
(1)VB程序代码如下,请在划线处填入合适的代码。
Dim n As Integer   ‘存放过河人数
Dim t (1 To 100) As Integer ‘存放每个人单独过桥时间
Private Sub Form _ load()

‘从数据库中读取每个人的过桥时间,显示在列表框List1中,并统计总人数n,代码略

End Sub
Private Sub Command1_Click()

Dim i As Integer, k As Integer, j As Integer, temp As Integer

Dim sum1 As Integer, sum2 As Integer, tsum As Integer

sum1 = 0:sum2 = 0:tsum=0

For i = 1 To n – 1 ‘对每个人的过桥耗时进行升序排序

   k = i

   For j = i + 1 To n

If ______ Then k = j

   Next j

If k <> i Then
temp t(i):t(i) = t(k):t(k) = temp
End if
Next i
i=n
do while i>3
sum1=2*t(1)+t(i-1)+t(i) ‘方案①
sum2=t(1)+2*t(2)+t(i)   ‘方案②
if sum1<sum2 then
tsum=tsum+sum2
end if
i=_____
Loop
If n = 1 Then ‘剩下1个人
tsum = tsum + t(1)
ElseIf n = 2 Then ‘剩下2个人
tsum = tsum + t(2)
Else ‘剩下3个人
tsum = _____
End If
Text1. Text = Srt(tsum)
End Sub
(2)如有5个人,他们单独过桥耗时(单位:s)如下图所示,则程序运行后文本框Text2中显示的最短耗时:_________(s)。