


2.4调试程序同步练习人教版信息技术选修1
展开一、选择题
1.有如下 VB 程序段:
x = 86420: s1 = "ByeBye2020": s2 = "Fighting2021"
result = ""
D While x > 0
r = x Md 10
If r Md 3 = 0 Then
result = Mid(s1, r + 1, 1) & result
Else
result = result & Mid(s2, r + 1, 1)
End If
x = x \ 10
Lp
Text1.Text = result
执行该程序段后,文本框 Text1 中显示的内容是 ( )
A.Bgt22B.eBihgC.2Bgt2D.2yeFn
2.有如下 VB 程序段:
i = 1: n = 5
D While i <= n
x = Int(Rnd * 9) + 1
If x Md 2 = 1 Then
a(i) = x
Else
a(n) = x
n = n - 1
End If
i = i + 1
Lp
数组a元素的初值均为0,执行该程序段后,则a(1)至a(5)各元素值不可能的是( )
A.7 1 3 9 8B.3 3 0 8 8C.0 1 0 4 2D.1 3 5 5 0
3.给定一个n正整数(n<=20),根据设定的保留位数,舍去一部分数字,剩下的数字按原次序组成一个最大的新数。例如原数36835132,保留4位,最大数为6532。在文本框Text1输入原数,文本框Text2中输入保留的位数,文本框Text3中输出删除后的最大数。实现上述功能的部分VB代码如下∶
Dim a(1 T 20)As String,ys As String,xs As String
Dim k As Integer,h As Integer,n As Integer,i As Integer,j As Integer
ys=Text1.Text:k=Val(Text2.Text)
n=Len(ys):h=1
Fr i=1 T n
a(i)=mid(ys,i,1)
Next i
Fr i=1 T k
Fr j = h T ①
If a(j) > a(h) Then ②
Next j
xs=xs + a(h)
h=h + 1
Next i
Text3.Text=xs
上述程序中划线处可选语句为( )
①n-k+i ②i+k ③n-k+1 ④j=h ⑤h=j
则①②处语句依次是
A.③⑤B.①⑤C.①④D.②⑤
4.下列VB程序段功能为:在文本框Text 1中输入由一串字母和数字构成的字符,在文本框Text 2显示字符串去重以后的结果,其中字母不区分大小写,即“a”和“A”判定为相同。例如:字符串“2021xuanka”,去重为“201 xuank”。
Dim c(0 T 35) As Integer
s = Text 1. Text: res =""
Fr i = 1 T Len(s)
ch = Mid(s, i, 1)
If ch > = "0" And ch < = "9" Then
k = Val (ch) + 26
Else
________①________
________②________
End If
________③________
If c(k) = 1 Then res = res + ch
Next i
Text2. Text = res
上述程序段中方框处可选语句为:
①k = Asc(ch) - Asc("a") ②k = Asc(ch) - Asc("A") ③c(k) = c(k) + 1 ④c(k) = 1 ⑤If k < = 0 Then k = k + 32 ⑥If k > = 32 Then k = k - 32
则①②③处语句依次可为( )
A.②⑥③B.②⑥④C.①⑤③D.①⑤④
5.某VB程序段如下:
Dim i As Integer, n As Integer, k As Integer, s As String
n = Val(Text1.Text):k = 1: s = ""
D While 2
k < n k = k + 1
Lp
D While n <> 0
If n >= 2 ^ (k -1) Then
s = s + "1"
n = n - 2 ^ (k -1)
Else
s = s + "0"
End If
k = k - 1
Lp
Fr i= 1 T k
s = s + "0"
Next i
在文本框Text1输入12,执行该程序段后,变量s、k的值分别为( )
A."1100"、2B."11"、2
C."0011"、4D."1100"、4
6.以下程序的功能是( )
dim X AS duble
X=inputbx(“x=”)
if X<0 then
X=-X
endif
print X
A.输入X,输出X的相反数B.输入X,输出X的绝对值
C.输入X,输出X的平方根D.输入X,判断其是否小于0,并输出X
7.下列 VB 表达式值最大的是( )
A.Sqr(Abs(-9.7))B.Len(Mid("丽水 2021",3,2))
C.Int(Rnd()*3+1)D.123 Md 100 \10
8.某随机密钥生产程序的VB程序段如下:
s = "XFeng@JinHua"
n = Len(s)
i = 0: c = 1: ans = ""
D While c <= 4
m = Int(Rnd * 6 + 1)
i = (i + m - 1) Md n + 1
ans = ans + Mid(s, i, 1)
c = c + 1
Lp
Text1.Text = ans
执行该程序段后,文本框中不可能的输出是( )
A.XFenB.eiuaC.@XFgD.FJHX
9.小明编写VB 程序,实现从某一字符串删除指定的连续字符串,并将处理后的字符串重新输出, 在文本框Text1中输入原始字符串,在文本框Text2 中输入需要删除的连续字符串,单击Cmmand1 后,在文本框Text3中输出处理后的结果。实现该功能的VB程序段如下:
Dim x As Integer, result As String,p As String, k As String
result = "":p = Text1.Text:k = Text2.Text
Fr x = 1 T Len(p) -Len(k) + 1
If (1) Then
result = result + Mid(p, x, 1)
Else
(2)
End If
Next x
Text3.Text = (3)
上述程序段中横线处可选语句为:
则(1)(2)(3)处填入的语句依次为( )A.①③⑤
B.②④⑥
C.②③⑤
D.①④⑥
10.有如下VB程序段:
s = "PYTHON"
t = "8421"
result = ""
Fr i = 1 T Len(t)
x = Val(Mid(t, i, 1))
y = (x - 1) Md Len(s) + 1
result = result + Mid(s, y, 1)
Next i
Text1.Text = result
执行上述程序段后,文本框Text1中显示的是( )
A.PYHYB.PTPTC.TPTPD.YHYP
二、填空题
11.编写VB程序,实现如下功能:在文本框Text1中按“YYYY-MM-DD”(年4位,月2位,日2位)格式输入某一日期,单击“推算”按钮Cmmand1,在文本框Text2中输出该日期对应的星期,运行界面如下图所示。
(1)要使标签对象Label1中显示的文本“date”修改为“日期”,可在其属性窗口中将___________属性的属性值改“日期”。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Cmmand1_Click()
Dim s As String '变量s存储输入的日期
Dim s1 As String, s2 As String, s3 As String
Dim y As Integer, y2 As Integer, m As Integer, d As Integer, n As Integer
s1 = "622503514624"
s2 = "512503514624"
s3 = "日一二三四五六"
s = (2)
y =" Val(Mid(s," 1, 4))
m =" Val(Mid(s," 6, 2))
d =" Val(Mid(s," 9, 2))
y2 =" y" Md 100
n =" Int(y2" / 4) + y2 + d
If y Md 4 =" 0" And y Md 100 <> 0 Or y Md 400 =" 0" Then '判断是否为闰年
n =" n" + Val(Mid(s2, m, 1))
Else
n =" n" + Val(Mid(s1, m, 1))
End If
n =" n" Md 7 + 1
'(3)
End Sub
(3)加框处程序代码有错误,请改正 。
(4)如果输入日期“2017-02-01”,则输出结果是星期 。
12.以下VB代码存在一个语法错误:
行号 语句
dim price as duble
②price=inputbx("请输入价格")
③ if price>=500
④ price=price*0.95
⑤ end if
⑥ print price
错误语句在_________行。
正确语句为_____________。
13.运行以下VB程序,结果是_____________。
14.分析并完善程序
以下是计算s=12+22+32+…+1002的程序代码,请补全程序。
Dim s As Lng
Dim i As Integer
s=0
Fr i=1 T 100
s=s+①_____________
②___________
Print s
15.阅读下列程序,选出运行结果。
Fr i = 1 T 10 ’i控制*的行数
Fr j = 1 T i ’j控制每行*的个数
Print "*"; ’输出*
Next j
Print ’输出换行
Next i
运行结果是:_________________(请用英文字母填写)
三、操作题
16.将一段只含大小写字母与空格,不含其它字符的字符串加密,加密算法描述如下
(1).将明文中的字母 E 替换为 A,F 替换为 B,G 替换为 C,… A 替换为 W,B 替换为 X,C 替换 为 Y,…,小写字符的替换方法同理。
如:明文:I Lve China 加密为:E Hkra Ydejw
(2).将加密后的英文字母,按顺序依次放入每个字符串段落中,第 1 个加密字母 E 放在第 1 个段落,第 2 个字母 H 放在第 2 个段落,依次类推(如下图),段落间用逗号分隔并以逗号结 尾。当遇到空格,在段落末尾“,”前,插入“+”号作为标记。
(3).每个段落中,随机插入字母形成新的字母序列段,当段号小于 8 时加密字母在字母序列中存放位置刚好是该段落号,位置以 8 为周期,第 9 段时,加密字母存放位置回到字母序列的 第 1 位,第 10 段加密字母存放位置回到第 2 位,依次类推。(位置号<=8)
(4).在每一段中随机插入除英文字母之外的 ASCII 字符码,形成一串密文。如图所示:
①若密文字符串为: “!@8G+*y/$#r~!s,f?[:a34c33!
则根据加密算法,解密后的明文为_________
②为了寻找密文中隐藏的信息,小明编写了一段 VB 解密程序,代码如下,请在划线处 填入合适的代码。Private Sub Cmmand1_Click() Dim i As Integer, k As Integer
Dim s As String, c As String, ch As String
Dim letter As String, ret As String 'letter 用于存放字母序列
s = Text1.Text k = 1
Fr i = 1 T Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Or c >= "a" And c <= "z" Then letter = letter + c
ElseIf c = "," Then
________
ch = Chr(Asc(ch) + 4)
If Nt (ch >= "A" And ch <= "Z" Or ch >= "a" And
ch <= "z") Then ch = Chr(Asc(ch) - 26)
End If
If ______ Then ret = ret + ch + " "
Else
ret = ret + ch
End If
______
k = k + 1
End If
Next i
Text 2.Text = ret
End Sub
① Mid(s, x, Len(k)) = k
② Mid(s, x, Len(k)) <>
k
③ x = x +
Len(k) – 1
④ x = x + Len(k)
⑤ result + Mid(p, x)
⑥ result
第 1 段
第 2 段
第 3 段
第 4 段
第 5 段
第 6 段
第 7 段
第 8 段
第 9 段
第 10 段
E+,
H,
k,
r,
a+,
Y,
d,
e,
j,
w+,
第 1 段
第 2 段
第 3 段
第 4 段
第 5 段
Etc+,
mHfryh,
Tkrestf,
rfir,
Ccfta+,
第 6 段
第 7 段
第 8 段
第 9 段
第 10 段
iynhyYf,
tqswjyd,
nrtesiueh,
jnytq,
Uwccdb+,
参考答案:
1.C
2.D
3.B
4.A
5.A
6.B
7.A
8.C
9.C
10.D
11.(1)Captin (1分)
(2)Text1.Text (2分)
(3)Text2.Text =" Mid(s3," n, 1) (2分)
(4)三 (2分)
12. 第3 if price>=500 then
13.2
14. i*i Next i
15.D
16. KeQia ch = Mid(letter, (k - 1) Md 8 + 1 , 1) Mid(s, i-1, 1) = "+" letter = ""
4.6趣味应用同步练习人教版信息技术选修1: 这是一份信息技术中图版 (2019)本册综合复习练习题,共7页。试卷主要包含了选择题,操作题等内容,欢迎下载使用。
4.3递归法同步练习人教版信息技术选修1: 这是一份高中信息技术中图版 (2019)必修2 信息系统与社会本册综合习题,共9页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。
4.4查找同步练习人教版信息技术选修1: 这是一份高中信息技术中图版 (2019)必修2 信息系统与社会本册综合随堂练习题,共11页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。