学进去-教育应平等而普惠
排序:
限于篇幅仅展示1000道试题,请根据关键词精准搜索
有多人在不同楼层要乘坐同一部电梯,所有人都是去往更高楼层,电梯初始位置为第一批用户出发的楼层位置。电梯在运行时,上升一层需耗时3秒,在某一层停留时(含电梯初始位置和电梯结束位置),不论有多少人进出都算8秒。小马同学利用上述算法编写了一个VB程序,在列表框list1中显示所有人的出发与到达楼层,按照出发楼层升序(出发楼层相同按到达楼层升序)排序,在列表框list2中输出排序后结果,最后在文本框Text1中输出电梯本次运行的总时间。程序运行界面如图所示,回答下列问题:

(1)若有5批用户出发与到达楼层分别是“10-25、5-15、15-20、15-30、5-10”,按照上述电梯运行规则,则电梯本次运行的总时间为_____秒。
(2)给划线处填上合适代码,使程序完整。
Dim a(1To10) As Integer,b(1To10) As Integer
Private Sub Command1_Click()
Dim i As Integer,time As Integer,k As Integer
Dim c(1To20) As Integer,nc As Integer
c(1)=a(1):nc=1
For i=1 To 9'删除起点重复数据后添加到数组c
If a(i)<>a(i+1)Then
nc=nc+1
____
EndIf
Next i
Fori=1To10'删除终点重复数据后添加到数组c
k=nc
Do While b(i)<c(k)
k=k-1
Loop
lf ____Then'非重复数据(新停靠楼层)添加到数组c
For j=nc To k+1 Step-l
c(j+1)=cj)
Next j
nc=nc+1
c(j+1)=b(i)
End If
Next i
time=(c(nc)-c(1))*3+nc*8
Text1.Text="总时间--"+Str(time)+"秒"
End Sub
Private Sub Form_Load()
'生成10批人的起止楼层,分别给数组a和b,并在列表框list1输出,代码略.
For i=1 To 9
For j=10 To i+1 Step-1
If a(j)<a(j-1)Or___Then
t=a(j):a(j)=a(j-1):a(j-1)=t
t=b(j):b(j)=b(j-1):b(j-1)=t
End If
Next j
Next i
For i=1 To 10
List2.AddItem Str(a(i))+Str(b(i))
Next i
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
一位茶叶商人从南方收购了n吨新茶,由于产地偏僻不通铁路,茶商准备先沿水路运到武汉,再发往全国各地销售。码头上只有10条规格不同的小货船,每条船舶都不足以装载全部茶叶。各船舶的最大载重量分别为W(i)吨,需f(i)费用(该艘船每吨的费用)(1≤i≤10)。当然,由于茶商是老主顾,而且货船舶还可以搭配载其他货物,因此船主比较客气,声称可以装一部分货物,按实际装多少货物计费(例如,只装了1/3吨,则费用为1/3*f(i))请问茶商应该选择哪些货船,使得费用最低。若有费用相同,输出用船数最少的。
解题思路:随机生成10条船的载重量[1,10]和费用[1,30],然后将它们按费用从小到大排序,若费用相同,则载重大的在前,运输时,先把费用低的船装满,再按费用向下将船装好,运输。

 

