解析枚举算法强化练习.docx
《解析枚举算法强化练习.docx》由会员分享,可在线阅读,更多相关《解析枚举算法强化练习.docx(8页珍藏版)》请在冰豆网上搜索。
解析枚举算法强化练习
Forpersonaluseonlyinstudyandresearch;notforcommercialuse
解析、枚举算法强化练习
1.下列问题中适合使用解析算法解决的是()
A.计算两个电阻的并联值B.完成各大网站访问量的排名
C.找出100以内所有的质数D.找出100以内所有6的倍数
2.用解析算法计算匀加速直线运动的位移问题时,使用的计算公式是s=v0t+(1/2)at^2,下列用于描述该公式的
VB表达式中,正确的是()
A.s=v0t+l/2at^2B.s=v0*t+l/(2*a*t*t)
C.s=v0t+l/(2*at^2)D.s=v0*t+l/2*a*t^2
3.用解析算法实现求匀速直线运动位移的VB程序代码如下:
PrivateSubCommand1__Click()
DimSAsSingle
DimVAsSingle
DimtAsSingle
s=0
v=10
t=Val(Textl.Text)
s=v*t
Label1.Caption=Str(s)
EndSub
程序界面如图所示:
在文本框Textl中输入28,单击“计算”按钮Commandl后.
标签Labell中显示的内容是。
4.人们常用的欧洲鞋号(又称“法码”)与我国出台的鞋类“薪鞋号”标准存在着如下换算关系:
新鞋号=(法码+10)÷2xl0.如新鞋号为23.5的鞋子,即为人们平常所说的37码。
下面的VB程序可用于解决此问题,程序运行界面如图所示:
运行程序,在文本框Textl中输入新鞋号,单击“换算”按钮Commandl,在文本框Text2中显示所对应的法码,程序代码如下:
PrivateSubCommand1__Click()
DimnAsInteger,mAsSingle'n为新鞋号,m为法码
n=Val(TextI.Text)
Text2.Text=Str(m)
EndSub
程序划线处应填入的内容是。
5.某停车场的收费标准如下:
1小时及以内,收费5元;超过1小时的,超过部分每小时按15元收费(不足1小时的按1小时计算),具体算法流程图如图3-15-5所示。
下面VB程序可用于解决此问题,程序运行界面如图所示:
运行程序,在文本Textl中输入停车时间(分钟),单击“收费”按钮Commandl,在文本框Text2中显示所对应的费用(元).程序代码如下:
PrivateSubCommandl_Click()
DimtAsInteger,costAsInteger,hAsSingle't为停车时间(分钟),h为停车小时数,cost为费用
t=Val(Textl.Text)
h=(t-1)\60J-l
If①Then
cost=5
Else
Cost=②
EndIf
Text2.Text=Str(cost)
EndSub
在程序①和②划线处填入适当的语句或表达式,将程序补充完整。
程序中,①划线处填入。
程序中,②划线处室填入
枚举算法:
1.用枚举算法求解“找出昕有满足各位数字之和等于5的三位数”时,在下列所列举的数值范围内,算法执行效率最高的是()
A从0到999B.从100到999C.从100到500D.从104到500
2.现要编写一个统计2015~2100年间闰年次数的程序。
已知出现闰年的条件是:
年份数能被4整除但不能被100整除,或者能被400整除。
下面的VB程序可用来实现上述功能,请将程序补充完整。
PrivateSubCommandl___Click()'
DimCAsInteger,yearAsInteger
c=0
Foryear=2015T02100
IfThen
c=c+l
EndIf
Nextyear
TextI.Text=Str(c)
EndSub
程序划线处应填人
3.某人出生于20世纪,在21世纪的某一年,他的年龄正好是52岁,并且这一年也恰好是某个数的平方:
请问:
此人出生于哪一年?
52岁那年的年份是多少?
下面的VB程序可用来解决上述问题=请在①和②划线处填人适当的语句或表达式-将程序补充完整。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger'a为52岁那年的年份,b为出生年份
Forb=①
a=b+52
If②Then
Listl.Additem”出生年份是:
”&Str(b)&”年”
Listl.Additem”52岁那年是:
”&Sstr(a)&”年”
Endlf
Nextb
EndSub
(1)程序中①划线处的语句为:
(2)程序中②划线处的语句为:
4.下列VB程序可以用来统计字符串中某字符的个数。
具体功能如下:
运行程序,在文本框Textl中输入字符串s,在文本框Text2中输入需要统计个数的字符m:
单击“统计”按钮Commandl后,在文本框Text3中显示字符m的个数c。
程序运行界面如图3-16-1所示:
实现上述功能的程序代码如下:
PrivateSubCommand1_Click()
DimsAsString,mAsString
DimcAsInteger,iAsInteger
s=Textl.Text
m=Text2.Text
c=0
Fori=lTo①
IfMid(s,i,l)=mThen②
Nexti
Text3.Text=Str(c)
EndSub
在程序①和②划线处填入适当的语句或表达式,将程序补充完整。
(1)程序中①划线处应填入
(2)程序中②划线处应填人
5.一个“偶数迁移”的VB程序界面如图所示,运行程序后,将在左边列表框List1中随机产生10个两位正整数,同时清空右边的列表框List2中的内容:
单击“迁移”按钮ommandl,将列表框Listl中的所有偶数“迁移”到列表框List2申。
该程序的代码如下:
Dima(lT010)Aslnteger’数组a用来存放随机产生的10个两位正整数
DimiAsInteger
PrivateSubFormLoad()‘用于随机产生10个2位整数
Randomize
List2.Clear
Fori=lT010
a(i)=Int(Rnd*90)+10
ListI.AddltemStr(a(i))
Nexti
EndSub
PrivateSubCommandl_click()
Listl.Clear
Fori=lT010
If①Then
List2.AddltemSnr(a(i))
Else
②
EndIf
Nexti
EndSub
为实现上述功能.在划线处填入适当的语句和代码,把程序补充完整。
(1)程序中①划线处的语句为。
(2)程序中②划线处的语句为。
6.现有一张100元绥币.要求将其竞换成若干张10元和5元面额的纸币(每种至少有l张)。
问:
具体的兑换方案有哪些?
总共有几种方案?
为解决上述问题所编制的VB程序如下,运行程序后,单击命令按钮Commandl,列表框Listl中显示所有符合题目要求的兑换方案最后显示总共的方案数c。
其中程序加框处语句需做改动,请写出修改方案。
PrivateSubCommandl__Click()
DimtenAsInteger‘ten为10元纸币的张数
DimfiveAsInteger‘five为5元纸币的张数
DimxAsInteger,cAsInteger
C=0
ListI.Addltem“10元”&””&“5元”
Forten=0T010①
x=100-ten*10
IfxMod5=0Then
five=x\5
EndIf
c=c+1’②
List1.AddltemStr(ten)&”张”&Str(five)&”张”
Nextten
ListI.Addltem”总共有方案数:
”&Str(c)
EndSub
(l)①语句应改为。
(2)②语句的修改方案为()
A.修改为c=ten+fiveB.修改为c=ten+x\5
C.与语句“Endif’互换位置D.与语句“Nextten”互换位置
仅供个人用于学习、研究;不得用于商业用途。
Forpersonaluseonlyinstudyandresearch;notforcommercialuse.
NurfürdenpersönlichenfürStudien,Forschung,zukommerziellenZweckenverwendetwerden.
Pourl'étudeetlarechercheuniquementàdesfinspersonnelles;pasàdesfinscommerciales.
толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях.
以下无正文
仅供个人用于学习、研究;不得用于商业用途。
Forpersonaluseonlyinstudyandresearch;notforcommercialuse.
NurfürdenpersönlichenfürStudien,Forschung,zukommerziellenZweckenverwendetwerden.
Pourl'étudeetlarechercheuniquementàdesfinspersonnelles;pasàdesfinscommerciales.
толькодлялюдей,которыеиспользуютсядляобучения,исследованийинедолжныиспользоватьсявкоммерческихцелях.
以下无正文