学进去-教育应平等而普惠
排序:
限于篇幅仅展示1000道试题,请根据关键词精准搜索
现有n项先后出现的任务,每项任务需要一定的时间完成,且每个时刻只能执行某一项任务。任务的执行规则如下:
每项任务有一个紧急程度,用数字表示,数字越大紧急程度越高。紧急程度最高的任务优先执行,紧急程度相同先出现先执行。
若某项任务在执行过程中出现了一个紧急程度更高的任务,则正在执行的任务将被暂停,执行该紧急程度更高的任务。
编写VB程序,功能如下:程序运行时,各项任务数据按出现时刻升序显示在列表框List1中,单击“开始”按钮Command1,按照任务完成的先后顺序,在列表框List2显示每项任务的编号以及完成时刻。程序运行界面如图所示:请回答下列问题:

(1)若有3个任务需要完成,数据如下:
1号任务:时刻1出现,完成所需时长4,紧急程度1
2号任务:时刻2出现,完成所需时长2,紧急程度2
3号任务:时刻7出现,完成所需时长1,紧急程度3
则这3个任务的完成的顺序为________(单选,填字母:A.1号、2号、3号 /B.2号、3号、1号 / C.2号、1号、3号)。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim id(0 To 100) As Integer    '任务编号
Dim t(0 To 100) As Integer    '出现时刻
Dim L(0 To 100) As Integer    '完成所需时长
Dim v(0 To 100) As Integer    '紧急程度
Dim n As Integer    '总任务数
Private Sub Form_Load()
'本过程读取任务编号、出现时刻、完成所需时长和紧急程度的数据分别存储在数组id,t,L和v中,并在List1中显示,代码略
End Sub
Private Sub Command1_Click()
Dim q(0 To 100) As Integer  'q数组按优先顺序存储已出现的任务编号
Dim k As Integer, i As Integer, j As Integer, cur As Integer
cur = 0: k = 0    'cur记录当前时刻
For i = 1 To n
Do While k > 0 And t(i) >= cur + L(q(k))    '新的任务出现时,计算并输出已经完成的任务编号
List2.AddItem adj(2, (id(q(k)))) + adj(6, cur + L(q(k)))
cur = cur + L(q(k))
k = k - 1
Loop
If k > 0 Then L(q(k)) =____  '更新正在执行的任务的完成所需时长
k = k + 1
j = k
Do While v(q(j - 1)) >= v(i)
q(j) = q(j - 1)
j = j - 1
Loop
q(j) = i
____
Next i
Do While ____
List2.AddItem adj(2, id(q(k))) + adj(6, cur + L(q(k)))
cur = cur + L(q(k))
k = k - 1
Loop
End Sub
Function adj(x As Integer, v As Integer) As String
'adj可以通过添加前置空格将v转化为x位长度的字符串,便于输出对齐,代码略
End Function
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
积分循环赛是棋类比赛中经常使用的赛制之一它能有效地避免种子选手一开始就交锋、拼掉。若有n(n一定为偶数)支队伍进行r轮比赛采用积分循环赛,则比赛规则如下:
①第一轮比赛前,先给各队伍随机排名,设定队伍编号:排名i的编号为i
②第一轮比赛:第1名和第2名、第3名和第4名、…、第n-1名和第n名,各进行一场比赛。每场比赛胜者得1分,负者得0分(已知所有队伍的实力值不同,且实力值高的队伍一定可以打败实力值低的队伍)
③根据比赛得到的分数,按照分数从高到低排名,若分数相同则编号小的队伍排在前面。
④接下去的r-1轮比赛均采用②的规则进行比赛,且每比完一场比赛都按照③的规则对队伍顺序排名,排名的结果是下一轮比赛队伍的顺序。
程序界面如下图。

