学进去-教育应平等而普惠
排序:
414道相关试题
小张用VB模拟实现了一个打地鼠游戏的计分程序。游戏规则如下:总共有10个地鼠洞,每秒地鼠选择一个洞探出脑袋,如果当前的锤子在该洞口,则打中地鼠,否则没有打中。游戏时间总共t秒(t<=10,Text1中输入),锤子的起始位置在b(1)(Text2中输入)。现已知每个时刻地鼠探脑袋的位置,根据锤子移动的路线,计算得出最多的得分,并输出到 Labe1l。
锤子移动规则:锤子每秒必须往左或往右移动一步(不可在当前位置停留),如果锤子已经在最左边了,只能往右移动;反之,只能往左移动。
计分方式:如果打中一个地鼠,计1分;如果连续打中地鼠,分数翻倍,即连续打中两个,分数为1+2;连续打中三个,分数为1+2+4;连续打中四个,分数为1+2+4+8……
算法思路:
①随机产生在第i秒时,地鼠探出脑袋的洞口为j。
若每个时刻地鼠探脑袋的洞口如图a所示,以10个洞口为横坐标n,游戏时间t(假设t=10)为纵坐标,建立一个矩阵a。当前时间出现地鼠的洞口标记为1,其余默认为0。
②模拟第i秒敲击洞口的位置。
1)若输入游戏过程如图b所示,从5号洞口出发b(1)=5,当时间为i=1时,可到达的洞口有2种:j=2时b(2)=6,j=1时b(1)=4,即得矩阵a的坐标位置i和b(j);
2)同理当i=2时,可到达的洞口有4种:j=4时b(4)=7,=3时b(3)=5,=2时b(2)=5,j=1时b(1)=3.i=1敲击洞口位置为6或4;i=2敲击洞口位置6→7,6-5或4→5,4→3;
3)将t秒内可经过的2t种不同路径敲击的矩阵位置的值存放到数组p中,如图b所示得到其中某一条路径p(j)=0101100010,根据p(j)计算得分,找出最值max并输出。
(1)如果游戏时间为10秒,每秒地鼠出现的洞口序号依次为[9,9,9,10,10,10,10,9,9,9],当锤子的起始位置在第6个洞口时,最多能得___________分。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Const n = 10
Dim a(1 To n * n) As Integer, b(1 To 2 ^ n) As Integer
Dim p(1 To 2 ^ n) As String, s1 As String
Dim i As Integer, j As Integer, k As Integer, max As Integer
Dim t As Integer, s As Integer, f As Integer
Randomize
t = Val(Text1.Text)
For i = 1 To t                        '第i秒时,地鼠探出脑袋的洞口为j
j = Int(Rnd * n + 1)
____________
List1.AddItem Str(i) & Str(j)
Next i
s1 = ""
For i = 1 To t * n
s1 = s1 + Str(a(i))
If i Mod n = 0 Then List2.AddItem s1: s1 = ""
Next i
b(1) = Val(Text2.Text)
For i = 1 To n                       '计算锤子在a矩阵移动的路径,并存放在p数组
k = 1                            'k为正则向右移动锤子,k为负则向左移动锤子
For j = 2 ^ i To 1 Step -1
b(j) = b((j + 1) \ 2) + k
If b(j) < 1 Or b(j) > n Then b(j) = b(j) - 2 * k
p(j) = p((j + 1) \ 2) + CStr(_______)  'CStr功能类似Str
k = -k
Next j
Next i
max = 0
For i = 1 To 2 ^ n
f = 0: s = 0: j = 1
Do While j <= Len(p(i))
If Val(Mid(p(i), j, 1)) > 0 Then
____________
Else
s = s + f: f = 0
End If
j = j + 1
Loop
If f > 0 Then s = s + f
If max < s Then max = s
Next i
Label1.Caption = "最多能得" + Str(max) + "分"
End Sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
小李与小王合作编写一个成绩统计的VB程序:小王编写一个过程,该过程从数据库读取某一指定科目的相关数据,存储在数组a中;小李编写一个过程,该过程依据数组a中的相关数据统计各班平均分。小李与小王约定的数组a各元素含义如图所示。