图a
(1)根据上图a所示,可以发现有_________(填数字)个对象没有caption属性。
(2)根据上述描述设计如下VB程序,请在划线处填入合适的代码。
Dim f(1 To 10)As Integer, w(1 To 10)As Integer, b(1 To 10)As Integer
Private Sub Command2_Click()
Dim n As Integer, count As Integer, yf As Integer
Dims As String, i as integer
n = Val(Text1.Text)
count = 0
yf = 0
cz = n
i = 1
Do While n > 0
If n >= w(b(i))Then
____
Else
yf = yf + n*f(b(i))
End If
count=count+1
s = s + Str(b(i))+ "号船"
i=i+1
____
Loop
Label2.Caption="总计费用为:"+ Str(yf)+ "元" + Str(count)+" 条船,分别为"+s
End Sub
Private Sub form_load()
Dim t As Integer, i as integer, j as integer
Listl. Clear
List1. AddItem "编号载重费用'"
For i=1 To 10
w(i)= Int(Rnd*10+1)
f(i)= Int(Rnd*30+1)
b(i)=i
Listl. Addltem Str(b(i))+ "   " + Str(w(i))+ "   " + Str(f(i))
Next i
For i=1 To 9
For j=10 To i+1 Step-1
If ____Then
t=b(j):b(j)=b(j-1):b(j-1)=t
End If
Next j
Next i
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
字符串的变换和还原。
“字符串变换”按以下规则生成新字符串:
(1)若当前字符不是数字字符,则将其添加到新的字符串中;
(2)若当前字符是数字字符,且它之后没有后继字符,则将其添加到新的字符串中;
(3)若当前字符是数字字符,且它之后还有后继字符,则将当前字符所表示的数字设为 n,并将它的后继字符复制 n+1 次后添加到新的字符串中。该后继字符不再参与下一次变换。
(4)上述一次变换为一组,在不同组之间另外插入一个下划线字符“_”用于分隔。
例如:字符串“26ab5g8”变换后的结果为“666_a_b_gggggg_8”。
“字符串还原”则是“字符串变换”的相反操作,例如:将字符串“666_a_b_gggggg_8”还原为“26ab5g8”。
实现上述功能的 VB 程序如下。
(1)在以下代码中出现了_________ 类控件(填数字)。
(2)请在划线处填入合适的代码。
(3)加框处的代码有错,请改正。
Private Sub Command1_Click() ' 字符串变换
Dim s1 As String, s2 As String, ch1 As String, ch2 As String
Dim i As Integer, j As Integer, n As Integer

s1 = Text1.Text

s2 = ""

For i = 1 To Len(s1)
ch1 = Mid(s1, i, 1)
If ch1 >= "0" And ch1 <= "9" And i < Len(s1) Then
_______
ch2 = Mid(s1, i + 1, 1)
For j = 1 To n
s2 = s2 + ch2
Next j
________

Else

s2 = s2 + ch1

End If

If i <> Len(s1) Then s2 = s2 + "_"

Next i

Text2.Text = s2

End Sub
Private Sub Command2_Click() ' 字符串还原
Dim s2 As String, s3 As String, ch As String
Dim i As Integer, j As Integer, n As Integer
s2 = Text2.Text
s3 = ""
For i = 1 To Len(s2)

ch = Mid(s2, i, 1)

n = 0

j = i + 1

Do While Mid(s2, j, 1) = ch
j = j + 1
n = n + 1

Loop

i = j

If   Then s3 = s3 + CStr(n) ' Cstr()的作用是去掉字符串前面的空格_______ 

s3 = _______ 

If ch = "_" Then i = i + 1
Next i
Text3.Text = s3
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
填写n阶(n为奇数)幻方的口诀:
1 居上行正中央,依次斜填切莫忘,上出框界往下写,右出框时左边放,重复便在下格填,出角重复一个样。
(1)1 居上行正中央——数字 1 放在首行最中间的格子中;
(2)依次斜填切莫忘——向右上角斜行,依次填入数字;
(3)上出框界往下写——如果右上方向出了上边界,就以出框后的虚拟方格位置为基准,将数字竖直降落至底行对应的格子中;
(4)右出框时左边放——同上,向右出了边界,就以出框后的虚拟方格位置为基准,将数字平移至最左列对应的格子中;
(5)重复便在下格填——如果数字{N}右上的格子已被其它数字占领,就将{N+1}填写在{N}下面的格子中;
(6)出角重复一个样——如果朝右上角出界,和“重复”的情况做同样处理