(1)若有4支编号依次为“1,2,3,4”队伍进行2轮比赛,且各支队伍实力值依次为“12,9,16,15”,则2轮比赛后队伍“1,2,3,4”的分数依次是__________。(分数用逗号隔开)
(2)请在划线处完成代码填空。
Dim a(1 To 100) Integer, b(1 To 100) As Integer
Dim num(1 To 100) As Integer, win(1 To 100) As Integer, lose(1 To 100) As Integer
Dim win_num As Integer, lose_num As Integer
Dim As Integer, r As Integer, s1 As String, As String, 53 As String
Private Sub Command1_Click()
读取已打乱的队伍信息,编号、实力分别存在数组num和数组a中,且将数组b置0
代码略
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, t As Integer
ori=1 To Step2 先比第一轮
If a(i)> a(+1)Then b(i) =1 Else_______
Next i
For i=1Ton-1  将第一轮结果排序
For j=1 Ton-i
If cmp(_______) Then
t = num(j): num(j) = num(j + 1): num(j + 1) = t End If
Next j
Next i
For i = 1 To r - 1'比剩下的 r-1 轮比赛
win_num = 0: lose_num = 0
For j = 1 To n Step 2
win_num = win_num + 1: lose_num = lose_num + 1
If a(num(j)) > a(num(j + 1)) Then
b(num(j)) = b(num(j)) + 1
win(win_num) = num(j) : lose(lose_num) = num(j + 1)
Else
b(num(j + 1)) = b(num(j + 1)) + 1
win(win_num) = num(j + 1) : lose(lose_num) = num(j)
End If
Next j
Call merge    '调用过程,合并胜利组和失败组Next i
s1 = "编号:": s2 = "分数:"
For i = 1 To n
s1 = s1 + format(num(i))
s2 = s2 + format(________)
Next i
List2.AddItem s1 List2.AddItem s2
End Sub
Sub merge()    '合并过程
'将胜利组与失败组按照分数合并,生成下一轮比赛顺序并存回数组 num 中
'代码略End Sub
Function format(x As Integer) As String    '格式化字符串函数 '将输入数字格式化为 3 个字符长度,代码略
End Function
Function cmp(i As Integer, j As Integer) As Boolean    '比较函数cmp = False
If b(i) = b(j) Then
If i<j Then cmp=True
ElseIf b(i) > b(j) Then  cmp = True
End If
End Function
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
某医院接受捐赠物资,各项物资数据包含编号、品名和收支数量。编号构成规则是:急需等级(单个大写字母,由高到低划分为A、B、C三个等级)+物资种别(单个大写字母,至多有A~Z共26种)。为提高库存管理效率,现需要整理物资库存,要求:先对同种物资数量进行合并统计;然后按各种物资库存量,更新其急需等级,并依等级由高到低分类显示。等级划分规则为:当库存量低于3天所需,设置为A级;当库存量低于7天所需,设置为B级;否则设置为C级。
按上述要求,编写一个VB程序,功能如下:在列表框List1中显示整理前的所有物资相关数据,单击“库存合并统计”按钮Command1,在列表框List2中显示整理结果,程序运行界面如图所示。

(1)由图中示例可知,急需等级发生变化的物资有(______)种(填数字)。 
(2)请在画线处填入合适的代码。
Const n = 2000 '物资总项数
Const nc = 26 '物资种别数,最多不会超过26
Dim items(1 To n)As String, supplies(1 To n)As String, totals(1 To n)As Long
Dim g(1 To 2 * nc)As Long '存储各种物资3天、7天的需求数量
Dim b(1 To nc)As Long '存储各种物资的库存量
Dim c(1 To nc)As Long
Dim q(1 To nc)As Integer
Private Sub Form_Load()
'本过程读取编号、品名、收支、需求的数据分别存储在数组items、supplies、totals、g中,并在List1中显示有关数据;g数组中g(1)、g(2)存储物资A的3天、7天的需求数量;g(3)、g(4)存储物资B的3天、7天的需求数量……代码略
'代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, top As Integer, bottom As Integer
Dim r As Long, s As String, t As Integer, m As Integer
For i = 1 To nc
  b(i)= 0: c(i)= 0
Next i
For i = 1 To n '统计每种物资的库存量
  k = Asc(Mid(items(i), 2, 1))- Asc("A ")+ 1
  _____
  c(k)= i
Next i
j= 0
For i = 1 To nc
  If c(i)<> 0 Then j = j + 1: q(j)= i
