VB第4章F 1.docx
- 文档编号:5383465
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:13
- 大小:39.51KB
VB第4章F 1.docx
《VB第4章F 1.docx》由会员分享,可在线阅读,更多相关《VB第4章F 1.docx(13页珍藏版)》请在冰豆网上搜索。
VB第4章F1
习 题
一、选择题
1.设分段函数y(x)的表达式为:
y=
,则能正确实现该分段函数计算的语句为( D )。
A.Ifx>0Theny=x+1B.y=x+1
y=x-1 Ifx<=0Theny=x-1
C.Ifx>0D.Ifx>0Then
y=x+1 y=x+1
Else Else
y=x-1 y=x-1
EndIf EndIf
2.有如下程序段:
xcase=1
t=InputBox(“请输入一个数:
”)
SelectCaset
CaseIs>0
Y=xcase+1
CaseIs=0
Y=xcase+2
CaseElse
Y=xcase+3
EndSelect
Printxcase;Y
若输入-1,输出结果为( A )。
A.1 4B.1 3C.1 2D.1 1
3.下列循环语句执行后,X的值等于( A )。
X=5
Fori=1To20Step2
X=X+i\5
Nexti
X=i
A.21B.22C.23D.24
4.执行以下程序段时,( C )。
x=1
DoWhilex<>0
x=x*x
Printx;
Loop
A.循环体将执行1次B.循环体将执行0次
C.循环体将执行无限次D.系统将提示语法错误
5.设窗体中包含一个命令按钮Command1,一个标签Label1,并有以下的事件过程。
程序运行后,单击Command1按钮,标签中显示的内容是( C )。
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
i=1:
n=0
DoWhilei<10
n=n+i
i=i*(i+1)
Loop
Label1=i&″-″&n
EndSub
A.6-3B.24-9C.42-9D.6-9
6.有如下循环结构:
Do
循环体
LoopWhile条件
则以下叙述中错误的是( A )。
A.若条件是一个为0的常数,则一次也不执行循环体
B.条件可以是关系表达式、逻辑表达式或常数
C.循环体中可以使用ExitDo语句
D.如果条件总是为True,则不停地执行循环体
7.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimnumAsInteger
num=1
DoUntilnum>6
Printnum;
num=num+2.4
Loop
EndSub
程序运行后,单击命令按钮,则窗体上显示的内容是( B )。
A.1 3.4 5.8B.1 3 5C.1 4 7D.无数据输出
8.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimaAsInteger,sAsInteger
a=8
s=1
Do
s=s+a
a=a-1
LoopWhilea<=0
Prints;a
EndSub
程序运行后,单击命令按钮,则窗体上显示的内容是( C )。
A.7 9B.34 0C.9 7D.死循环
二、填空题
1.下面程序的功能是 奇偶分别累加 。
Dimn%,m%
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
IfIsNumeric(Text1.Text)Then
SelectCaseText1.TextMod2
Case0
n=n+Text1.Text
Case1
m=m+Text1.Text
EndSelect
EndIf
Text1.Text=″″
Text1.SetFocus
EndIf
EndSub
2.下面的程序是检查输入的算术表达式中圆括号是否配对,并显示相应的结果。
本程序在文本框输入表达式,边输入边统计,以回车作为表达式输入结束。
DimCount1%
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfChr(KeyAscii)=″(″Then
Count1=Count1+1
ElseIfChr(KeyAscii)=″)″Then
Count1=Count1-1
EndIf
IfKeyAscii=13Then
IfCount1=0Then
Print″左右括号配对″
ElseIf Count1>0 Then
Print″左括号多于右括号″;Count1;″个″
Else
Print″右括号多于左括号″;-Count1;″个″
EndIf
EndIf
EndSub
3.输入任意长度的字符串,要求将字符顺序倒置,例如“ABCDEFG”变换为“GFEDCBA”。
PrivateSubCommand1_Click()
Dima$,n%,i%,c$
a=InputBox(″输入字符串″)
n=Len(a)
Fori=1ToInt(n/2)
c=Mid(a,i,1)
Mid(a,i,1)=Mid(a,n+1-i,1)
Mid(a,n+1-i,1)=c
Nexti
Printa
EndSub
三、阅读程序,写出程序运行结果
1.Dimx$,n%,a%
n=20
Dowhilen<>0
a=nmod2
n=n\2
x=Chr(48+a)&x
Loop
Printx
10100
2.a$=″*″:
b$=″$″
Fori=1to4
IfiMod2=0Then
x$=String(Len(a$)+i,b$)
Else
x$=String(Len(a$)+i,a$)
EndIf
Printx$;
Nexti
**$$$****$$$$$
3.Fori=1To9
Forj=1To2*i-1
IfiMod2=0ThenPrintStr$(i);ElsePrintcStr$(i);
Nextj
Nexti
1
222
33333
4444444
555555555
66666666666
7777777777777
888888888888888
99999999999999999
4.Dima%,i%,j%
a=0
Fori=1to5
Forj=-2to2
a=a+i+j
Nextj
Printa;
Nexti
Printi,j,a
515305075
6375
四、程序设计题
1.设计一个窗体,输入一个3位整数,将它反向输出。
例如输入123,输出为321。
‘ValStrReverseCStr
'采用函数
PrivateSubCommand1_Click()
Dima$,b$
a=InputBox("输入一个3位整数")
b=StrReverse(a)
Me.FontSize=18
Printb
EndSub
'采用循环
PrivateSubCommand1_Click()
Dima$,b$,i%
a=InputBox("输入一个3位整数")
Fori=1To3
b=Mid(a,i,1)+b
Next
FontSize=18
Printb
EndSub
2.从键盘输入任意一个实数,用Print方法在窗体上同一行显示其平方和平方根,要求每个数保留3位小数。
‘formatSqr^
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,c!
a=Val(InputBox("请输入一个实数"))
b=a^2
c=Sqr(a)
FontSize=20
Printa&"的平方为:
"&Format(b,"#.000")
Printa;"的平方根为:
";Format(c,"#.000")
EndSub
3.计算下列分段函数值:
y=
‘If语句/SelectCase语句
PrivateSubForm_Click()
DimxAsDouble,y#
x=Val(InputBox("请输入一个数"))
Ifx<-5Then
y=Sin(x)^2+Cos(x)
ElseIfx<5Then
y=x/2+(x*x+5)/2*x
ElseIfx<10Then
y=(3*x)^(1/3)
ElseIfx<=15Then
y=Log(x)
Else
y=Sin(x)^2+Cos(x)
EndIf
FontSize=20
Print"y=";y
EndSub
4.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用Price来表示):
求所售商品的实际销售价格。
‘If语句/SelectCase语句
PrivateSubForm_Click()
DimPriceAsSingle,nAsSingle
Price=Val(InputBox("请输入商品价格"))
SelectCasePrice
CaseIs<200
n=Price
CaseIs<500
n=Price*(1-0.03)
CaseIs<1000
n=Price*(1-0.05)
CaseIs<2500
n=Price*(1-0.08)
CaseIs<5000
n=Price*(1-0.1)
CaseElse
n=Price*(1-0.14)
EndSelect
FontSize=18
Me.AutoRedraw=True
Print"价格为"&Price&"的商品,打折后实际价格为";n
EndSub
5.产生50个1~100之间的随机整数,显示所有小于60的数。
‘For语句+Rnd+If语句+MsgBox
OptionExplicit
PrivateSubForm_Click()
DimnAsInteger,mAsInteger,kAsInteger
FontSize=18
Randomize
Cls
Forn=1To50
m=Int(100*Rnd+1)
Ifm<60Then
Printm,
k=k+1
IfkMod5=0Then'控制每行打印的数字个数
EndIf
EndIf
Next
EndSub
6.由键盘输入一个正整数,找出大于或等于该数的第一个素数。
PrivateSubCommand1_Click()
DimnAsInteger,iAsInteger,mAsInteger,kAsInteger
n=Val(InputBox("请输入一个正整数:
","提示"))
k=n
Do
i=2
m=Sqr(k)
DoWhilei<=mAndkModi<>0
i=i+1
Loop
Ifi>mThenMsgBox"大于或等于"&n&"的第一个素数是:
"&k:
ExitDo
k=k+1
Loop
EndSub
‘另,……
OptionExplicit
PrivateSubForm_Click()
DimnAsInteger,mAsInteger,iAsInteger,bAsBoolean
n=Val(InputBox("请输入一个正整数:
","提示"))
m=n
Do
i=2
DoWhilemModi<>0Andi i=i+1 Ifi=mThen b=True ExitDo EndIf Loop m=m+1 LoopUntilb FontSize=18 Me.AutoRedraw=True Print"大于或等于";n;"的第一个素数为: ";m-1 EndSub 7.设s=1+ + +…+ ,求与8最接近的s的值及与之对应的n值。 PrivateSubCommand1_Click() Dims#,n%,m# Do m=s n=n+1 s=s+1#/n LoopWhiles<=8 If8-m n=n-1 MsgBox"与8最接近的s的值为: "&s&vbCrLf&"相对应的n的值为: "&n EndSub 或 PrivateSubCommand1_Click() Dims,n&,m m=CDec(m) s=CDec(s) Do m=s n=n+1 s=s+1/n LoopWhiles<=8 If8-m n=n-1 MsgBox"与8最接近的s的值为: "&s&vbCrLf&"相对应的n的值为: "&n EndSub 8.计算不定方程 共有多少组自然数解。 PrivateSubCommand1_Click() Dimx%,y%,n% ‘x=1: y=1 Fory=0To100‘99 Whilex<=y Ifx^2+y*y=10000Thenn=n+1 x=x+1 Wend ‘x=1 x=0 Nexty MsgBox"不定方程共有"&n&"组自然数解" EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB第4章F VB
![提示](https://static.bdocx.com/images/bang_tan.gif)