VB程序设计知识信息技术蔡教师程序和程序设计程序(Program):是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。程序的基本结构:顺序结构、选择结构、循环结构。S1S2SnSC是否CS1S2顺序结构,如求解“鸡兔同笼”问题选择结构,如求解一元二次方程问题循环结构,如求最大公约数问题程序和程序设计程序设计:就是编写程序的过程,这个过程包括了分析问题、建立模型、设计算法和把该算法用某种计算机程序设计语言(如VB语言)转换成为程序,并保证这种转换无二义性。具体问题程序设计过程程序设计计算机程序分析问题、建立模型、设计算法、编写程序程序设计语言的产生与发展程序设计语言经历了从机器语言、汇编语言到高级语言的发展历程。以下描述的是三类语言完成“9+8”的加法运算的指令。机器语言1011000000001001000001000000100011110100汇编语言MovAL,9ADDAL,8HLT高级语言(如VB语言)Print9+8说明:汇编语言和高级语言编写的程序必须翻译成机器语言才能在计算机上执行。例1:用VB实现高考倒计时PrivateSubForm_Load()Timer1.Interval=1000EndSubPrivateSubTimer1_Timer()Label4.Caption=Str(#6/7/2016#)Label5.Caption=Str(Date)Label6.Caption=Str(CDate(Label4.Caption)-CDate(Label5.Caption))&天EndSub例2:用VB实现倒计时DimxAsInteger'定义窗体级变量PrivateSubCommand1_Click()Timer1.Enabled=TrueTimer1.Interval=1000x=Val(Text1.Text)*60'时间以秒为单位EndSubPrivateSubTimer1_Timer()x=x-1Ifx=0Thenh=x\3600'时m=(x-h*3600)\60'分s=x-h*3600-m*60'秒Text2.Text=Trim(Str(h))&小时&Trim(Str(m))&分&Trim(Str(s))&秒ElseText2.Text=时间到!!!Timer1.Enabled=FalseEndIfEndSubPrivateSubForm_Load()Move(Screen.Width-Width)\2,(Screen.Height-Height)\2'运行时,窗口在屏幕中上下、左右居中对齐出现EndSub例3:用VB实现跑马灯(滚动字幕)DimflagAsIntegerPrivateSubCommand1_Click()Timer1.Interval=10Timer1.Enabled=TrueEndSubPrivateSubCommand2_Click()Timer1.Enabled=FalseEndSubPrivateSubCommand3_Click()EndEndSubPrivateSubTimer1_Timer()'flag=0时向右滚动,=1时向左滚动Ifflag=0ThenLabel1.Left=Label1.Left+10Ifflag=1ThenLabel1.Left=Label1.Left-10IfLabel1.Left=Form1.ScaleWidth-Label1.WidthThenflag=1IfLabel1.Left=1Thenflag=0EndSub例4:用VB计算个人所得税缴纳PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSinglea=InputBox(工资总额)'a=text1.textb=a-3500SelectCasebCaseIs=0:c=0CaseIs=1500:c=b*0.03CaseIs=4500:c=b*0.1-105CaseIs=9000:c=b*0.2-555CaseIs=35000:c=b*0.25-1005CaseIs=55000:c=b*0.3-2755CaseIs=80000:c=b*0.35-5505CaseElse:c=b*0.45-13505EndSelectPrint应缴税;c'label1.caption=cEndSubSelectCaseTrueCaseIs=(b=0):c=0Caseb0Andb=1500:c=b*0.03Caseb=4500:c=b*0.1-105Caseb=9000:c=b*0.2-555Caseb=35000:c=b*0.25-1005Caseb=55000:c=b*0.3-2755Caseb=80000:c=b*0.35-5505CaseElse:c=b*0.45-13505EndSelect多重选择语句的格式及“表达式列表”的使用SelectCase表达式case表达式列表1语句组1case表达式列表2语句组2……caseelse语句组NEndSelect表达方式1:Case1(相当于CaseIs=1)表达方式2:Case10to20表达方式3:CaseIs=10CaseIs0还可以是上面几种情况的混用,用逗号分隔Case1,3,5,7,9Case10to20,100to200CaseIs=10,Is0例5:用VB实现查找星座PrivateSubCommand1_Click()Dim生日AsDate生日=InputBox(请输入自己的生日(格式:月/日),查找星座,4/11)SelectCase生日Case#12/22/2016#To#12/31/2016#:Print你是魔羯座Case#1/1/2016#To#1/19/2016#:Print你是魔羯座Case#1/20/2016#To#2/18/2016#:Print你是水瓶座Case#2/19/2016#To#3/20/2016#:Print你是双鱼座Case#3/21/2016#To#4/20/2016#:Print你是牡羊座Case#4/21/2016#To#5/20/2016#:Print你是金牛座Case#5/21/2016#To#6/21/2016#:Print你是双子座Case#6/22/2016#To#7/22/2016#:Print你是巨蟹座Case#7/23/2016#To#8/22/2016#:Print你是狮子座Case#8/23/2016#To#9/22/2016#:Print你是处女座Case#9/23/2016#To#10/22/2016#:Print你是天秤座Case#10/23/2016#To#11/21/2016#:Print你是天蝎座Case#11/22/2016#To#12/21/2016#:Print你是射手座CaseElse:Print输入错误!EndSelectEndSub例6:用VB绘钻石图案PrivateSubForm_Click()ConstPIAsSingle=3.1415926Dimx(18)AsSingle,y(18)AsSingleDimiAsInteger,jAsIntegerClsScale(-10,10)-(10,-10)'DrawWidth=3Fori=0To17x(i)=8*Cos(i*PI/9)y(i)=8*Sin(i*PI/9)'PSet(x(i),y(i)),vbRedNextiDrawWidth=1Fori=0To17Forj=i+1To17Fork=1To1000000NextkLine(x(i),y(i))-(x(j),y(j)),&HFFFFFFNextjNextiEndSub例7:用VB实现石头剪刀布游戏PrivateSubCommand1_Click()a=InputBox(石头,剪刀,布,游戏,石头)Randomizex=Fix(Rnd*3)SelectCasexCase0Ifa=石头ThenMsgBoxdeuce&(计算机出的是石头哦),,石头,剪刀,布游戏ElseIfa=剪刀ThenMsgBoxLOSE&(计算机出的是石头哦),,石头,剪刀,布游戏ElseIfa=布ThenMsgBoxWIN&(计算机出的是石头哦),,石头,剪刀,布游戏ElseMsgBox输入错误EndIfCase1Ifa=石头ThenMsgBoxwin&(计算机出的是剪刀哦),,石头,剪刀,布游戏ElseIfa=剪刀ThenMsgBoxdeuce&(计算机出的是剪刀哦),,石头,剪刀,布游戏ElseIfa=布ThenMsgBoxlose&(计算机出的是剪刀哦),,石头,剪刀,布游戏ElseMsgBox输入错误EndIfCase2Ifa=石头ThenMsgBoxLOSE&(计算机出的是布哦),,石头,剪刀,布游戏ElseIfa=剪刀ThenMsgBoxWIN&(计算机出的是布哦),,石头,剪刀,布游戏ElseIfa=布ThenMsgBoxdeuce&(计算机出的是布哦),,石头,剪刀,布游戏ElseMsgBox输入错误EndIfEndSelectEndSub