题库 高中信息

题干

某班师生玩一个游戏,n(n 不超过 1000)个同学站成一圈,逆时针编号为 l - n,有两个老师 A 和 B,A 老师从 1 开始逆时针数 k 个同学,B 老师从 n 开始顺时针数 m 个同学(注意 A,B 老师可能数到同一个学生),被老师选中的 1 个或 2 个学生离开圈子,剩下的学生继续。
程序开始时在 Text1 中输入同学数 n,在 Text2 中输入 k 的值,在 Text3 中输入 m 的值,点击“开始” 按钮,在 label5 中显示依次出圈的学生编号。程序运行如图所示:

VB 程序如下,请将按要求答题:
Dim stu(1 To 1000) As Integer
Dim n As Integer
Private Sub Command1_Click()

Dim left, k, m As Integer

Dim stup1, stup2 As Integer

n = Val(Text1.Text)

k = Val(Text2.Text)

m = Val(Text3.Text)

        
stup1 = n: stup2 = 1
For i = 1 To n
stu(i) = i Next i
Do While left > 0
stup1 = teachount(stup1, 1, k)
stup2 =
Label5.Caption = Label5.Caption & " " & Str(stup1)
left = left - 1
If        Then
Label5.Caption = Label5.Caption & " " & Str(stup2)
left = left - 1
End If stu(stup1) = 0

stu(stup2) = 0

Loop

End Sub
'f=1 表示逆时针数 c 个,f=-1 表示顺时针数 c 个
Function teachount(ByVal p As Integer, ByVal f As Integer, ByVal c As Integer) As Integer
Do While c > 0
        
Do While stu(p) = 0

p = (p + f + n - 1) Mod n + 1

Loop

c = c - 1

Loop teachount = p
End Function
(1)加框处的语句有错误,请改正:______________________________________________ 
(2)请将①处的语句补充完整:______________________________________________
(3)请将②处的语句补充完整:______________________________________________
(4)请将③处的语句补充完整:______________________________________________
上一题 下一题 0.99难度 填空题 更新时间:2019-12-05 01:38:19

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

同类题3

某校教务处安排选考科目考场办法是这样的:依据上次的考试名次由小到大把考生安排到各考场(考场号从 1 开始编号),每个考场 35 人,7 行 5 列,S 形排列。为方便教务人员快速将每次考试每科考场座位表打印出来,技术组老师利用VB 编写了一个程序,相关信息、程序界面及代码如下,为实现上述功能,请回答以下问题:
(1)根据程序代码可以知道,安排考场的原始数据来自_______________数据库的_______________数据表。
(2)完善①②③处程序代码。

Dim xm (1 To 1000) As String, dayinkm (1 To 1000) As String
Dim zuhe(1 To 1000) As String,mc(0 To 1000) As Integer, n As Integer
Private Sub Command1_Click()
Dim conn As New ADODB. Connection  'conn 是数据库链接对象
Dim rs As New ADODB. Recordset   'rs 是数据记录集对象
conn. Open "Provider=Microsoft. Jet. OLEDB. 4. 0;Data Source=" & App. Path & "\xk. accdb" & ";"
Jet OLEDB:Database Password=""
strSQL = "SELECT∗FROM 2019xk"
' 考号、姓名信息存放在 xm 数组;7 选 3 选课组合存放 zuhe 数组;名次存放 mc 数组,代码略
Label3. Caption = "共有" + Str(n) + "人" 
' 学生总人数存放变量 n 中
End Sub
' 下面代码是:先按名次升序排序,再筛选要打印的学科到数组 xinkm
Private Sub Command2_Click()
Dim xk(1 To 7) As Integer,t As String
For i =_________
t1 = mc(i): t2 = xm(i): t3 = zuhe(i): j = i- 1
Do While t1 < mc(j)
mc(j + 1) = mc(j): xm(j + 1) = xm(j): zuhe (j + 1) = zuhe(j)
j = j - 1
Loop
mc(j + 1) = t1: xm(j + 1) = t2: zuhe(j + 1) = t3
Next i
'将排序后的数据输出到列表框 list1 中,代码略km = "物理化学生物政治历史地理技术":dykm =
Text1. Text
For i = 1 To 7
If__________Then kmh = i: Exit For
Next i
k = 1
For i = 1 To n
For j = 1 To 3
If dykm = Mid(zuhe(i), 2 ∗ (j - 1) + 1,2) Then
xk(kmh) = xk(kmh) + 1
dayinkm(k) = xm(i)
k = k + 1
End If
Next j
Next i
Label2. Caption = "选考" + dykm + "学科共有" +Str(xk(kmh)) + "人"
End Sub
'将数组 dayinkm 中的数据按考场 S 形输出
Private Sub Command3_Click()
Dim kc As Integer
Dim p As Integer, q As Integer
Dim i As Integer, num As Integer, ks As Inte⁃
ger
List2. Clear
List2. AddItem "讲台"
List2. AddItem "----------"
p = 7: q = 5: kc = Val(Text2. Text)
ks = q ∗ p ∗ (kc - 1)
For i = 1 To p
ks = ks + 1
s = " " + xinkm(ks)
For j = 1 To q - 1
If j Mod 2 = 1 Then
_________
Else
num = ks + p ∗ j
End If
If num > n Then
s = s + "  "
Else
s = s + "  " + xinkm(num)
End If
Next j
List2. AddItem s
List2. AddItem "----------"
Next i
End Sub