程序功能如下:在文本框text1中输入科目名称,单击“读取数据库”按钮command1,程序从数据库读取数据;单击“开始统计”按钮command2,程序进行统计处理,结果输出在列表框list1中。程序运行界面如下图所示。

数组元素
数组元素的含义
a(1)
存储班级数n
a(2)
从a(2)到a(n+1) 依次存储第1、2、…第n个班级人数

a(n+1)
a(n+2)
从a(n+2) 依次存储第1班每个学生的单科成绩、第2班每个学生的单科成绩、…第n班每个学生的单科成绩


实现上述功能的VB程序如下,请回答下列问题:
(1)根据程序运行界面中的数据及数组a各元素的含义,数组元素a(5)的值为________(填写数值)。
(2)分析程序,可知数据库的文件名为___________________
(3)请在划线处填入合适的代码。
Dim a(1 to 600) as integer    ‘数组大小满足处理要求
Private  sub  command1_click()
‘本过程由小王完成,从数据库读取指定科目的各相关数据,存储在数组a中

Dim conn As New ADODB.Conncction

Dim rs As New ADODB.Recordset

Conn ConncctionString=”provider=Microsoft.ACE.OLEDB.12.0;data source=”+”Score.accdb”

Conn.Open

Set rs.ActiveConnection=conn

‘本过程的其他语句略

End sub
Private  sub  command2_click()
‘依据数组a中的相关数据统计各班级平均分

Dim i As Integer, j As Integer, n As Integer

Dim p As Integer, sum As Integer, aver As Single

     ______________________

p = n + 2

For i = 1 To n

sum = 0

For j = 1 To a(i + 1)

           ____________________
p = p + 1

Next j

aver = sum / a(i + 1)

list1.additemstr(i)+"   "+str(a(i+1))+"   "+str(aver)

Next i

End sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
元旦放假,小明帮助外公在果园搬果子。果园里有n堆(n<=100)重量不一的果子,需要将它们合并成一堆。已知合并两堆果子所消耗的体力等于两堆果子的重量之和。为了节省体力,每次合并,小明会把其中重量最小的两堆果子合并一起,n堆果子经过若干次合并之后只剩一堆为止。比如,n=4时,表示共有4堆果子,重量分别是2、4、5、9,先合并重量为2和4的果子堆,新堆重量是6,耗费体力为6;接着将重量5和6的果子堆合并,新堆重量是11,耗费体力为11;最后将重量9和11的果子堆合并,新堆重量是20,耗费体力为20。因此总消耗体力是6+11+20=37,这样合并是最少耗费体力的方法。请设计程序,计算合并这n堆果子最少消耗的体力值。

(1)有5堆果子重量分别是:17,15,16,16,19,则小明将5堆果子搬成1堆至少需要消耗体力值为________。
(2)请在①②③处填上合适代码,实现程序功能。
Dim n As Integer
Dim a(1 To 100) As Integer     'a数组存储各堆果子重量
Dim b(o To 100)As Integer      'b(0)存放a数组中最小值的下标,若a(i)是数组中最大数,则 b(i)的值为-1
Dim flag(l To 100)As Boolean
Private Sub Form_Load()
'初始化果子的数量n和每堆果子的重量a(i),并依此显示在列表框list1中,代码略
'初始化b数组的值均为-1,flag 数组的值均为False,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer,k As Integer
Dim p As Integer,q As Integer,w As Integer
p =0
Do While True  '生成b数组,标记升序后a(i)的下一个元素在a数组中的位置为b(i)

For i = 1 To n

If Not flag(i)Then k = i :Exit For

Next i

If i = n+1 Then Exit Do

i =1

Do While i <= n

If Not flag(i) And a(k) >a(i)Then k =i
i=i+1

Loop

b(p)= k

flag(k)=True 

____

Loop
w= 0
p =b(0):q =b(p)
Do While b(p)< >-1

a(p)=a(p)+a(q)