Next i
top = 0: bottom = j + 1
j = 1: k = bottom - 1
Do While i < bottom
'按各种物资的需求量进行等级分类
  m = q(j)
  _____
  If r < g(2 * m - 1)Then
    top = top + 1
    If top <> j Then t = q(top): q(top)=q(j): q(j)= t
    j = j + 1
  ElseIf r >= g(2 * m)Then
    bottom = bottom - 1
    t = q(j): q(j)= q(bottom):q(bottom)= t
  Else
    j = j + 1
  End If
Loop
List2.AddItem "编号 品名 库存"
List2.AddItem "------"
For i = 1 To k
  s = fp(i,top, bottom)
  List2.AddItem "" & s & "" & supplies(c(q(i)))& "" & b(q(i))
Next i
End Sub
Function fp(pos As Integer, head As Integer, tail As Integer)As String
  If _____Then 
    fp = "A"
  ElseIf pos < tail Then
    fp = "B"
  Else
    fp = "C"
  End If
  fp = fp & Mid(items(c(q(pos))), 2, 1)
End Function
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
使用Flash软件创作“君子四艺”作品,其中“围棋”场景的制作脚本如下表所示。
场景名:围棋
类别序号:2
进入方式:来自“片头”场景,通过“围棋”按钮进入
呈现方式:
①云在舞台上方持续移动。
②一枚黑色棋子在舞台左侧由小变大,再渐变成“围棋”二字,然后持续显示至最后。
③人物在舞台右侧从完全透明到完全显示,时长1秒。
④“规则”按钮位于舞台右下角,单击该按钮跳转到“规则”场景第1帧并开始播放。
(其他略)
呈现顺序:
①开始时出现背景图片、云动画、文字动画和背景音乐。
②3.5秒时开始出现人物动画。
③最后出现“规则”按钮,并停止场景播放,背景音乐不停止。
(1)分析制作脚本,下列说法正确的有_______________(多选,填字母)。
A.该作品至少需要3个场景
B.开始时背景音乐和人物动画均需出现
C.云的动画效果可以通过编辑元件实现
D.当前场景的最后1帧需要添加动作脚本
E.背景音乐同步方式需要设置为“数据流”
根据上述脚本,在Flash软件中编辑“围棋”场景,部分界面如图所示。请回答下列问题:

(2)“文字”图层的第11帧至21帧的补间动画实现了由棋子渐变为“围棋”二字的效果,则该补间类型为__________________(选填:动画/形状)。
(3)测试影片,为了使“人物”图层中的动画起止时间符合脚本要求(从3.5秒时开始到4.5秒时结束),正确的操作是__________________
(4)根据制作脚本,“规则”按钮上的动作脚本为______________
(5)若使该作品发布后有交互功能,则发布的格式是____________(单选,填字母)。
A. Flash影片(*,swf)
B. GIF动画(*.gif)
C. Windows AVI(*.avi)
类型:填空题
难度系数:较难0.4
收藏
纠错
详情
在某区间内有若干个障碍物,现需找出一个最大的空正方形用于建设方形场地。如图所示,将该区间用网格表示(区间范围m*n,m、n的值均在1-1000之间),障碍物(黑色圆点)位于若干个网点上,障碍物个数及位置随机生成。
对w*h(10*8)网格数据进行存储,无障碍物的位置对应数组元素数值为0,有障碍物的位置对应数组元素数值为1。数组d中数据初始化后,对应数组元素数值d(2)=1:d(27)=1 :d(33)=1:d(45)=1:d(52)=1:d(57)=1,其他数组元素数值为0。对应最大空正方形的起始位置为3,边长为4。
找最大空正方形的方法如下:①从当前位置右下角开始逐渐扩大正方形边长,直到有障碍物出现,不能再扩展为止;②取下一个位置,按照步骤①继续查找,最后1列为边界,该位置上无需查找。