Dim a(1 To 1000) As Integer
Dim k As Integer, i As Integer, s As String
Dim n As Integer, j As Integer
Function geshi(s1 As String, x As Integer) As String
'此函数用于输出时补足空格对齐
Do While Len(s1) < x
s1 = " " + s1
Loop
geshi = s1
End Function
Private Sub Command1_Click() '生成幻方
List1.Clear: Text1.Enabled = False: Command1.Enabled = False
Command2.Enabled = True: Command4.Enabled = True
n = Val(Text1.Text)
k =①_________________
a(k) = 1
num = 2
Do While num <= n * n
If k < n Then '当前位置是第1行,但不是最右边列
k = k + (n - 1) * n + 1
ElseIf k = n Then '当前位置是第1行最右边列
k = k + n
ElseIf ②_________________ Then      '非第1行的最右边列时
k = k - 2 * n + 1
Else                  '一般情况
k = k - n + 1
End If  
If a(k) <> 0 Then k = k + 2 * n - 1    '新位置处已有数字时
a(k) = ③____________________
num = num + 1
Loop
s = ""
For i = 1 To n * n
s = s + geshi(Str(a(i)), 5)   '每项输出宽度为5个字符的位置
If i Mod n = 0 Then
List1.AddItem s
s = ""
End If
Next i
List1.AddItem "--------------------------------"
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
数轴上有n个闭区间,现要删除尽可能少的区间,使剩下的区间都不相交。若区间与另一区间之间仅有端点是相同的,不算做区间相交,例如,[1,2]和[2,3]是不相交区间。解决该问题的算法思想:(1)首先对所有区间进行排序:右端点为主要关键字,左端点为次要关键字都升序排序;(2)然后在排序后的结果中依次统计不相交的区间个数,最后根据不相交的区间个数计算需删掉的区间个数。
编写VB程序,实现上述功能:程序运行时,随机产生n个闭区间(保证左端点值<右端点值),并排序后显示在列表框List1中。单击“计算”按钮后,在列表框List2中显示最终区间情况,在文本框Text1中显示删除区间的个数。程序运行界面如图所示。
请回答下列问题:
(1)界面中“计算”按钮的对象名为________________。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
(3)程序中加框处代码有错,请改正。

Const n=5
Dim a(1 To 2*n)As Integer
Dim d(1 To 2*n)As Integer
Private Sub Form_Load()
’随机产生n个闭区间,a(1)、a(2)为第1个
区间的左端点和右端点,a(3)、a(4)为第2
个区间的左端点和右端点,…a(2*n-1)、
a(2*n)为第n个区间的左端点和右端点。
For i=1 To n-1
For j=i+1 To n
If a(2*i)〉a(2*j)0r___________________Then
t=a(2*i):a(2*i)=a(2*j):a(2*j)=t
t=a(2*i-1):a(2*i-1)=a(2*j-1):a(2*j-1)=t
End If
Next j
Next i
’排序后的区间情况显示在列表框List1中,代码略。
End Sub
Private Sub Cmdl_Click()
Dim k As Integer,i As Integer,c As Integer
c=1
List2.Addltem"["+Str(a(1))+","+Str(a(2))+"]"
k=_______________
For i=2 To n
If 2*i-1 >k ________Then
c=c+1
k=a(2*i)
List2.AddItem"["+Str(a(2*i-1))+","+Str(a(2*.i))+"]"
End If
Next i
Text1.Text="删除"+_________________+"个区间"
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
果园里有n堆果子放在地上,现要将所有果子合并成一堆。每次只能合并两堆果子,消耗的体力等于两堆果子的重量之和。显然,n堆果子需要经过n-1次合并。合并果子的过程中总共消耗的体力等于每次合并所耗体力之和。为了尽可能地节省体力,我们每次都选择重量最小两堆进行合并。例如,有三堆果子,重量依次为1,2,9。可以先将1、2堆合并,新堆重量为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,重量为12,耗费体力为12。所以总共耗费体力为3+12=15。可以证明15为最小的体力耗费值。
编写VB程序,实现上述合并功能。运行程序时,将n堆果子的重量从数据库读入到a数组。单击“合并”按钮Command1后,在文本框Text1中输出最小的体力耗费值。请回答下列问题:
(1)若要清空文本框Text1中的内容,能实现该功能的语句是______(单选,填字母:A. Text1.Caption = "" / B.Text1.Clear  / C. Text1.Text = "")。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
(3)程序中加框处代码有错,请改正。_____
Const n=5
Dim a(1 To n) As Integer
Private Sub Form_Load()
'将n堆果子的重量从数据库导入到数组a,代码略
End Sub
Private Sub Command1_Click()
Dim f As Boolean
Dim last As Integer
i = 1
Do While i < n And Not f
f = True
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
last = j
f = False
End If
Next j