w=____

If b(q)< >-1 Then b(0)= b(q)Else Exit Do

Call sort(p)

p = b(0) :q = b(p)

Loop
Text1.Text= Str(w)
End Sub
Sub sort(p As Integer)  '将a(p)插人到合适位置

Dim pl As Integer,ql As Integer

pl = b(0)

If a(p)<=a(pl)Then

b(0)=p : b(p)= pl

Else

Do While a(p) >a(p1) And b(p1)< >-1
ql = pl : pl = b(pl)
Loop
If b(p1)=-1 And a(p) >a(p1) Then
b(pl)=p : b(p)=-1
Else
b(p)= pl :____
End If

End If

End Sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
某地区中考录取采用“平行志愿”的投档录取方式,该录取方式的具体规则为:
①根据考生的考试总分从高到低依次对考生的填报志愿进行投档;
②每位考生可填三个志愿学校,轮到该考生投档时依次对其三个志愿进行投档,若第一志愿学校还有剩余招生名额,就被第一志愿学校录取,结束该考生的投档,否则需对其后续志愿学校进行同样的投档操作,若该考生所填的所有志愿学校都没有剩余招生名额,则该考生无法被任何学校录取,该考生的投档结束。
③当所有学校都已完成计划招生数时,停止投档,录取结束。
编写 VB 程序,实现上述“平行志愿”投档录取的功能,单击“读取考生数据”按钮 Command1,则从数据库中获取所有考生的成绩、志愿信息以及每个学校的计划招生数,单击“投档录取”按钮 Command2,开始进行投档录取,并在列表框 List1 中输出每个学校的计划招生数、实际招生数、录取分数线和最低录取名次信息,程序运行界面如图所示。请回答下列问题:

(1)若 A 校计划招生 520 人,B 校计划招生480人,C校计划招生540人,某同学的考分名次为490名,其三个志愿学校依次为B校、A校、C校,且已知同名次的人数最多有30人,则该同学不可能被哪所学校录取:______。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Const schCnt = 5 ' 学校数量
Const stuMaxCnt = 10000 ' 最多考生人数
Dim zsCnt(1 To schCnt) As Integer ' 存储每个学校的计划招生人数
Dim zsCnt2(1 To schCnt) As Integer ' 存储每个学校的实际招生人数
Dim a(1 To stuMaxCnt) As Single ' 存储考生总分成绩
Dim b(1 To stuMaxCnt * 3) As Integer ' 存储考试志愿,每个考生有3个志愿,每个志愿为学校编号
Dim stuCnt As Integer ' 实际考生总人数
Private Sub Command1_Click()
'从数据库中读取所有考生的总分和志愿信息存储到数组a和数组b 中(第1个考生总分存储到a(1),第1个考生的 3 个志愿分别存储到b(1)、b(2)、b(3)中, …),然后按总分对数组 a 和数组 b 进行降序排序,总分相同时,需根据各科成绩决定排序先后,但名次相同,考生总人数存储到 stuCnt 变量中;
'读取每个学校的计划招生数,存储到数组 zsCnt 中;
'以上功能代码略
End Sub
Private Sub Command2_Click()
Dim sch As Integer ' 学校代码, 用 1~5 中的一个数字表示某学校代码
Dim i As Integer,  j As Integer, finished As Integer,prevScore As Single
Dim stuMc(1 To stuMaxCnt) As Integer
Dim MinScore(1 To schCnt) As Single
Dim MinMc(1 To schCnt) As Integer
finished = 0:   i = 1
prevScore = -1
Do While______
If a(i) = prevScore Then
stuMc(i) = stuMc(i - 1)
Else
②____________ 
End If
prevScore = a(i)
For j = 1 To 3
________ 
If zsCnt2(sch) < zsCnt(sch) Then
zsCnt2(sch) = zsCnt2(sch) + 1
MinScore(sch) = a(i)
MinMc(sch) = stuMc(i)
Exit For
End If
Next j
finished = 0
For j = 1 To schCnt
If zsCnt2(j) = zsCnt(j) Then
finished = finished + 1
End If
Next j
i = i + 1
Loop
'在 List1 中输出每所学校的代码、计划招生数、实际招生数、录取分数线、最低录取名次,代码略
End Sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
大写字母分段加密。输入n(n≤50)个大写字母组成的原文字符串,以规模m为一段进行加密。加密方法为:(1)找出每段中最长的连续递增子串长度max;(2)将该段每个字符后移max位进行加密,如果后移后的字母ASCII码值超过90(Asc("Z")=90),则从小写字母“a”(ASCII码值为97)开始表示;(3)规模不足m部分不做处理。
例如:n=10,原文字符串为“ABCXYEFDOK”,m=4时,处理过程如下:
原文字符串
ABCXYEFDOK
分段后
ABCX
YEFD
0K
max值
4
2
不处理
加密结果
EFGb
aGHF
0K
 
