Vicialbasic编程复习题.docx
- 文档编号:22779691
- 上传时间:2023-04-27
- 格式:DOCX
- 页数:19
- 大小:21.67KB
Vicialbasic编程复习题.docx
《Vicialbasic编程复习题.docx》由会员分享,可在线阅读,更多相关《Vicialbasic编程复习题.docx(19页珍藏版)》请在冰豆网上搜索。
Vicialbasic编程复习题
分支:
1给定年份和月份,判断该年是否是闰年。
并根据给出的月份判断是什么季节、该月有多少天。
(闰年的条件是:
年份能被4整除但不能被100整除或能被400整除)
PrivateSubCommand1_Click()
DimaAsInteger‘a代表年
DimbAsInteger‘b代表月份
a=Val(Text1.Text)
b=Val(Text2.Text)
IfaMod4=0AndaMod100<>0OraMod400=0Then
Text3.Text="此年为闰年"
Else
Text3.Text="此年不为闰年"
EndIf
SelectCaseb
Case1To3
Text4.Text="此月为春季"
Case4To6
Text4.Text="此月为夏季"
Case7To9
Text4.Text="此月为秋季"
Case10To12
Text4.Text="此月为冬季"
CaseElse
Text4.Text="输入错误"
EndSelect
SelectCaseb
Case1,3,5,7,8,10,12
Text5.Text="此月有31天"
Case4,6,9,11
Text5.Text="此月有30天"
Case2
IfaMod4=0AndaMod100<>0OraMod400=0Then
Text5.Text="此月有29天"
Else
Text5.Text="此月有28天"
EndIf
CaseElse
Text5.Text="输入错误"
EndSelect
EndSub
2编写程序,输入学生的姓名、学号和成绩(高数、英语和专业课),判断该学生能获得几等奖学金,并输出结果。
获奖条件是:
一等奖学金要求所有成绩在95分以上;二等奖学金要求所有成绩在90分以上;三等奖学金要求所有成绩在88分以上。
PrivateSubCommand1_Click()
DimaAsSingle
DimbAsSingle
DimcAsSingle
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
Text4.Text=""
Text5.Text=""
Ifa>95Andb>95Andc>95Then
Text6.Text="此同学获得一等奖学金"
ElseIfa>90Andb>90Andc>90Then
Text6.Text="此同学获得二等奖学金"
ElseIfa>88Andb>88Andc>88Then
Text6.Text="此同学获得三等奖学金"
Else
Text6.Text="此同学不能获得奖学金"
EndIf
EndSub
3编写一个程序输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦:
(1)标准体重=身高-110;
(2)超过标准体重5kg为过胖;(3)低于标准体重5kg为过瘦。
PrivateSubCommand1_Click()
DimaAsSingle
DimbAsSingle
DimcAsSingle
a=Val(Text1.Text)
b=Val(Text2.Text)
c=b-110
Text3.Text=c
Ifa>c+5Then
Text4.Text="过胖"
ElseIfa Text4.Text="过瘦" Else Text4.Text="标准" EndIf EndSub 4征兵的条件是: 男性(sex)年龄(age)在18~20之间,身高(size)在1.65米以上;或者女性(sex)年龄(age)在16~18之间,身高(size)在1.60米以上。 PrivateSubCommand1_Click() DimsbAsString DimsgAsSingle DimnlAsSingle sb=Text1.Text sg=Val(Text2.Text) nl=Val(Text3.Text) Ifsb="男"Andsg>=1.65Andnl>=18Andnl<=20Orsb="女"Andsg>=1.6And(nl>=16Andnl<=18)Then Label1.Caption="符合征兵条件" Else Label1.Caption="不符合征兵条件" EndIf EndSub 用三个文本框控件分别输入性别、年龄、身高信息,根据这些信息判断是否符合征兵条件,用标签控件输出结果。 5编写程序计算: i2+3i+4 i≤> result= 2i-1 5 i2-5i+6 i>10 PrivateSubCommand1_Click() DimiAsSingle DimresultAsDouble i=Val(Text1.Text) Ifi<=5Then result=i^2+3*i+4 ElseIfi>5Andi<=10Then result=2*i-1 Else result=i^2-5*i+6 EndIf Text2.Text=result EndSub 6夏季到了,超市对水果进行促销,具体活动如下: 早市9: 00~12: 00所有水果打九折; 午市12: 00~16: 00所有水果打8折; 晚市16: 00~21: 00所有水果打7折; 小明今天要去超市买些荔枝,请根据他去的时间段,编程输入荔枝的价格并计算总价。 (请注意,他买的水果可能不止1斤) PrivateSubCommand1_Click() DimdjAsSingle DimslAsSingle DimsjAsSingle dj=Val(Text1.Text) sl=Val(Text2.Text) sj=Val(Text3.Text) SelectCasesj Case9To12 Text4.Text=dj*sl*0.9 Case12To16 Text4.Text=dj*sl*0.8 Case16To21 Text4.Text=dj*sl*0.7 CaseElse Text4.Text="商店不开门" EndSelect EndSub 7为某航空公司设计一售机票程序,能根据月份和订票数决定优惠率,计算票价。 假设优惠折扣规定如下: ①在旅游的旺季7~9月份,如果订票数超过20张,票价优惠15%;20张以下,票价优惠5%。 ②在旅游的淡季1~5月份、10月份和11月份,如果订票数超过20张,票价优惠30%,20张以下,票价优惠20%。 ③其他情况,一律优惠20%。 PrivateSubCommand1_Click() DimyfAsInteger DimzsAsInteger DimdjAsSingle DimzjAsSingle dj=Val(Text1.Text) zs=Val(Text2.Text) yf=Val(Text3.Text) SelectCaseyf Case7To9 Ifzs>=20Then zj=dj*zs*(1-0.15) Else zj=dj*zs*(1-0.05) EndIf Case1To5,10,11 Ifzs>=20Then zj=dj*zs*(1-0.3) Else zj=dj*zs*(1-0.2) EndIf Case6,12 zj=dj*zs*(1-0.2) CaseElse zj=输入错误 EndSelect Text4.Text=zj EndSub 8利用if语句求三个数x,y,z中的最大值,并将其放入Max变量中显示输出。 PrivateSubCommand1_Click() DimaAsSingle DimbAsSingle DimcAsSingle a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) Ifa>=bAnda>=cThen Text4.Text=a ElseIfb>=aAndb>=cThen Text4.Text=b Else Text4.Text=c EndIf EndSub 9输入一公元年号,判断是否是闰年。 闰年的条件是: 年号能被4整除但不能被100整除,或者能被400整除。 PrivateSubCommand1_Click() DimaAsInteger a=Val(Text1.Text) IfaMod4=0AndaMod100<>0OraMod400=0Then Text2.Text="此年为闰年" Else Text2.Text="此年不为闰年" EndIf EndSub 10北京化工大学北方学院决定组织成绩优秀的学生免费旅游,可以获得旅游的条件如下: (1)所考3门课程即英语、高等数学、VB的总分超过285分,并且每门课程的成绩超过90分,这样的学生可以免费旅游颐和园、故宫和天坛; (2)每门课程的成绩都在88分以上,这样的学生可以免费旅游颐和园、故宫; (3)每门课程的成绩都在80分以上,这样的学生可以免费旅游颐和园; (4)其他条件都没有免费旅游资格。 编程输入某学生3门课的成绩,判断此学生可以到何处旅游。 PrivateSubCommand1_Click() DimaAsSingle DimbAsSingle DimcAsSingle a=Val(Text1.Text)'英语 b=Val(Text2.Text)'数学 c=Val(Text3.Text)'VB Ifa+b+c>285Anda>90Andb>90Andc>90Then Text4.Text="此学生可以免费旅游颐和园,故宫和天坛" ElseIfa>88Andb>88Andc>88Then Text4.Text="此学生可以免费旅游颐和园,故宫" ElseIfa>80Andb>80Andc>80Then Text4.Text="此学生可以免费旅游颐和园" Else Text4.Text="此学生不可以免费旅游" EndIf EndSub 11在“神州号”程序中,需要判断飞船飞行状况。 当飞船速度继续加大时,飞船将达到第二宇宙、第三宇宙速度(见下表)试编写程序,输入不同的飞船速度V,判断它的各种飞行状况,显示出来。 飞船速度(V)单位(km/s) 飞行状况 7.91<=V<11.19 飞船绕地球做匀速圆周运动 11.19<=V<16.67 飞船离开地球的控制,围绕太阳转 V>16.67 飞船挣脱太阳引力飞出太阳系 PrivateSubCommand1_Click() DimvAsSingle v=Val(Text1.Text) Ifv>=7.91Andv<11.19Then Text2.Text="飞船绕地球做匀速圆周运动" ElseIfv>=11.19Andv<16.67Then Text2.Text="飞船离开地球的控制,围绕太阳转" ElseIfv>16.67Then Text2.Text="飞船挣脱太阳引力飞出太阳系" EndIf EndSub 12编一段程序,从键盘输入3个整数,找出其中绝对值最小的数。 PrivateSubCommand1_Click() DimaAsInteger DimbAsInteger DimcAsInteger a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) IfAbs(a) Text4.Text=a ElseIfAbs(b) Text4.Text=b ElseIfAbs(c) Text4.Text=c EndIf EndSub 循环 1编写 的Function函数,用该函数实现以下表达式求和,n为任意输入的数值。 PrivateSubCommand1_Click() DimnAsInteger DimsAsSingle n=Val(Text1.Text) Forn=1Ton s=s+n^2/(n+1) Nextn Text2.Text=s EndSub 2用两种循环结构输出101~500之间的所有奇数并输出它们的和。 PrivateSubCommand1_Click() DimiAsInteger Fori=101To500Step2 s=s+i Printi Nexti Text1.Text=s-i EndSub PrivateSubCommand1_Click() DimnAsInteger n=101 s=0 Do s=s+n n=n+2 Printn LoopUntiln>=500 Text1.Text=s-n EndSub 3S=1+1X2+1X2X3+...+1X2X3X...Xn,任意输入n的值,求S的值。 PrivateSubCommand1_Click() DimiAsInteger,sAsLong,nAsInteger,aAsLong n=Text1.Text s=0 a=1 Fori=1Ton a=a*i s=s+a Next Text2.Text=s EndSub 4S=1X2X3X...Xn,求S不大于10000时,最大的n的数值。 PrivateSubCommand1_Click() s=1 n=0 Do n=n+1 s=s*n LoopUntils>=10000 Text1.Text=n-1 Text2.Text=s/n EndSub 5利用下述公式计算 的值(直到最后一项小于 为止)。 PrivateSubCommand1_Click() DimxAsSingle x=Val(Text1.Text) m=1 n=1 z=1'z代表e^x Do m=m*n z=z+x^n/m n=n+1 LoopUntilx^n/m<10^(-6) Text2.Text=n-1 Text3.Text=z EndSub 6设计程序,求s=1*(1+2)*(1+2+3)*….*(1+2+3+4+。 。 。 +n)的值,编程求s不大于20000时最大的n值。 PrivateSubCommand1_Click() DimsAsLong,aAsInteger,iAsInteger a=0 s=1 i=1 DoWhiles<=20000 a=a+i s=s*a i=i+1 Loop Text1.Text=i-2 EndSub PrivateSubCommand1_Click() DimnAsInteger DimmAsInteger s=1 m=0 n=1 Do m=m+n s=s*m n=n+1 LoopUntils>=20000 Text1.Text=n-2 Text2.Text=s/m EndSub 7求300~400之间(包括300和400)所有能被3整除的数之和s,并在窗体上打印出s值。 PrivateSubCommand1_Click() DimsAsInteger Forn=300To400Step3 s=s+n Nextn Prints EndSub 8编程求1到100自然数中被7整除的数据的个数及它们的和。 9求S=1! /2+2! /3+3! /4+...+n! /(n+1),n是从键盘输入的正整数。 PrivateSubCommand1_Click() DimnAsInteger DimsAsDouble DimmAsSingle m=1 s=0 n=Val(Text1.Text) Forn=1Ton m=m*n s=s+m/(n+1) Nextn Text2.Text=s EndSub 10任意输入n值,编程求n! PrivateSubCommand1_Click() DimnAsInteger DimsAsLong s=1 n=Val(Text1.Text) Forn=1Ton s=s*n Nextn Text2.Text=s EndSub 11设计程序,求s=1/2+2! /3+3! /4+...+(n-1)! /n的值并输出,其中n是从键盘输入大于1的正整数 PrivateSubCommand1_Click() DimnAsInteger DimmAsSingle DimsAsSingle DimiAsInteger m=1 s=0 n=Val(Text1.Text) Fori=1Ton-1 m=m*i s=s+m/(i+1) Nexti Text2.Text=s EndSub 12某单位制定生产计划,未来五年的生产量年递增率为5%,从第六年起年递增率调整到8%,试计算常量翻一翻(基数的2倍)所需的最少年数。 PrivateSubForm_Click() DimyAsSingle,xAsSingle,nAsInteger y=1: x=1: n=0 DoWhile(y/x)<=2# n=n+1 y=y*(1+0.05) Ifn>=6Then y=y*(1+0.08) EndIf Loop Printn EndSub 13设计程序S=-1+2! /3-3! /5+4! /7+……+(-1)nn! /(2n-1),求S不大于10000时的最大的n值。 PrivateSubCommand1_Click() DimsAsSingle,nAsInteger,aAsLong,signAsInteger s=0 a=1 n=0 sign=-1 DoWhiles<=10000 n=n+1 a=a*n s=s+sign*a/(2*n-1) sign=-sign Loop Text1.Text=n-1 EndSub PrivateSubCommand1_Click() DimnAsInteger DimsAsDouble DimmAsSingle m=1 s=0 n=1 DoWhiles<=10000 m=m*n s=s+(-1)^n*m/(2*n-1) n=n+1 Loop Text1.Text=n-2 EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vicialbasic 编程 复习题