内容正文:
2023-2024学年浙教版高一下学期第四章第三节 语句
一、选择题
1.有如下程序段:
m= Text1. Text
For i=1 To Len(m)
c= Mid(m, i, 1)
If c >= “0” And c<= “9” And i Mod 2=0 Then
k= 1
Else
k=2
a(k) = a(k) + 1
Next i
数组a各元素的初始值都为0,文本框Text1上输入内容为“9+ 1LM2019T”(不包含双引号)。该程序段运行后,a(2)的值为( )
A.6 B.2 C.9 D.5
2.以下程序用于求解最后出列的人的序号。游戏规则如下:有10个人围成一圈,从第一个开始报数,数到M的人将被淘汰,从圈内下一个人从1开始重新报数。
Dim a(1 To 10)As Boolean 'a(i)表示编号为i的人是否已经出列
m = Val(Text1 Text)
cnt = 0:i = 0:ans =0
Do While (1) '当所有人都出列时停止
i = i+1 '枚举圈内所有人
If (2) Then i = 1
If not a(i) Then k = k+ 1
If k=m Then '数到m的人出列
(3)
cnt = cnt +1
k=0
if cnt = 10 then ans = i
End If
Loop
Text2. text ="最后出列的人是:"+ str (ans)
填空处的代码可由以下部分组成:( )
①i<10 ②i=11 ③a(i)=true
④cnt<10 ⑤i=10 ⑥a(i)=false
A.①②③ B.①⑤⑥ C.④②③ D.④⑤⑥
3.以下程序段运行时语句k=k+1执行次数为( )。
k=-20
do while (k=0)
k=k+1
loop
A.20 B.无数次 C.1 D.0
4.有如下VB程序:
Dim a,b,c,t As Integer
a=15
b=32
c=7
t=b-a
if b>t then t=b
if c>t then t=c
Text1.text=Str(t)
该程序执行后,文本框Text1中显示的内容是( )
A.17 B.15 C.32 D.7
5.下列语句合法的是( )
A.Const math As string =150
B.Const finished As Boolean=Ture
C.Const m As Integer=40000
D.Const cost As Single=325.90
6.有如下VB程序段:
b(1)= a(1):t = 1
For i =2 To 6
For j = 1 To t
If a(i)> b(j) Then
b(j)= a(i)
Exit For
End If
Next j
If j > t Then t = t + 1:b(t)= a(i)
Next i
数组a(1)至a(6)的值分别为15、22、13、134、43、2,执行该程序段后,变量t的值为( )
A.2 B.3 C.4 D.5
7.某算法的部分流程图如图所示,执行该部分后,变量的值an为( )
A.3 B.5 C.7 D.8
8.算法通常有三种不同的执行流程,即( )
A.连续模式、分支模式和循环模式 B.顺序模式、结构模式和循环模式
C.结构模式、分支模式和循环模式 D.顺序模式、选择模式和循环模式
9.某算法的部分流程图如图所示。
执行这部分流程,输入11,变量i和f的值分别是( )
A.10,True B.10,False C.11,True D.11,False
10.某算法的部分流程图如图所示。 执行这部分流程后,变量 s,k的值分别是( )
A.8,6 B.4,4 C.4,5 D.5,4
11.在VB中,若a=4,b=2,下面程序段执行后,变量a、b的值分别是( )
a=a-b
b=b+a
A.2和2 B.2和4 C.4和4 D.4和6
12.a=2:b=3
a=a+b:b=b+a
print a,b
这段程序的执行结果是( )
A.15 21
B.5 8
C.6 9
D.21 15
13.有如下VB程序段:
s=0
For k=1To3
i=1:j=10
Do While i<=j
m= Fix((i+j)/2)
If a(m)< b(k) Then i= m+ 1 Else j= m-1
Loop
s=s+(11-i)
Next k
数组元素a(1)到a(10)依次为2,3,7,9,10,11,15,15,19,21,数组元素b(1)到b(3)依次为5,9,15,执行程序后,变量s中的值为( )
A.19 B.16 C.13 D.21
14.已知S=1+2+3+……+N,找出一个最大数N,使得S<3000。编写程序,解决此问题,最合适的程序结构是( )。
A.循环结构 B.树形结构 C.顺序结构 D.选择结构
15.小明设计了一个求绝对值的程序,请你在以下四个算法描述中,选择一个正确的方法步骤( )。
A.
B.
C.
D.
二、填空题
16.赋值语句的基本格式是: = 表达式。其中格式中的“=”表示 。
17.将双精度浮点数变量x的值四舍五入保留三位小数,赋值给双精度浮点数变量y,y=
18.FOR循环体的执行次数由( ),( )和( )决定.
19.用VB编写一个字符串分行程序,功能如下:单击“分行”按钮Command1将文本框Text1中的英文文本在列表框List1中分行显示(分行时单词不得跨行,每行字符尽可能多但不超过40个)并在标签Label1中输出总行数,运行效果如图所示。分行算法如下:
(1)将文本框中的字符串保存到变量s中;
(2)当s中字符个数超过40时,循环执行下列①、②、③步,否则跳转到(3):
①如果第41个字符不是英文字母,则分行位置p = 40;否则,向左逐个查找,直至找到第一个非英文字母,将其位置作为分行位置p;
②截取s的前p个字符,作为新增行显示在列表框List1中,同时总行数加1 ;
③将s中未分行部分重新赋值给变量s。
(3)将s作为新增行显示在列表框List1中,同时总行数加1。
实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Commandl_Click()
Dim s As String,c As String
Dim r As Integer, total As Integer,p As Integer
total = 0
s =__①___
Do While Len(s) > 40
r = 41
c = Mid(s,r,1)
If Not((c>= "a"And c<="z" ) Or (c>="A"Andc<="Z")) Then
p = 40
Else
’从第41个字符开始向左找到第1个非英文字母,并将其位置值赋给p
Do While (c >= "a" And c <= "z") Or (c >= "A"
And c <= "Z")
r =__②__
c = Mid(s,r,1)
Loop
p = r
End If
List1. Addltem Mid(s,1,p)
total =" total" + 1
s =___③___
Loop
List1. AddItem s
total =" total" + 1
Labell. Caption ="共"+ Str(total) + "行"
End Sub
20.下列VB程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是: 。
Private Sub Command1 Click
Dim x As Integer, m As Integer
m = 3
For x = 1 To 5
If m > 3 Then m = m + 2 Else m = m - 1
Next x
Text1.Text = Str(m)
End Sub
三、操作题
21.编写VB程序,实现如下功能:在文本框Text1中输入一串字符,单击“统计”按钮Command1,统计每个英文字母(不区分大小写)出现的次数,找出出现次数最多的字母,在标签Label1中显示结果。运行效果如图所示。
实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer, max As Integer
Dim a(1 To 26) As Integer '数组a存放26个大小写字母出现的次数Dim st As String, ch As String
st = Text1.Text
For i = 1 To Len(st)
①
If ch >= "A" And ch <= "Z" Then n = Asc(ch) - Asc("A") + 1 a(n) = a(n) + 1
ElseIf ch >= "a" And ch <= "z" Then n = ②
a(n) = a(n) + 1
End If
Next i
max = a(1)
For i = 1 To 26
If ③ Then max = a(i)
End If Next i st = ""
For i = 1 To 26
If max = a(i) Then
st = st + " " + Chr(Asc("A") + i - 1) End If
Next i
Label1.Caption = "出现次数最多的字母是:" & st & " " & "出现次数为:" & Str(max)
End Sub
(2)在文本框 Text1 中输入字符串“ABCEEEEffee333333”,运行程序时,标签 Label1 中输出结果为:出现次数最多的字母是: 出现次数为: 。
22.将以下程序段补充完整。
问题:计算旅客的行李费,收费标准为:20千克以下(包括20千克)不收费,超过20千克的部分每千克收20元。X表示行李重量,Y表示行李费。
程序段:
Dim X As Single
Dim Y As Single
X=InputBox("输入行李重量")
If ① Then
Y=0
Else
Y= ②
End If
Print "行李费= "; ③
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
2.C
3.D
4.C
5.D
6.B
7.B
8.D
9.C
10.A
11.B
12.B
13.A
14.A
15.B
16. 变量 赋值
17.Int(x*1000+0.5)/1000
18. 初值 终值 步长
19.①Text1.Text;②r - 1
③Mid(s,p+1,Len(s)-p)或Mid(s,p+1) 或Right(s,Len(s)-p)
20.-2
21. ch=Mid(st,i,1)或ch=Mid(Text1.text,i,1) Asc(ch) - Asc("A") + 1 - 32 或 Asc(ch) – 96 或其他等价答案或 asc(ch)-asc("a")+1 a(i)>max 或 a(i)>=max或其他等价答案 E 或 e 6
22. X<=20 20*(X-20) Y
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$