其中,第1段中字母“X”后移4位后超过字母“Z”的ASCII码值,用“b”表示,第2段中字母“Y”后移2位用“a”表示用VB编写程序,程序运行时,在文本框Text1中输入原文字符串,在文本框Text2中输入每段个数,单击“加密”按钮Command1后,在文本框Text3中显示加密结果。程序运行界面如图所示。

实现上述功能的VB程序如下,请回答下列问题:
(1)已知加密结果是“RaVJON”,m=4,根据上述加密规则,推得原文是__________________
(2)请在划线处填入合适的代码。
Dim a(0 To50) As String, b(1 To 50)As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As. Integer, m As Integer, max As Integer
n=Len(Text1. Text)
For i=1To n
a(i)=Mid(Text1. Text,i,1)
b(i)=________
Next i
m=Val(Text2. Text)
max=1
For k=1 To n\m
For i=(k-1)*m+2 To k * m
j=i
Do While_______________________________
b(i)=b(i)+1
j=j-1
Loop
If b(i)〉max Then
max=b(i)
End If
Next i
For i=(k-1)*m+1 To k*m
s=s+mingtomi(a(i),max)
Next i
max=1
Next k
If n Mod m< >0 Then
For i=(n\m)*m+1 To n
s=s+a(i)
Next i
End If
Text3.Text=s
End Sub
Function mingtomi(c As String, d As Integer)As String
If Asc(c)+d>Asc("Z")Then
_______________________________
Else
mingtomi=Chr(Asc(c)+d)
End If
End Function
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
用 VB 编写的英文单词查找程序如图所示,在文本框Text1中输入文章,在Text2中输入要查找的单词,单击“统计”按钮 Command1,在列表框List1显示该单词出现的位置及次数。算法如下:
(1)将文本框Text1 中的文章保存到字符串变量s 中,Text2 中的单词保存到字符串变量 s2 中。
(2)从左往右扫描字符串s, 用字符串word存储文章中依次出现的单词,用整型变量b依次记录文章中每个单词的起始位置,用整型数组pos记录匹配到的单词的起始位置。
按如下方法扫描:
从左往右扫描,当扫描到第i个字符时,如果是字母,继续扫描,否则,跳转到②,直至扫描结束;
②将b到i-1 组成一个单词word,与 s2 比较,如果相等,把该单词的起始位置 b记录到 pos 数组中,并把 b 的值更新成下一个字符的位置,再跳转到①。
(3)将 pos 数组中的位置及出现的总次数依次显示在列表框 List1 中。

(1)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()

Dim pos(1 To 1000) As Integer '存储匹配到的单词位置

Dim word As String '存储每次扫描的单词

Dim c As String, s As String, s2 As String

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

b As Integer, slen As Integer

s = Text1.Text

slen = Len(s)

s2 = Text2.Text

j = 0 '存储每个单词的长度

k = 1 '存储匹配到的第几个单词的下标

b = 1 '存储每个单词的起始位置

i=1

Do While i <= slen

c = Mid(s, i, 1)

If c >= "a" And c <= "z" Or c >= "A" And c <= "Z" Then

j = j + 1

Else

If j <> 0 Then

word =___

