内容正文:
2023-2024学年浙教版高一下学期第四章第四节 过程和函数
一、选择题
1.下列Visual Basic表达式的值等于34的是( )
A.Mid("1234567",3,2) B.Abs(﹣33)+1
C.Sqr(34) D.Len("34")+1
2.自定义函数delStr(S,m)的功能是删除字符串S中第m位上的字符,
Function delStr(S As String,m As Integer)As String Dim n As Integer
n= Len(s)
If m<1 Or m>n Then
delStr="输入位置有误!"
ElseIf m=1 Then
delStr=Mid(S,2,n-1)
ElseIf m<n Then
①
ElseIf m=n Then
delStr=Mid(S,1,n-1)
End If
End Function
则划线①处代码填写正确的是( )。
A.delStr=Mid(S,1,m)+Mid(S,m+1,n)
B.delStr=Mid(S,1,m-1)+Mid(S,m,n)
C.delStr=Mid(S,1,m)+Mid(S,m,n-m)
D.delStr=Mid(S,1,m-1)+Mid(S,m+1, n-m)
3.下列VB表达式的值等于数值2020的是( )
A.Abs(Int(-2020.34))
B.Len(“2019”)+1
C.Str(2010)+”10”
D.Mid(“19-3-2020”,6,4)
4.小松想要得到范围在[11,99]中的随机奇数,他可以选用的处理方法是( )
A.Int(Rnd * 89)+ 11 B.Int(Rnd * 44)* 2 + 11
C.Int(Rnd * 45)* 2 + 11 D.Int(Rnd * 50)* 2 + 11
5.在 VB 中,设 x=2019,能正确得到其十位数字“1”的表达式是( )
A.x Mod 100 B.x Mod 100/10
C.x\10 Mod 10 D.x\100 Mod 10
6.下列Visual Basic表达式的值等于100的是()
A.Va1("96")+4 B.Len("40")+60
C.Sqr(81)+19 D.Str(20)+"80"
7.下列VB表达式中值最大的是( )
A.Sqr(9)^3 B.Len("2020选考")*5
C.Int(Rnd*30) D.Val(Mid("286",1,2))
8.在Visual Basic中,从字符串“Good morning”中截取“morning”的表达式是( )
A.Mid(“Good morning”,6,7) B.Mid(Good morning,6,7)
C.Mid(“Good morning”,5,7) D.Mid(“Good morning”,7,7)
9.有VB程序段如下:
s="2019.06 Visual Basic6.0":n=0
For i=1 To Len(s)
ch=Mid(s,i,1)
If ch>="0" And ch<="9"Then
m=Asc(ch)-Asc("0")+1
a(m)=a(m)+1
End If
Next i
For i=1 To 10
If a(i)>1Then n=n+i
Next i
数组a各元素的初始值都为0,执行该程序段后,则变量n的值为( )
A.2 B.4 C.8 D.10
10.下列Visual Basic表达式中,能产生80到100之间(包括80和100)随机整数的是( )
A.Rnd() * 100 B.Rnd() * 100 - 20
C.Int(Rnd() * 20) + 80 D.Int(Rnd()*21)+80
11.有一个VB程序,其程序界面中有一个按钮Command1及一个文本框Text1,并且其程序代码如下:
当点击Command1后,Text1中将显示( )
A.3 B.4
C.5 D.6
12.在运行如下所示的VB程序时,用鼠标单击Command按钮后出现了如下图所示的出错提示。出现错误的原因可能是( )。
Private Sub Command1_Click()
Dim r As Single
Dim s As Single
r = Val(Text1.Text)
s =" 3.14" * r ^ 2
Label1.Caption = s
End Sub
A.Val()函数计算式出现错误
B.变量s不能声明为Single类型
C.Form(窗体)上缺少文本框Text1
D.Form(窗体)上所使用的标签对象名称并不是Label1
13.在VB编程中,我们使用函数与过程是为了( )
A.使程序模块化 B.使程序易于阅读
C.提高程序运行速度 D.便于系统的编译
14.返回指定日期“日”部分的函数是( )。
A.Date() B.Day() C.Year() D.Month()
15.For i=1 To 6
a(i)=Int(Rnd*10)+1
Next i
Fori=1 To 5
If i Mod 2=1 And a(i>a(i+1)Then
t=a(i):a(i)=a(i+1):a(i+1)=t
a(i)=a(i)+1
End if
Next i
执行程序后,数据a中的各个元素可能是( )
A.11 11 8 9 4 8 B.2 10 2 2 4 3
C.10 10 2 2 4 4 D.6 3 7 4 8 5
二、填空题
16.INPUTBOX函数的返回值是( )型的。
17.VB表达式int(-3.1)的值是-4。( )
18.分析解决问题。
在VB中常用的字符串截取函数有:
函数名
功能
示例
结果
Mid(s,m,n)
从字符串s的第m位开始,截取长度为n的字符
Mid(“ABCDEFG”,5,2)
“EF”
Left(s,n)
截取字符串s左边n个字符
Left(“ABCDEFG”,3)
“ABC”
Right(s,n)
截取字符串s右边n个字符
Right(“ABCDEFG”,2)
“FG”
假如某人身份证号码S=”370102199602190000”,如果需要根据此人身份证号码求出该人的“出生年月日”。下列表达式不能实现的是 (单选)
A.Mid (s,7,8)
B.Right (Left(s,14),8)
C.Mid (s,7,4)+Mid(s,11,2)+Mid(s,13,2)
D.Left (s,14)-Left(s,6)
19.下列VB程序运行时,单击Command1后,标签Label1中显示的内容是_______
Private Sub Command1_Click()
Dim s As Integer, j As Integer
s = 0
For j =" 1" To 10
If j Mod 2 <> 0 Then
s =" s" + j
End If
Next j
Label1.Caption = Str(s)
End Sub
20.实参在形式上可以是常量、( )、( )
三、操作题
21.小明的爸爸在今年初为公司购买一台价值50万的商务汽车,汽车价值在使用过程中逐年减少,从明天到第5年,每年初的价值比上年初减少4万元,从第6年开始,每年初的价值为上年初的85%。爸爸让小明算一下第n年初这辆汽车的价值是多少?小明为此设计了下面Visual Basic程序,运行程序,在文本框Text1中输入年数n,单击“计算”按钮Command1,则在标签Label1中显示此年初的价值a。程序运行界面如图所示:
Private Sub Command1_click ( )
Dim n as single, a as single
n=Val (text1.text)
If n = Int(n) And n >= 1 Then
If n<=5 then
a= ①
Else
a=30*0.85^(n-5)
End if
Label3.caption=“第”+Str(n)+“年初价值”+ ② +“万元”
Else
Label3.caption=“输入的年数不符合要求!”
End if
End Sub
(1)用计算机编程解决问题,最核心的过程是 。
(2)本程序窗体中使用的控件类型有命令按钮、文本框和 。
(3)流程图是一种直观的、用图形来描述算法的方法。流程图中“选择分支”和“数据输出”分别用 、 图形来表示。
(4)程序中的语句Dim n As single 将变量n的数据类型定义为 。
(5)在设计用户界面时,要使本程序中command1命令按钮上显示文字“计算”,需设置此控件的 属性(选填“caption”、“font”或 “text”)
(6)程序中①处应填入的表达式为
(7)程序中②处应填入
(8)语句n=Val (text1.text)中函数Val (text1.text)的作用是
(9)Text1的控件类型是
(10)用计算机编程解决问题,大致分为五个过程:①设计算法、②调试运行、③编写程序、④检测结果、⑤分析问题
22.编写一个具有下列功能的VB程序:在文本框Text1中输入18位身份证号,单击“提取”按钮Command1,并在文本框Text2中显示出生日期。编辑界面如1图所示,运行界面如2图所示:
(1)按钮显示内容修改为“提取”,是通过修改 属性完成的。
(2)请根据题意将下列程序补充完整。
Private Sub Command1_Click()
Dim s As String ,x As Integer
S=Text1.Text
x = Len(Text1.Text)
If① Then
Text2.Text =②
Else
Label2.Caption = ”输入的身份证号位数有误,请重新输入”
End If
End Sub
四、简答题
23.想设计一个判断某年是否是闰年的VB程序。通过查询资料得知:如果年份能被100整除同时也能被400整除,则该年是闰年;如果年份不能被100整除但能被4整除,则该年也是闰年。“判断某年是否为闰年”的算法流程图如下图所示(k=True表示该年是闰年,k=False表示该年不是闰年)。请回答下列问题:
(1)流程图粗线框部分的内容是
(2)实现流程图虚线框部分的VB语句是
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
2.D
3.D
4.C
5.B
6.A
7.B
8.A
9.C
10.D
11.B
12.CD
13.A
14.B
15.C
16.字符
17.正确
18.D
19.25
20. 变量 表达式
21.(1)设计算法 (2)标签 (3)菱形框、平等四边形框 (4)是将变量n的数据类型定义为单精度浮点型 (5)Caption (6)a=30-4*(n-1) (7)a (8)把文本框中的字符串转换成数值型数据 (9)文本框 (10)⑤①③②④
22. caption x=18 mid(s,7,8) 或者mid(Text1.Text,7,8)
23.y mod 4=0;
if y mod 400="0" then
k=true
Else
k=false
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$