(1)给定7*8网格,有障碍物的位置为d(8)=1:d(18)=1:d(27)=1:d(36)=1:d(52)=1,则对应最大空正方形的起始位置和边长分别为__________。(注:两个数字之间请用逗号“”,隔开)
(2)小李根据上述描述,设计了一个查找最大的空正方形起始位置和边长的算法。算法的VB程序如下请在划线处填入合适的代码。
Const W=10
Const h=8
Dim d(1 To w*h)As Integer
Private Sub Form Load ()
’数组初始化,无障碍物的位置对应数组元素值为0,有障碍物的位置对应数组元素数值为1
End Sub
Private Sub Command l_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 ’判断该位置是否需要查找
If length>max Then max =length:maxw=i__________
End If
’输出最大空正方形的起始位置和边长,代码略。
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+w*((j-1)\t)+(j-1)Mod t)
Next j
If ________ Then。
Exit Do ’退出循环
Else
t=t+1
End If
Loop
scan=t
End Function
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
学校物品室有 n 个箱子(箱子上分别有编号 1、2、3…n),箱子里存有数量不一的物品。有 m 位学生前来领取物品(物品总量足够领取),每位学生优先从物品数量最多的箱子领取,数量不够时,再从下一个数量最多的箱子领取。小郑设计了一个 VB 程序,在文本框Text1 中按箱子编号从小到大依次输入每个箱子的物品数量,在文本框 Text2 中依次输入每位学生需要领取物品的数量,单击“领取”按钮后,在列表框 List1
中按顺序显示每个学生领取物品的箱子编号,并显示领取结束后非空箱子的编号和剩余物品数量。运行界面如图所示。

回答下面问题:
(1)如果 1 号到 5 号箱子的物品数量分别是 25,16,9,5,3,每位学生需要的物品数量分别是19,18,10,3,则第 3 位学生领取物品的箱子编号按顺序依次是 3 号、____________(填整数)号。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub get_Click()
Dim a(1 To 100) As Integer, bh(1 To 100) As Integer Dim b(1 To 100) As Integer
Dim n As Integer, m As Integer   'n 表示箱子数量,m 表示需领取物品的学生人数
Dim i As Integer, j As Integer, num As Integer
Dim p As Integer, q As Integer, t As Integer, s As String
'依次获取 Text1 里物品数量存入数组 a,箱子上的编号(1 到 n)依次存入数组 bh,箱子数量存入变量 n,并按物品数量从多到少对箱子排序,代码略
'依次获取 Text2 里学生需要领取物品的数量存入数组 b,学生人数存入变量 m,代码略p = 1: q = 1
For i = 1 To m num = 0

Do While num < b(i) num = num + a(q) a(q) = 0

   ___
Loop
s = "第" & i & "位学生领取物品的箱子编号依次为:"
For j = p To q - 1

s = s + Str(bh(j))

Next j
List1.AddItem s
If num > b(i) Then a(q - 1) = _____:  q = q - 1
For j = ____ '维护非空箱子降序序列(按箱子中剩余物品数量)
If a(j) < a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
t = bh(j): bh(j) = bh(j + 1): bh(j + 1) = t
End If
Next j p = q
Next i
List1.AddItem " 剩余物品数量:" For i = 1 To n
If a(i) > 0 Then List1.AddItem Str(bh(i)) + "号箱子:" + Str(a(i)) Next i
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
查找最短26个字母字符串:在文本框Text1中输入任意一串包含小写字母的字符串(长度n>=26),要求找到长度最小的一段区间,能够包含全部26个小写英文字母。小王设计了VB程序用于搜索最短字符串,单击“查找”按钮command1,若无解,则在标签Label1中输出“无解!”,反之程序在标签Label1中输出该最小区间的长度以及字符的开始位置,并在文本框Text2中输出相应的最短字符串,程序界面如图所示:
(1)确定初始右边界:从第1个字符开始,向右搜索到包含全部26个字母的子串,并因此而确定右边界,同时记录每个字母在子串中出现过的次数。
(2)调整子串左边界:若左边界有重复的字母则表明该子串可缩短,故左边可右移1位……直到找到一个符合条件的子串并记录,然后子串左边界再右移1位。
(3)调整子串右边界:子串右边界继续右移,在新子串符合条件后,记录并进行比较。
重复(2)各调整步骤,直至遍历完整个字符串,获得并输出满足条件的最小长度字符串。