If word = s2 Then

Pos (k) = b

k = k + 1

End If

j = 0

End If

b = i + 1

End If

i = i + 1

Loop

List1.AddItem "单词" + s2 + "出现的位置为"

For i = 1 To k - 1

List1.AddItem Str(pos(i))

Next

List1.AddItem "共出现" +___+ "次"

End Sub
(2)根据本题算法,如图所示,若在Text2中输入“Your”单词,查找结果______(选填:会/不会)产生变化。
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
小美在研究自定义货币系统,她想知道和自己定义的任意货币系统等价,同时面额种数最少的货币系统中有多少种面额。例如,和{3,6,10,19}等价的货币系统中,面额种数最少的是{3,10},即可用{3,10}表示{3,6,10,19}中的任意数。
在寻找等价货币系统时,小美发现了如下规律:(1)、与给定货币系统等价的货币系统必定是该货币系统的子集;(2)、如果货币系统中的某个面额可以被其他货币表示时,该面额是无效的;为此,小美按照如下方法构造最小等价货币系统B:先将原货币系统A的所有面额升序排序,每次把A中可以被B中的货币表示的面额删去后,将A中的最小面额放入B中。以此类推。基于此方法,小美编写了如下程序,在文本框Text1中输入给定的货币系统,单击按钮Command1后,在标签Label1中输出与其等价的货币系统的最小面额种数,在标签Label2中输出该货币系统。程序运行界面如图所示。

(1)若给定货币系统为{4,6,8,14,22},则与其等价的面额种数最少的货币系统为___。
(2)按此要求编写的程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim s As String, tmp As String, c As String
Dim n As Integer, i As Integer, j As Integer, ans As Integer
Dim a(1 To 100) As Integer, b(1 To 10000) As Boolean
'数组b(i)用于表示值i能否用已经放入新货币系统中的面额来表示
'此段程序用于将给定货币系统存储在a数组中并将其元素个数存储在变量n中
s = Text1.Text
tmp = "": n = 0
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "0" And c <= "9" Then
_______
ElseIf tmp <> "" Then
n = n + 1
a(n) = Val(tmp)
tmp = ""
End If
Next i
For i = 1 To n - 1
For j = n To i + 1 Step -1
If _______ Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
End If
Next j
Next i
ans = 0: s = "{"
For i = 1 To a(n)
b(i) = False
Next i
For i = 1 To n
If Not b(a(i)) Then
ans = ans + 1
If ans <> 1 Then s = s + ","
s = s + CStr(a(i)) 'Cstr函数用于将数值变量转为字符串变量并去除首位空格
________
For j = a(i) + 1 To a(n)
If b(j - a(i))= True  Then b(j) = True
Next j
End If
Next i
s = s + "}"
Label1.Caption = "与之等价的最小货币系统面额种数为" + Str(ans)
Label2.Caption = "其为" + s
End Sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
给定一字符串(全部由小写字母组成),有n个字符(1≤n≤100),将每个字符存入到数组a中,有以下两种操作:
操作1:在文本框中分别输入L,R,T(1≤L≤R≤n),对数组下标为L到R之内(包含L和R)的字符做相应的字符加密操作(1≤T≤100)。
操作2:在文本框中输入M(1≤M≤n),在标签中输出a(M)的值。
为了提高算法的效率,小明设计了如下算法,以n=10为例,将n个元素依次分成「」段「」表示对向下取整),每段的元素个数为「」若最后有不足「」个元素,则自成一段。给每段设置一个标记,如下表所示。

数组下标

1

2

3

4

5

6

7

8

9

10

元素的值

p

y

t

h

o

n

j

a

v

a

段编号

第一段

第二段

第三段

第四段

段标记

1

2

3

4

 
①对于操作1,若输入的L,R属于同一段,则直接对a(L to R)的每个元素的ASCⅡ码进行后移T位的操作。如输入4,6,3,则第2段中的每个字符变为k,r,q,操作后如下表所示。

数组下标

1

2

3

4

5

6

7

8

9

10

元素的值

p

y

t