Loop
For i = 1 To n - 2
tmp = a(i) + a(i + 1)
j =_______
Do While a(j) < tmp
a(j - 1) = a(j)
j = j + 1
If j = n + 1 Then Exit Do
Loop
_______
Min = Min + tmp
Next i
________
Text1.Text = Min
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
小李使用Flash软件创作“世界读书日”多媒体作品。请回答下列问题:
(1)对作品进行前期的规划设计和素材收集,下列说法正确的是________ (多选,填字母:A.确定作品的结构类型属于创作需求分析/ B.查阅系统结构设计报告可以了解整个作品的组成部分、主要界面等/ C.Flash软件属于以页为基础的多媒体创作工具/ D.从网上下载背景图片并加工处理,属于媒体元素分解)。
(2)“片头”场景的编辑界面及“觅求真知”图层第30帧实例大小和位置属性如图所示。“觅求真知”图层第30帧到第50帧实现了“觅求真知”文字逐渐消失的动画效果,下列说法正确的是________(多选,填字母)。

A.文字动画效果也可以使用影片剪辑类型的元件制作
B.由于第50帧实例的Alpha值被设置为0%,在元件的编辑界面下无法显示元件的内容
C.第50帧实例的宽和高分别为(56,21),位置x和y分别为(370,290),实现的动画效果是从四周向中心不断缩小
D.若将文字动画的缓动值调整为100,测试场景时,文字实现加速消失的动画效果
(3)现要修改“觅求真知”图层动画:文字从第30帧到第40帧逐渐消失后,又从第40帧到第50帧逐渐显示,则操作步骤为_______(按操作顺序选填4个序号)
①将第30帧内容复制到第50帧
②将第50帧移动到第40帧
③在第50帧执行“插入空白关键帧”操作
④选择第40帧,创建补间动画
⑤选择第50帧,创建补间动画
(4)测试影片时,为了使该场景动画播放到最后一帧能自动跳转到本场景第1帧并继续播放,应进行的操作是________
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
每一本正式出版的图书都有一个ISBN 号码与之对应,ISBN 码包括9位数字、1位识别码和3位分隔符,格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符,最后一位是识别码。识别码的计算方法如下:首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果除以11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如 ISBN号码 0-670-82162-4中的识别码4是这样得到的:对067082162这 9个数字,从左至右,分别乘以 1,2,…,9,再求和,即0×1+6×2+……+2×9=158,然后取158除以11的余数4作为识别码。
小明用VB编写了一个“验证ISBN识别码”的程序,界面图所示,在列表框List1中显示ISBN码,点击“识别”按钮 Command1后,在List2中显示出识别码错误的ISBN码。

实现上述功能 VB 代码如下,但加框处代码有错,请改正_______、________。
Dim a(1 To 100) As String '存储 ISBN 号码
Private Sub Command1_Click()

Dim st As String, ch As String, k As Integer, i As Integer

Dim sum As Integer, number As Integer

For i = 1 To 100

st = a(i)

k = 0: s = 0

For j = 1 To Len(st) '① 

ch = Mid(st, j, 1)

If ch >= "0" And ch <= "9" Then

k = k + 1

s = s + Val(ch) * j  ' ② 