实现上述功能的VB程序如下,请回答下列问题。
(1)对于字符串“qbwcadsgeqbdatcy”,包括字母“abcde”的最短字符串长度为____(填数字)。 
(2)请在画线处填入合适的代码。
Const n = 300
Dim i As Integer, k As Integer, length As Integer, L As Integer
Dim pos As Integer, s1 As String, res As String
Dim f(1 To 26)As Integer '数组f记录每个小写英文字母的出现次数
Dim s(1 To n)As Integer '数组s记录每个输入字符在字母表中的位置
Private Sub Command1_Click()
  res = ""
  s1 = Text1.Text
  For i = 1 To Len(s1)
    s(i)=_____
  Next i
  k = 0: pos = 1: length = n
  For i = 1 To 26
    f(i)= 0
  Next i
  For i = 1 To Len(s1)
    If f(s(i))= 0 Then k = k + 1
    f(s(i))= f(s(i))+ 1 '调整右边界,直到达到26个字母
    Do While_____
      f(s(pos))= f(s(pos))- 1
      If_____ Then 
        k = k - 1
        If i - pos + 1 < length Then
          length = i - pos + 1
          res = Mid(s1, pos, length)
          L = pos
        End If
      End If
      pos = pos + 1
    Loop
    Next i
    If res <> "" Then
      Text2.Text = res
      Label1.Caption = "最短长度:" + Str(length)+ "开始位置:" + Str(L)
    Else
      Label1.Caption = "无解!"
    End If
  End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
小李上网时发现词云图很有意思,出现频率越高的文字越会突出显示。他以此获得灵感,编写了一个“词云榜”的VB程序,功能如下:单击“读取”按钮command1,从数据库中读取英文名言的相关数据,将各条名言存储在数组st中,并将各元素显示在列表框List1;在文本框Text1中输入需要输出的行数,单击“统计”按钮command2,先在数组st各元素中提取单词(单词间隔符号只可能是空格、逗号和句号)存储到数组word中,再将word数组各元素值进行整理和归类,把不同的单词分别存储到数组term中,同时统计各单词的出现次数,接着按照各单词出现次数从高到低排序,最后在列表框List1中的第一行显示出现次数最多的一个单词,第二行显示出现次数第二、第三多的两个单词,第三行显示出现次数第四、第五、第六多的三个单词……以此类推。程序运行界面如下图所示。

(1)分析程序,可知数据库的文件名为_________。
(2)请在划线处填入合适的代码。
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim st(1 To 100) As String
Dim n As Integer
Private Sub Command1_Click()
conn.ConnectionString = "provider=microsoft.ace.oledb.12.0;data source=" & App.Path & "\名言.accdb"
conn.Open
Set rs.ActiveConnection = conn
rs.Open "Select * From sayings"
n = 0
Do While Not rs.EOF
n = n + 1
st(n) = rs.Fields("sentence")
rs.MoveNext
Loop
rs.Close
conn.Close
Set conn = Nothing
For i = 1 To n
List1.AddItem st(i)
Next i
End Sub
Private Sub Command2_Click()
Dim word(1 To 1000) As String
Dim term(1 To 1000) As String
Dim num(1 To 1000) As Integer
k = 1
For i = 1 To n
For j = 1 To Len(st(i))
_________
If c >= "A" And c <= "Z" Then c = Chr(Asc(c) + 32)
If c <> " " And c <> "," And c <> "." Then
temp = temp + c
Else
word(k) = temp
k = k + 1
temp = ""
End If
Next j
Next i
t = 1
term(1) = word(1): num(1) = 1
For i = 2 To k - 1
For j = 1 To t
If __________ Then Exit For
Next j
If j > t Then
t = t + 1
term(t) = word(i)
num(t) = 1
Else
num(j) = num(j) + 1
End If
Next i
’数组term按照单词出现次数从高到低进行排序,代码略
List2.AddItem "  " + term(1)         
x = 2: w = 1: v = 1: txt = ""
Do While x <= Val(Text1.Text)
w = w + 1
For y = 1 To w
____________
txt = txt + "  " + term(z)
Next y
List2.AddItem txt
txt = ""
x = x + 1
v = z
Loop
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
学校里有一个水房,水房里一共装有 m 个水龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,第i 位同学的接水量为 ai 。接水开始时,1 到 m 位同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j 完成其接水量要求aj后,下一名排队等候接水的同学k马上接替j同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即第j位同学第x秒结束时完成接水,则第 k位同学第x+1 秒立刻开始接水。若当前接水人数n不足m,则只有n个水龙头供水,其它m-n个水龙头关闭。
小王编写了一个“计算接水时间”的程序,功能如下:程序运行时,在文本框Text1中输入每位同学的接水时间(以逗号隔开),在文本框Text2中输入水龙头数,单击“计算”按钮Command1,在标签Label1中显示所有同学接水的总时间。程序运行界面如图所示。