k

r

q

j

a

v

a

段编号

第一段

第二段

第三段

第四段

段标记

1

2

3

4

 
②对于操作1,若输入的L,R不属于同一段,则对元素a(L)所在段中从a(L)开始到该段最后一个元素为止的每个字符的ASCⅡ码做后移T位的操作,并对元素a(R)所在段中从该段第一个元素开始到a(R)为止的每个字符的ASCⅡ码做后移T位的操作,对a(L)元素所在段的下一段开始到a(R)元素所在段的上一段为止的每个段标记值增加T,这些段中的元素值保持不变。如在上表的基础上再输入1,8,2,则第1段的3个字符和第3段中的前2个数都做相应的字符后移2位的操作,第2段的段标记值增加2,如下表所示。

数组下标

1

2

3

4

5

6

7

8

9

10

元素的值

r

a

v

k

r

q

l

c

v

a

段编号

第一段

第二段

第三段

第四段

段标记

1

4

3

4

 
③对于操作2,若输入M的值为4,则输出a(4)的值,若a(M)所在的段标记为奇数,a(M)的值为该数组元素的值,否则输出a(M)对应的大写字母的值,如a(4)=H。程序运行如下。请回答下列问题:
(1)若数组元素为“p,y,t,h,o,n,j,a,v,a”,依次进行以下3次操作后a(6)的值为________。
操作1:在文本框Text1,Text2,Text3中依次输入1,8,3后,点击按钮Command1
操作1:在文本框Text1,Text2,Text3中依次输入7,9,2后,点击按钮Command1
操作2:在文本框Text4中输入6后,点击按钮Command2
(2)请在划线处填入合适的代码。
Const n=10
Dim a(1 To n)As String
Dim dbj(1 To n)As Integer依次表示每段的标记值
Dim bk As Integer‘表示每段的元素个数
Private Sub Form_Load()

bk=Int(Sqr(n))

读取数据,并存储到数组a中,代码略

读取数据,并存储到数组dbj中,代码略

End Sub
Function bl(x As Integer)As Integer   bl函数返回数组元素a(x)的段编号
bl=________
End Function
Private Sub Commandl_Click()
Dim L As Integer,R As Integer,t As Integer
L=Val(Text1.Text)
R=Val(Text2.Text)
t=Val(Text3.Text)
If bl(L)=bl(R) Then

For i=L To R

a(i)=Chr((Asc(a(i))-Asc("a")+t) Mod 26+97)

Next i

Else

For i=L To bl(L)*bk

a(i)=Chr((Asc(a(i))-Asc("a")+t) Mod 26+97)

Next i

For i = bl(L)+1 To bl(R)-1

dbj(i) =dbj(i)+t

Next i

For i=____

a(i)=Chr((Asc(a(i))-Asc("a")+t)Mod26+97)

Next i

End If
List1.AddItem Str(L)+","+Str(R)+","+ Str(t)+"加密完成!"
End Sub
Private Sub Command2_Click()
Dim M As Integer
Dim jg As String
M=Val(Text4.Text)
If dbj (bl(M)) Mod 2=0 Then
jg=____
Else

jg=a(M)

End If
Label4.Caption="经过一系列操作后,a("+Str(M)+")的值为:"+jg
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
随着信息技术的发展,公众号:技术那玩意安全性越来越受到人们的重视,为了提升信息的安全性,发送信息时需要对信息进行加密处理,某信息的加密算法如下所示:
①将发送信息中的每一个字符的八位二进制取反
②第 1、2、4、8 位上插入 4 个二进制数,若取反后的八位二进制数中 1 的个数是偶数,插入的 4 个二进制是 1、0、1、0,否则是 0、1、0、1
③将 12 位二进制分为 3 段(4 位一段),每一段的最后一个数字移动到最前面,并将移动后的 4 位二进制数转换为十六进制数,转换后的 3 位十六进制数即是加密后的字符字符"A"的加密过程如下表所示:
原文“A”转换成 8 位二进制数取反
1 0 1 1 1 1 1 0
插入 4 位二进制数 1、0、1、0
1 0 1 1 0 1 1 0 1 1 1 0
4 位 1 段,最后一个数字移动到最前面
1101 0011 0111
转换为十六进制数,即密文
D37
 