End If

Next j

number = s Mod 11

t = Mid (st, j+1, 1)

If t = "X" Then

tnum = 10

Else

tnum = Val(t)

End If If number <> tnum Then

List2.AddItem "第" + Str(i) + "条"

End If

Next i

End Sub
Private Sub Form_Load()

'把所有的 ISBN 号保存在 a 数组中,代码略

End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
一个w*h网格里有若干棵树。如图所示,黑色圆点代表该位置有树,要求找一个最大的空正方形铺设球场。
对w*h(11*8)网格数据进行存储,无树的位置对应数组元素数值为0,有树的位置对应数组元素数值为1。数组d中数据初始化后,对应数组元素数值d(2)=1:d(36)=1:d(52)=1;d(59)=1:d(60)=1:d(85)=1,其他数组元素数值为0。对应最大空正方形的起始位置为5,边长为4。

找最大空正方形的方法如下:
从当前位置右下角开始逐渐扩大正方形边长,直到有树出现,不能再扩展为止;
取下一个位置,按照步骤继续查找,最后1列为边界,该位置上无需查找。
(1)给定7*8网格,有树的位置为d(9)=1:d(17)=1:d(27)=1:d(36)=1:d(52)=1,则对应最大空正方形的起始位置为_________,边长为__________。
(2)小李根据上述描述,设计了一个查找最大的空正方形起始位置和边长的算法。算法的VB程序如下请在划线处填入合适的代码。
Const w = 11
Const h = 8
Dim d(1 To w * h) As Integer
Private Sub Form_Load ( )
'数组初始化,无树的位置对应数组元素数值为0,有树的位置对应数组元素数值为1
End Sub
Private Sub Commandl_Click ( )
Dim i As Integer, length As Integer, maxw As Integer
Dim max As Integer
max = 0
For i = 1 To w * h
If i Mod w <> 0 Then    '判断该位置是否需要查找
length = scan (i)
If length > max Then max = length: maxw = i
End If
Next i
'输出最大空正方形的起始位置和边长
End Sub
Function scan(k As Integer) As Integer
Dim j As Integer
Dim t As Integer, s As Integer
Dim dw As Integer
t=1
Do While k\w+1+t<h And__________
s=0
dw = k + w + 1
For j = 1 To t ^ 2
s = s + d (dw + __________)
Next j
If ________ Then
Exit Do
Else
t = t + 1
End If
Loop
scan = t
End Function
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
小周同学用 VB 程序模拟考场座位的编排,将编号从 001 开始的 n 个学生按行、列数进行“蛇形排列”。程序功能如下:在文本框 Text1 中输入行数,Text2 中输入列数,点击“生成座位”按钮,在列表框 List1 中输出排列结果。如图所示是运行界面为 6 行 5 列的座位排法(只排了一个试场)。
(1)根据本题代码,如图中所示,数组元素 b(2)的值为(_____)
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()

Dim a(1 To 200) As String '用来存储学号

Dim b(1 To 200) As String '关联 a 数组,用于矩阵输出

Dim i As Integer, j As Integer, k As Integer, pos As Integer

Dim row as Integer, column as Integer, s As String

For i = 1 To 200 '产生 3 位数的学号

a(i) = Mid("00", 1, (3 - Len(CStr(i)))) + CStr(i)

Next i

row = Val(Text1.Text)

column = Val(Text2.Text)

k = 1

For i = 1 To column

If (_____) then

pos = i 'pos是b数组的下标,根据行列来关联a数组

For j = 1 To row

b(pos) = a(k)

(_____)

k = k + 1

Next j

Else
pos = (row - 1) * column + i

For j = 1 To row

b(pos) = a(k)

pos = pos - column

k = k + 1

Next j

End If

Next i

For i = 1 To row '按行输出学生信息

s = ""

For j = 1 To Column

s = s + " " + (_____)

Next j

List1.AddItem s

Next i

End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
首页
上一页
下一页
尾页