请回答下列问题:
(1)如图所示,若文本框Text1中输入的是“4,5,7,1,6,2,8”(不包括双引号),则所有同学接水的总时间为__秒。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
Dim m As Integer, n As Integer, ans As Integer
Dim s As String, ch As String
Dim a(1 To 100) As Integer, b(1 To 20) As Integer
s = Text1.Text
m = Val(Text2.Text)
n = 1: t = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
t = t * 10 + Val(ch)
Else
n = n + 1
a(n - 1) = t
t = 0
End If
Next i
a(n) = t
For i = 1 To m
b(i) = i
Next i
For i = 1 To m - 1
For _________ 
If a(b(j)) < a(b(j + 1)) Then t = b(j): b(j) = b(j + 1): b(j + 1) = t
Next j
Next i
If n > m Then
For i = m + 1 To n
_____________
For j = m To 2 Step -1
If a(b(j)) > a(b(j - 1)) Then t = b(j): b(j) = b(j - 1): b(j - 1) = t
Next j
Next i
End If
__________
Label1.Caption = "共需要 " + Str(ans) + " 秒"
End sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
叠方块游戏。在一个 10×10 的区域内玩叠方块游戏,为方便处理,该区域的行号从下往上依次编号为 1、2、……、9、10,列号从右往左依次编号为 0、1、……、8、9。方块只有一种形状,如下图 a 所示,左上角是该方块的中心位置。程序界面如下图 b 所示,单击“生成数据”按钮 Command1,随机生成 5 个[1,9]范围内的数字,并显示在文本框 Text1 中,每个数字即为方块的中心位置从该数字表示的列掉下来,若碰到方块就叠上去,若一直掉到底部都没有碰到方块,就停在底部。所有操作结束后,输出整个区域的状态,如下图 c、图 d 所示。图 e 为行、列编号示意图。

算法概述如下:用一个二进制位表示某个位置的状态,0 表示该位置没有方块,1 表示该位置有方块,每一行的状态存储在数组 a 中。例如:图 c 第 1 行的状态为“1010101010”,则 a(1)=682,即 29 +27 +25 +23 +21 =682,根据 a(1) \ 2 ^ 1 Mod 2 的结果可判断第 1 行的第 1 列是否有方块。
(1)以图 d 为例,a(1) \ 2 ^ 4 Mod 2 的结果是____________ (填数字)。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Dim s As String
Const n = 10
Private Sub Command1_Click() ' 生成数据
Dim i As Integer, t As Integer
Randomize
s = ""
For i = 1 To n \ 2
_______ '随机生成[1,9]范围内的整数
s = s + CStr(t) ' Cstr()的作用是去掉字符串前面的空格
Next i
Text1.Text = s
End Sub
Private Sub Command2_Click() ' 开始游戏
Dim a(n) As Integer
Dim i As Integer, k As Integer, t As Integer
Dim ans As String
For i = 0 To n
a(i) = 0
Next i
For k = 1 To Len(s)

t = Val(Mid(s, k, 1))

For i = n - 2 To 0 Step -1 ' i=0 时该方块可以直接到达底部

If a(i) \ 2 ^ t Mod 2 = 1 Or a(i + 1) \ 2 ^ (t - 1) Mod 2 = 1 Or i = 0 Then

_________
a(i + 2) = a(i + 2) + 2 ^ t + 2 ^ (t - 1)
Exit For ' Exit For 为退出 For 循环

End If

Next i
Next k
List1.Clear
ans = ""
For i = 10 To 1 Step -1
For k = 0 To 9

If a(i) Mod 2 = 1 Then

ans = "■" + ans

Else

ans = " " + ans

End If

___________

Next k
List1.AddItem ans
ans = ""
Next i
End Sub
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
首页
上一页
下一页
尾页