按照上述规则,小明设计了一个加密的 VB 程序,程序功能如下:在 Text1 中输入待加密的字符,单击“加密”按钮,将加密后的字符显示在 Text2 中,程序运行界面如下图所示,请回答如下问题:

(1)在 Text1 中输入“b”,则 Text2 中显示的内容是_______________(已知 ASC("a")=97)
(2)请在横线处填入合适的代码。
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer Dim m As Integer, n As Integer, t As Integer Dim count As Integer
Dim a(1 To 12) As Integer
Dim mingw As String, miw As String mingw = Text1.Text
For i = 1 To Len(mingw)
n = Asc(Mid(mingw, i, 1))
j = 8
Do While ______________________
a(j) = (n + 1) Mod 2
count = count + a(j)
n = n \ 2
j = j - 1
Loop
For k = 1 To 4
m = 8 + k - 1
Do While m >= 2 ^ (k - 1)
a(m + 1) = a(m)
m = m - 1
Loop
__________________________
Next k
For t = 1 To 3
miw = _____________________ 
Next t
Text2.Text = miw
Next i
End Sub
Function rev_btoh(b() As Integer, start As Integer, ending As Integer) As String Dim i, sum As Integer
Const code = "0123456789ABCDEF"
sum = b(ending)
For i = start To ending - 1
sum = sum * 2 + b(i)
Next i
rev_btoh = Mid(code, sum + 1, 1)
End Function
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
为了统计学校七选三组合的优秀率,从数据库中读取各个七选三组合的学生信息,每个考生的数据包含全校序列号,姓名,选课组合(为7位二进制数,按“物化生政史地技”排列),高考总分。算法规则是:先按照选课组合排列;然后,同一组合的学生,按高考总分进行降序排列;最后,从Textl中读入百分比rate,在list2中输出各种组合总分前rate%的平均分。按上述要求,编写了一个VB程序,功能如下:单击“导入数据”按钮command1,在list1中显示原始数据,单击“计算个选课前%平均分”按钮command2,在list2中显示各组合前rate%的平均分。

(1)若程序运行后数组元素c(7)值为80,则c(9)的值为______.
Dim xh(1 To 500)As Integer,xm(1 To 500)As String,score(1 To 500)As Integer
Dim xk(1 To 500)As Integer      'xk数组存储学生七选三组合的十进制值
Dim num As Integer               '学生总人数
Private Sub Command1_Click()
'连接数据库,从数据库中读取原始数据存入各数组并显示到LIST1列表框中;
End Sub Function D2S(By Val n As Integer)As String
'函数功能为把七选三组合的十进制值转换为中文选科
End Function
Private Sub Command2_Click()
Dim rate As Integer,i As Integer,j As Integer,k As Integer,pos as integer
Dim xkc(0 To 127)As Integer    '各组合选科学生数统计
Dim c(0 To 127)As Integer,sortxh(1 To 500)As Integer
rate=Val(Text1.Text)
For i=1To num
___________________
Next i
For i=1To 127
c(i)=xkc(i)+c(i-1)
Next i
For i=1 To num
k=xk(i)
________________________
c(k)=c(k)-1
Next i
pos=1
For i=0 To 127
sum=0
If xkc(i)>0 Then
For j=________________________
For k=pos+xkc(i)-1 To j+1 Step-1
If score(sortxh(k))>score(sortxh(k-1))Then
t=sortxh(k): sortxh(k)=sortxh(k-1):                     sortxh(k-1)=t
End If
Next k
sum=sum +score(sortxh(j))
Next j
List2. AddItem D2S(i)+Str(Int(sum/Int(xkc(i)* rate/100)))
End If
pos=pos +xkc(i)
Next i
End Sub
类型:操作题
难度系数:困难0.15
收藏
纠错
详情
首页
上一页
下一页
尾页