VB教程第4章教案.ppt_第1页
VB教程第4章教案.ppt_第2页
VB教程第4章教案.ppt_第3页
VB教程第4章教案.ppt_第4页
VB教程第4章教案.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章,选择结构程序设计,本章主要内容,第4章选择结构程序设计,退出,选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程4.1条件表达式示例Ifx=5Theny=x+1Ifa1Andb0Thenx=14.2条件语句两种格式的条件语句:If.ThenIf.Then.Else,选择结构设计,关系表达式,逻辑表达式,格式:If条件Then语句或If条件Then语句块EndIf功能:若条件成立(值为真),则执行Then后面的语句或语句块,否则直接执行下一条语句或“EndIf”的下一条语句,4.2.1If.Then语句,多行(块)结构,单行结构,正例:Ifa12Theny=2正例:Ifa=0AndNotb0Andb0,请你给出答案,想一想,思考题,最大字符:D最小字符:C,FFTTT,PrivateSubForm_Load()Showa=1:b=3c=2*a-ba=IIf(caThena=a+1c=c-1Elsea=a-1EndIfPrinta,b,cEndSub,下列程序的运行结果是?,想一想,思考题,25-2,例4.1a,(1)创建应用程序的用户界面和设置对象属性(2)编写程序代码功能要求:用户在“a=”文本框(Text1)、“b=”文本框(Text2)和“c=”文本框(Text3)中输入数据,单击“判断”按钮后,则在“最大数”文本框(Text4)中输出结果,例4.2输入三个数a、b、c,求出其中最大数,例4.2,PrivateSubCommand1_Click()m用来存放较大值DimaAsInteger,bAsIntegerDimcAsInteger,mAsIntegera=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)IfabThenm=aElsem=bEndIfIfcmThenm=cText4.Text=mEndSub,程序代码程序流程图,Then和Else后面的语句块包含另一个条件语句1.一般格式If条件1ThenIf条件2ThenEndIfElseEndIf使用条件语句嵌套时,一定要注意If与Else,If与EndIf的配对关系。,4.2.4条件语句的嵌套,例如:0时至12时,显示“早上好”利用窗体装载(Load)事件,采用Print直接在窗体上输出结果PrivateSubForm_Load()DimhAsIntegerShow使print输出在窗体上的内容可见h=Hour(Time()取系统的时间FontSize=30:ForeColor=RGB(255,0,0)BackColor=RGB(255,255,0)Ifh12ThenPrint早上好!ElseIfh18ThenPrint下午好!ElsePrint晚上好!EndIfEndIfEndSub,例4.3根据不同的时间段发出问候语,例4.3,If条件1Then语句块1ElseIf条件2Then语句块2ElseIf条件3Then语句块3Else语句块nEndIf先测试条件1,如果为假,就依次测试条件2,依此类推,直到找到为真的条件。一旦找到一个为真的条件时,VB会执行相应的语句块,然后执行EndIf语句后面的代码。如果所有条件都是假,那么执行Else后面的语句块n,然后执行EndIf语句后面的代码。,Ifh5Thenb=b+1ElseIfb2Thenb=b-1Elseb=b+2EndIfb=IIf(a=b,b+1,b-1)PrintbEndSub,下列程序的运行结果是?,想一想,思考题,2,例4.3a,使用多分支语句SelectCase也可以实现多分支选择。更有效、更易读,并且易于跟踪调试。SelectCase测试表达式Case表达式表1语句块1Case表达式表2语句块2.CaseElse语句块nEndSelect先计算表达式的值,然后将该值依次与结构中的每个Case的值进行比较,如果该值符合某个Case指定的值条件时,就执行该Case的语句块,然后跳到EndSelect,从EndSelect出口。如果没有相符合的Case值,则执行CaseElse中的语句块,4.3多分支语句,示例SelectCasexCase-1y=10Case1y=20CaseElsey=30EndSelect,用SelectCase语句来实现多分支选择功能,程序代码如下:PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp=成绩等级为:SelectCasescoreCase0To59Label2.Caption=temp+不及格Case60To79Label2.Caption=temp+及格Case80To100Label2.Caption=temp+“优良CaseElseLabel2.Caption=成绩出错EndSelectEndSub,例4.4判断成绩的等级(优良、及格、不及格),例4.4,提供选项让用户选择,如选择“是”或“否”,从列表中选择某一项等选择的控件有:单选按钮、复选框、列表框和组合框,4.4选择性控件,1.单选按钮的用途单选按钮(OptionButton)控件由一个圆圈“”及紧挨它的文字组成,能提供“选中”和“未选中”两种可选项成组形式出现2.常用属性Caption属性Value属性:表示单选按钮是否被选中,选中时Value值为True,否则为False。使用单选按钮组时,选中其中一个,其余就会自动关闭Alignment属性:设置单选按钮标题的对齐方式3.事件Click事件在应用程序中可以创建一个事件过程,检测控件对象Value属性值,再根据检测结果执行相应的处理,4.4.1单选按钮,(1)创建应用程序的用户界面和设置对象属性单选按钮组;初始状态:设置Option1的Value属性值设置为True,或通过代码“Option1.Value=True”来实现(2)编写程序代码功能要求,例4.5用单选按钮组控制显示不同的字体,例4.5,程序代码如下:PrivateSubOption1_Click()Text1.FontName=宋体EndSubPrivateSubOption2_Click()Text1.FontName=幼圆EndSubPrivateSubOption3_Click()Text1.FontName=楷体_GB2312EndSub说明:程序代码中所用的字体号(如“宋体”、“幼圆”等)必须与系统提供的字体相一致,1.复选框的用途复选框(CheckBox)控件由一个四方形小框和紧挨它的文字组成。提供“选中”和“未选中”两种可选项复选框控件与单选按钮控件在使用方面的区别2.常用属性Caption属性Value属性:表示复选框的状态有三种取值:0未选中(缺省值)1选中2不可用(灰色显示)Alignment属性;Style属性3.事件复选框可响应的事件与单选按钮基本相同,4.4.2复选框,(1)创建应用程序的用户界面和设置对象属性多行文本框(带垂直滚动条)和四个复选框(2)编写程序代码功能要求:程序开始运行后,用户在文本框中输入一段文字(如“复选框应用示例”),然后按需要单击各复选框,则文字的字体、字型、字号及颜色随之改变,例4.6用复选框来控制文字的字体、字型、字号及颜色,例4.6,PrivateSubCheck1_Click()IfCheck1.Value=1Then判复选框1是否选中Text1.FontName=楷体_GB2312ElseText1.FontName=宋体EndIfEndSubPrivateSubCheck2_Click()IfCheck2.Value=1Then判复选框2是否选中Text1.FontItalic=TrueElseText1.FontItalic=FalseEndIfEndSubPrivateSubCheck3_Click()IfCheck3.Value=1Then判复选框3是否选中Text1.FontSize=25ElseText1.FontSize=9EndIfEndSub,PrivateSubCheck4_Click()IfCheck4.Value=1Then判复选框4是否选中Text1.ForeColor=RGB(255,0,0)ElseText1.ForeColor=RGB(0,0,0)EndIfEndSub在运行中,可以任意设定这四个复选框的状态,可以四项都不选,也可以选择其中一项至四项,计时器(Timer)每隔一定的时间间隔自动产生一次Timer事件(或称报时),可以根据这个特性来定时控制某些操作,或计时运行时计时器不显示Enabled属性:确定计时器是否可用Interval属性:设置两个Timer事件之间的时间间隔,其值以毫秒(1ms=1/1000s)为单位计时器控件只响应一个Timer事件。也就是说,计时器控件对象在间隔了一个Interval设定时间后,便触发一次Timer事件,4.5计时器控件,例4.7建立一个电子时钟,(1)创建应用程序的用户界面和设置对象属性一个计时器控件和一个文本框。计时器控件Timer1的Interval属性值设定为1000(1秒)(2)编写程序代码PrivateSubTimer1_Timer()timer事件过程Text1.Text=Time()Time是时间函数EndSub,例4.7,运行界面,设计界面,计时器(Timer)每隔一定的时间间隔自动产生一次Timer事件和执行Timer事件过程这个时间间隔由Interval属性设定利用这个特性来定时控制某些操作,例4.8实现字体的放大,利用计时器可以按指定间隔时间对字体进行放大(1)创建应用程序的用户界面和设置对象属性一个计时器控件和一个标签。标签内显示文字“放大”计时器控件Timer1的计时器采用默认的属性值Enabled属性值为True(真),Interval属性值为0,例4.8,(2)编写程序代码PrivateSubForm_Load()Label1.Caption=放大Label1.Width=Form1.Width把标签的高度和宽度设置为窗体相同尺寸Label1.Height=Form1.HeightTimer1.Interval=800EndSubPrivateSubTimer1_Timer()IfLabel1.FontSize0Thens=s-1s大于0时减1ElseIfm0Thens等于0时先判m是否大于0m=m-1m大于0时减1s=59EndIfEndIfText1.Text=Format(m,00)数字字串,2位格式Text2.Text=Format(s,00)Ifs=0Andm=0ThenBeep响铃,即让喇叭发一声响MsgBox计时结束EndEndIfEndSub,先在窗体上显示以下考题:鸡兔同笼,已知鸡和兔总头数为h=23,总脚数为f=56,求鸡兔各有多少只?再提供输入框由学生回答问题,然后采用输出框显示对答案的评判意见。分析:设鸡数为j1,兔鸡数为t1,则有j1+t1=hj1=(4*h-f)/22*j1+4*t1=ft1=(f-2*h)/2,例4.10求鸡数和兔数,例4.10,当用户单击“答题”按钮时,程序提供输入对话框,由用户输入答案,再通过输出框显示评判意见。采用的程序代码如下:PrivateSubForm_Load()ShowPrintFontSize=18PrintSpc(9);考一考你FontSize=13PrintPrintSpc(5);鸡兔同笼,已知鸡和兔总头数为23,PrintSpc(3);总脚数为56,求鸡兔各有多少?EndSub,PrivateSubCommand1_Click()“答题”h=23:f=56总头数及总脚数j1=(4*h-f)/2求出的鸡数t1=(f-2*h)/2求出的兔数j2=Val(InputBox(鸡的只数是多少?,请回答)t2=Val(InputBox(兔的只数是多少?,请回答)SelectCaseTrue选择真值Casej1=j2Andt1=t2MsgBox回答完全正确!Casej1=j2MsgBox鸡数回答正确,但兔数不对!Caset1=t2MsgBox兔数回答正确,但鸡数不对!CaseElseMsgBox回答错误!EndSelectEndSub,(1)创建应用程序的用户界面和设置对象属性单选按钮组Option1、Option2、Option3及Option4分别代表+、-、*(乘)和/(除)运算(2)编写程序代码,例4.11输入两个运算数和运算符(+、-、*或/),组成算式并计算结果,然后显示出来,例4.11,PrivateSubCommand1_Click()“计算”按钮DimaAsSingle,bAsSingle,tAsSingle,sAsStringa=Val(Text1.Text)b=Val(Text2.Text)SelectCaseTrueCaseOption1.Value+运算s=+t=a+bCaseOption2.Value-运算s=-t=a-bCaseOption3.Value*运算s=*t=a*bCaseOption4.Value/运算s=/t=a/bEndSelectText3.Text=a&s&b&=&tEndSub,PrivateSubCommand2_Click()Text1.Text=Text2.Text=Text3.Text=EndSubPrivateSu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论