《基本程序结构》课件.ppt

上传人:牧羊曲112 文档编号:5021143 上传时间:2023-05-30 格式:PPT 页数:185 大小:2.31MB
返回 下载 相关 举报
《基本程序结构》课件.ppt_第1页
第1页 / 共185页
《基本程序结构》课件.ppt_第2页
第2页 / 共185页
《基本程序结构》课件.ppt_第3页
第3页 / 共185页
《基本程序结构》课件.ppt_第4页
第4页 / 共185页
《基本程序结构》课件.ppt_第5页
第5页 / 共185页
点击查看更多>>
资源描述

《《基本程序结构》课件.ppt》由会员分享,可在线阅读,更多相关《《基本程序结构》课件.ppt(185页珍藏版)》请在三一办公上搜索。

1、第4章基本程序结构,郭清溥,第4章基本程序结构,编写相应各种事件的程序代码,这是程序设计的重点和难点。程序设计有三种基本结构,它们是顺序结构、选择结构和循环结构,这是程序设计的基础,这些内容将在本章中一一介绍。同时还在最后一节介绍一些程序设计中的常用算法。,【本章导读】,第4章基本程序结构,顺序结构选择结构循环结构几种常用的算法介绍,【本章要点】,8学时(理论),8学时(上机),课时安排,4.1 顺序结构的程序设计,顺序结构是一种线性结构。是程序设计中最简单同时也是最基本的结构。它要求顺序地执行每一个基本的加工处理单位。,4.1 顺序结构的程序设计,在计算机中让一个没有被赋予具体值的变量参与运

2、算是没有意义的。因此给变量提供初值是程序中不可缺少的步骤。,计算表达式的值,并将其提供给变量 或 修改指定对象的属性值。,Let=或 Let.=,格式,功能,4.1.1 赋值语句,4.1 顺序结构的程序设计,在计算机中让一个没有被赋予具体值的变量参与运算是没有意义的。因此给变量提供初值是程序中不可缺少的步骤。,Let intMax=0 该语句将数值型数据0保存在变量intMax中。Text1.Text=河南财经学院 该语句将名称为Text1的TextBox控件的Text属性值修改为“河南财经学院”。,例如,4.1.1 赋值语句,4.1 顺序结构的程序设计,1.命令关键字 Let 可以缺省;2.

3、语句格式中的符号“=”是 赋值号,与数学中的等号只是形式上一样;3.一个赋值语句只能给一个变量赋值;4.赋值符号“=”右边的表达式可以是变量、常量、函数等;5.赋值符号“=”左边只能是变量名或对象的属性引 用,不能是常量、符号常量、表达式;6.赋值号两边的数据类型一般应该一致。,说明,4.1.1 赋值语句,4.1 顺序结构的程序设计,X=8,Y=9N=N+1M=X=8Exp=Sqr(3)5=X+YX+Y=5,X=8:Y=9,表示 N 累加 1,将 X=8 的值(逻辑量)赋给 M,Exp1=Sqr(3),赋值号左边不能是常量,赋值号左边不能是表达式,4.1.1 赋值语句,4.1 顺序结构的程序设

4、计,编写程序,求摄氏温度与华氏温度的转换,例4.1,我们用 F 表示华氏温度 用 C 表示摄氏温度 则它们的关系为:C=5(F-32)/9(或:F=32+9C/5),4.1.1 赋值语句,分析:,4.1 顺序结构的程序设计,编写程序,求摄氏温度与华氏温度的转换,例4.1,4.1.1 赋值语句,4.1 顺序结构的程序设计,编写程序,求摄氏温度与华氏温度的转换,例4.1,F To C,从文本框中获得F的值,即:F=Val(txtF.Text),用5*(F-32)/9计算C的值,即:C=5*(F-32)/9,用文本框输出C的值,即:txtC.Text=C,4.1.1 赋值语句,4.1 顺序结构的程序

5、设计,编写程序,求摄氏温度与华氏温度的转换,例4.1,C To F,从文本框中获得C的值,即:C=Val(txtC.Text),用9*C/5+32计算F的值,即:F=9*C/5+32,用文本框输出F的值,即:txtF.Text=F,4.1.1 赋值语句,4.1 顺序结构的程序设计,编写程序,求摄氏温度与华氏温度的转换,例4.1,F to C 命令按钮,Private Sub cmdFtoC_Click()Dim F!,C!Let F=Val(txtF.Text)Let C=5*(F-32)/9 Let txtC.Text=CEnd Sub,4.1.1 赋值语句,4.1 顺序结构的程序设计,编写

6、程序,求摄氏温度与华氏温度的转换,例4.1,C to F 命令按钮,Private Sub cmdCtoF_Click()Dim F!,C!C=Val(txtC.Text)F=9*C/5+32 txtF.Text=FEnd Sub,4.1.1 赋值语句,4.1 顺序结构的程序设计,Print,格式,在指定的窗体中显示“输出项表”的值(缺省窗体时指当前窗体),功能,4.1.2 Print方法,4.1 顺序结构的程序设计,数值型数据在输出时都是第一位是符号位,数值最后要带一个字符位的尾空;“Print方法”最后若没有格式字符,则执 行完输出后,自动换行;最后若有格式 字符,则执行完输出内容后按格式

7、字符的 规定移动输出指针,说明,4.1.2 Print方法,4.1 顺序结构的程序设计,格式字符“,”所规定的输出叫标准输出。标准输出是按每一部分占14个字符位计算。格式字符“,”就是将输出指针移到下一个标准区域。,格式字符“,”,4.1.2 Print方法,Print-1,2,Print Microsoft Visual BASIC,4.1 顺序结构的程序设计,格式字符“,”举例,4.1.2 Print方法,4.1 顺序结构的程序设计,格式字符“;”所规定的输出叫紧凑输出。紧凑输出就是紧挨着输出。格式字符“;”就是保持输出指针不动。,格式字符“;”,4.1.2 Print方法,Print-1

8、;2;Print Microsoft Visual BASIC,4.1 顺序结构的程序设计,格式字符“;”举例,4.1.2 Print方法,4.1 顺序结构的程序设计,Tab(n):将输出指针移到第n个位置。当 n 输出指针的当前值 时,输出移到下一行执行。Spc(n):输出n个空格。,与Print方法有关的函数,4.1.2 Print方法,Print 1234567890;Print Tab(12);ABCDEPrint Spc(10);ABCDE;Print Tab(12);ABCDE,4.1 顺序结构的程序设计,与Print方法有关的函数举例,4.1.2 Print方法,4.1 顺序结构

9、的程序设计,该函数的作用是在一个对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框中内容。函数返回值的类型为字符型。,输入对话框InputBox函数,InputBox(,),格式,4.1.3 人机交互,4.1 顺序结构的程序设计,Dim strIDCard$strIDCard=InputBox(输入完成后单击“确定”按钮,输入卡号),输入对话框InputBox函数,4.1.3 人机交互,4.1 顺序结构的程序设计,Dim strName$strName=InputBox(输入你的姓名&Chr(13)&Chr(10)&_ 完成后单击“确定”按钮,输入,郭清溥),输入对话框InputB

10、ox函数,提示,标题,默认,产生一个回车换行,4.1.3 人机交互,4.1 顺序结构的程序设计,MsgBox函数在对话框中显示信息,等待用户单击按钮,并返回一个整数以说明用户单击了哪个按钮。,消息对话框MsgBox函数,MsgBox(,),格式,4.1.3 人机交互,4.1 顺序结构的程序设计,消息对话框MsgBox函数,(按钮值)的意义,4.1.3 人机交互,4.1 顺序结构的程序设计,消息对话框MsgBox函数,对话框中的图标,4.1.3 人机交互,4.1 顺序结构的程序设计,消息对话框MsgBox函数,默认按钮的设置,4.1.3 人机交互,4.1 顺序结构的程序设计,消息对话框MsgBo

11、x函数,vbOKCancel+vbInformation+vbDefaultButton1,YN=MsgBox(请确认你的输入!,1+64+0,确认),“1”表示显示“确定”、“取消”按钮,“0”表示第一个按钮是默认值,“64”表示显示图标,4.1.3 人机交互,YN=MsgBox(你的输入有误!,5+16+256,确认),65,1+64+0,4.1 顺序结构的程序设计,消息对话框MsgBox函数,4.1.3 人机交互,MsgBox函数的返回值,4.1 顺序结构的程序设计,MsgBox还可以写成语句的格式。,消息对话框MsgBox语句,MsgBox,当MsgBox为语句时,没有返回值。,格式,

12、语句要求的参数不使用括号!,MsgBox 文件已保存!,0+48+0,确认,4.1.3 人机交互,4.1 顺序结构的程序设计,Visual Basic期终成绩由三部分组成:期终考试、作业和平时成绩,它们分别占70,10,20。现有一个学生的成绩依次为 89,90,78,编写程序,求其总评成绩。,假设程序中我们分别用KS,ZY,CS表示考试成绩、作业成绩和平时测试成绩,则总评成绩ZP为:ZP=KS70+ZY10+CS20,例4.4,分析:,4.1 顺序结构的程序设计,按钮名称:cmdJS,按钮名称:cmdGB,用InputBox输入,显示在文本框中。,Visual Basic期终成绩由三部分组成

13、:期终考试、作业和平时成绩,它们分别占70,10,20。现有一个学生的成绩依次为 89,90,78,编写程序,求其总评成绩。,例4.4,4.1 顺序结构的程序设计,Visual Basic期终成绩由三部分组成:期终考试、作业和平时成绩,它们分别占70,10,20。现有一个学生的成绩依次为 89,90,78,编写程序,求其总评成绩。,例4.4,4.1 顺序结构的程序设计,Visual Basic期终成绩由三部分组成:期终考试、作业和平时成绩,它们分别占70,10,20。现有一个学生的成绩依次为 89,90,78,编写程序,求其总评成绩。,例4.4,4.1 顺序结构的程序设计,“计算”命令按钮(c

14、mdJS)的程序源代码如下:Private Sub cmdJS_Click()Dim Temp$,KS%,ZY%,CS%,ZP!Temp=InputBox(,输入“考试成绩”)KS=Val(Temp):txtKS.Text=KS Temp=InputBox(,输入“作业成绩”)ZY=Val(Temp):txtZY.Text=ZY Temp=InputBox(,输入“测试成绩”)CS=Val(Temp):txtCS.Text=CS ZP=KS*0.7+ZY*0.1+CS*0.2 lblZP.Caption=总评成绩:&Str(ZP)End Sub,KS*70+ZY*10+CS*20,?,例4.4

15、,KS=txtKS.Text ZY=txtZY.Text CS=txtCS.Text,在调整文本框的Enabled属性后可以用文本框输入三个成绩。,4.1 顺序结构的程序设计,鸡兔同笼问题:鸡和兔子被放在同一个笼中,现在已知鸡兔的总头数和总脚数。编写程序,求笼中鸡和兔子各多少只?,我们用 H 表示总头数,F 表示总脚数 用 C 表示鸡,R 表示兔子 则有:C+R=H 2C+4R=F,R=(F-2H)/2 C=H R,例4.5,分析:,4.1 顺序结构的程序设计,文本框名称:txtR,文本框名称:txtC,按钮名称:cmdStart,用InputBox输入H,F。用标签显示。,鸡兔同笼问题:鸡和

16、兔子被放在同一个笼中,现在已知鸡兔的总头数和总脚数。编写程序,求笼中鸡和兔子各多少只?,例4.5,4.1 顺序结构的程序设计,鸡兔同笼问题:鸡和兔子被放在同一个笼中,现在已知鸡兔的总头数和总脚数。编写程序,求笼中鸡和兔子各多少只?,例4.5,4.1 顺序结构的程序设计,鸡兔同笼问题:鸡和兔子被放在同一个笼中,现在已知鸡兔的总头数和总脚数。编写程序,求笼中鸡和兔子各多少只?,例4.5,“计算”命令按钮(cmdStart)的程序源代码如下:Private Sub cmdStart_Click()Dim H%,F%,R%,C%H=Val(InputBox(,输入总头数)F=Val(InputBox(

17、,输入总脚数)lblResult.Caption=总头数:&H&总脚数:&F R=(F-2*H)/2:C=H-R txtC.Text=C:txtR.Text=REnd Sub,4.1 顺序结构的程序设计,A、B、C三人上街买糖果。三人买好后,A对B、C说:“我可以按你们现有的数量再送你们每人一份。”之后,B对A、C;C对A、B也说了同样的话。互相赠送后,每人各有64块糖果。编写程序,计算A、B、C原来各买了多少块糖果?,我们用A、B、C表示三人原来各买的糖果数。,C 送给A、B前 AA/2 BB/2 CA+B+C,B 送给A、C前 AA/2 CC/2 BA+B+C,A 送给B、C前 BB/2

18、CC/2 AA+B+C,例4.7,分析:,4.1 顺序结构的程序设计,A、B、C三人上街买糖果。三人买好后,A对B、C说:“我可以按你们现有的数量再送你们每人一份。”之后,B对A、C;C对A、B也说了同样的话。互相赠送后,每人各有64块糖果。编写程序,计算A、B、C原来各买了多少块糖果?,例4.7,4.1 顺序结构的程序设计,A、B、C三人上街买糖果。三人买好后,A对B、C说:“我可以按你们现有的数量再送你们每人一份。”之后,B对A、C;C对A、B也说了同样的话。互相赠送后,每人各有64块糖果。编写程序,计算A、B、C原来各买了多少块糖果?,例4.7,4.1 顺序结构的程序设计,Private

19、 Sub cmdStart_Click()Dim A%,B%,C%A=64:B=64:C=64 A=A/2:B=B/2:C=A+B+C C=C/2:A=A/2:B=A+B+C B=B/2:C=C/2:A=A+B+C lblResult.Caption=A、B、C三人的糖果数为:_&A&B&CEnd Sub,A、B、C三人上街买糖果。三人买好后,A对B、C说:“我可以按你们现有的数量再送你们每人一份。”之后,B对A、C;C对A、B也说了同样的话。互相赠送后,每人各有64块糖果。编写程序,计算A、B、C原来各买了多少块糖果?,例4.7,4.1 顺序结构的程序设计,4.1.4 With语句 格式:W

20、ith.End With 功能:With语句可以对某个对象执行一系列的操作,而不用重复指出对象的名称。,4.1 顺序结构的程序设计,编写程序,在实数范围内求解一元二次方程:aX2+bX+c=0,因为要求在实数范围内求解一元二次方程,所以我们应该假设该方程的根的判别式 d2-4ac0,因此我们可以利用一元二次方程的求根公式来求解方程。,例4.6,分析:,4.1 顺序结构的程序设计,例4.6,编写程序,在实数范围内求解一元二次方程:aX2+bX+c=0,由InputBox输入方程的系数,4.1 顺序结构的程序设计,例4.6,编写程序,在实数范围内求解一元二次方程:aX2+bX+c=0,编写程序,在

21、实数范围内求解一元二次方程:aX2+bX+c=0,4.1 顺序结构的程序设计,Private Sub cmdStart_Click()Dim A%,B%,C%,X1!,X2!A=Val(InputBox(,输入方程的系数A)B=Val(InputBox(,输入方程的系数B)C=Val(InputBox(,输入方程的系数C)lblShow.Caption=一元二次方程的系数是:&A&,&B&,&C X1=(-B+Sqr(B*B-4*A*C)/(2*A)X2=(-B-Sqr(B*B-4*A*C)/(2*A)lblX1.Caption=X1=&X1 lblX2.Caption=X2=&X2End S

22、ub,例4.6,4.1 顺序结构的程序设计,编写程序,分别显示角度和弧度的正弦值。,程序运行后显示“例B1 计算正弦”,输入原始数据X,输出计算结果Y,补充例题1,4.1 顺序结构的程序设计,编写程序,分别显示角度和弧度的正弦值。,补充例题1,程序运行后,窗体中各个控件的标题要明确显示:Private Sub Form_Load()Form1.Caption=例B1 计算正弦 cmdJD.Caption=按角度计算 cmdHD.Caption=按弧度计算 txtSR.Text=lblSC.Caption=End Sub,4.1 顺序结构的程序设计,编写程序,分别显示角度和弧度的正弦值。,补充例

23、题1,4.1 顺序结构的程序设计,Private Sub cmdJD_Click()Dim X!,Y!X=Val(txtSR.Text)Y=Sin(X*3.14/180)lblSC.Caption=Sin(&X&度)=&YEnd Sub,编写程序,分别显示角度和弧度的正弦值。,补充例题1,4.1 顺序结构的程序设计,Private Sub cmdHD_Click()Dim X!,Y!X=Val(txtSR.Text)Y=Sin(X)lblSC.Caption=Sin(&X&弧度)=&YEnd Sub,编写程序,分别显示角度和弧度的正弦值。,补充例题1,第4章 实验1,1.例4.4(提交执行文件

24、)请读者考虑:如果将程序中给ZP 赋值的语 句做如下修改后再运行程序,会有什么结果 输出,为什么?ZP=KS*70+ZY*10+CS*202.例4.6(提交执行文件)3.习题四,第二题编程题,第2题(将源代码直接粘贴到答题框中),4.2 选择结构的程序设计,选择结构,是一种常用的主要基本结构,是计算机科学用来描述分支现象的重要手段。其特点是:根据所给定选择条件为真(即分支条件成立)与否,而决定从各实际可能的不同操作分支中执行某一分支的相应操作。并且任何情况下恒有“无论分支多寡,必择其一;纵然分支众多,仅选其一”的特性。,当条件为真时,执行语句组1;当条件为假时,顺序向下执行。,4.2 选择结构

25、的程序设计,块方式:If Then End If行方式:If Then,功能,单分支结构格式,4.2.1 简单条件选择结构的程序实现,4.2 选择结构的程序设计,单分支结构流程图,4.2.1 简单条件选择结构的程序实现,4.2 选择结构的程序设计,比较时会涉及到交换。,Y5,T,X3,Y=5,X=3,T=,5,3,5,交换,间接交换,间接交换:T=Y:Y=X:X=T,4.2.1 简单条件选择结构的程序实现,两个数据X,Y比较大小,使得X大于Y。,例如:,4.2 选择结构的程序设计,块方式:If X Y Then T=Y:Y=X:X=TEndIf,用下面的语句可以实现,行方式:If X Y Th

26、en T=Y:Y=X:X=T,两个数据X,Y比较大小。使得X大于Y。,4.2.1 简单条件选择结构的程序实现,例如:,4.2 选择结构的程序设计,块方式:If Then Else End If行方式:If Then Else,当条件为真时,执行语句组1;当条件为假时,执行语句组2。,功能,双分支结构格式,4.2.1 简单条件选择结构的程序实现,4.2 选择结构的程序设计,双分支结构流程图,4.2.1 简单条件选择结构的程序实现,4.2 选择结构的程序设计,这个问题可有多种方法实现:,4.2.1 简单条件选择结构的程序实现,例如:,4.2 选择结构的程序设计,If x 0 Then y=Sin(

27、x)+Sqr(x*x+1)/x)Else y=1End If,双分支结构:,4.2.1 简单条件选择结构的程序实现,例如:,4.2 选择结构的程序设计,If x 0 Then y=Sin(x)+Sqr(x*x+1)/x)If x=0 Then y=1,单分支结构方法1:,4.2.1 简单条件选择结构的程序实现,例如:,4.2 选择结构的程序设计,y=1If x 0 Then y=Sin(x)+Sqr(x*x+1)/x),单分支结构方法2:,If x=0 Then y=1 y=Sin(x)+Sqr(x*x+1)/x),4.2.1 简单条件选择结构的程序实现,例如:,y=Sin(x)+Sqr(x*

28、x+1)/x)If x=0 Then y=1,从甲地到乙地托运行李。行李重量在50千克以内时,每千克0.80元;超过50千克时,其超过部分每千克1.10元。编写程序,计算托运行李千克时所付的运费。,4.2 选择结构的程序设计,4.2.1 简单条件选择结构的程序实现,例4.9,分析:,从甲地到乙地托运行李。行李重量在50千克以内时,每千克0.80元;超过50千克时,其超过部分每千克1.10元。编写程序,计算托运行李千克时所付的运费。,4.2 选择结构的程序设计,4.2.1 简单条件选择结构的程序实现,例4.9,由InputBox输入行李的重量,,从甲地到乙地托运行李。行李重量在50千克以内时,每

29、千克0.80元;超过50千克时,其超过部分每千克1.10元。编写程序,计算托运行李千克时所付的运费。,4.2 选择结构的程序设计,4.2.1 简单条件选择结构的程序实现,例4.9,Private Sub cmdStart_Click()Dim W!,F!W=Val(InputBox(,输入行李的重量)lblW.Caption=行李重:&W&千克 If W=50 Then F=0.8*W Else F=50*0.8+(W-50)*1.1 End If lblF.Caption=运费:&F&元End Sub,4.2 选择结构的程序设计,4.2.1 简单条件选择结构的程序实现,例4.9,选择结构内部

30、如果包含了选择结构,这就叫做分支结构的嵌套(或者叫做If语句的嵌套)。嵌套时要注意:嵌套的每一个 If 语句必须与 EndIf 配对且使用缩格书写。,4.2 选择结构的程序设计,4.2.2 选择结构的嵌套,4.2 选择结构的程序设计,4.2.2 选择结构的嵌套,例4.10,我们要根据输入的X的值的范围确定选用哪个表达式计算Y:如果X0成立,则利用表达式计算Y的值;否则,如果X0成立,则利用表达式计算Y的值;否则,X0一定成立,利用表达式计算Y的值。这就形成了选择结构的嵌套。,分析:,4.2 选择结构的程序设计,4.2.2 选择结构的嵌套,例4.10,4.2 选择结构的程序设计,4.2.2 选择

31、结构的嵌套,例4.10,Private Sub comStart_Click()Dim X!,Y!,Y_Str$X=Val(txtX.Text)If X 0 Then Y=1+X*X Y_Str=1+X*X Else,If X 0 Then Y=1-X*X Y_Str=1-X*X Else Y=0 Y_Str=0 End If End If txtY.Text=Y_Str&=&YEnd Sub,4.2 选择结构的程序设计,Select Case Case Case Case Else End Select,格式,4.2.3 多分支选择结构的程序实现 1.Select Case 语句,4.2 选

32、择结构的程序设计,在给出的多个备选分支中,测试表达式顺序与表达式1、表达式2比较,当某个比较的结果为真时,则执行下面相应的语句组,语句组执行完成以后,转到End Select语句后执行;如果前面的表达式都不成立,则执行语句组 N+1。,功能,4.2.3 多分支选择结构的程序实现 1.Select Case 语句,4.2 选择结构的程序设计,(1)Case 语句中的表达式有三种不同的形式:表达式1,表达式2 例如,Case 2,4,6,9 表达式1 To 表达式2例如,Case A To E Is 关系表达式例如,Case Is=12,说明,4.2.3 多分支选择结构的程序实现 1.Select

33、 Case 语句,4.2 选择结构的程序设计,(2)Case 语句中的条件可以是以上形式的组合(这多个条件是“或”的关系):例如,Case 2,4,9 To 12即当测试值为2、或4、或9、或10、或11、或12时成立。“测试表达式”的类型应同Case表达式的类型一致。,说明,4.2.3 多分支选择结构的程序实现 1.Select Case 语句,当条件1为真时,执行语句组1;当条件2为真时,执行语句组2;当条件均为假时,执行语句组n+1。如果Else选项缺省,且条件均不成立,则顺序向下执行。,4.2 选择结构的程序设计,If Then ElseIf Then ElseIf Then Else

34、 End If,功能,格式,4.2.3 多分支选择结构的程序实现 2.多分支If 语句,4.2 选择结构的程序设计,4.2.3 多分支选择结构的程序实现 2.多分支If 语句,多分支If结构流程图,4.2 选择结构的程序设计,4.2.3 多分支选择结构的程序实现 2.多分支If 语句,多分支If结构流程图,编写程序,将学生的百分制成绩按要求转换成相应的等次输出。等次分为五种,具体划分为:90 100:优秀 80 89:良好 70 79:中等 60 69:及格 0 59:不及格,4.2 选择结构的程序设计,例 4.11,这个问题可有多种方法实现:,4.2.3 多分支选择结构的程序实现,4.2 选

35、择结构的程序设计,例 4.11,4.2.3 多分支选择结构的程序实现,假设程序中我们分别用R表示输入的百分制成绩,用G表示相应的等次。其中R的值用InputBox输入,计算的结果G用标签显示。,分析:,90 100:优秀 80 89:良好 70 79:中等 60 69:及格 0 59:不及格,4.2 选择结构的程序设计,例 4.11,4.2.3 多分支选择结构的程序实现,这个问题可有多种方法实现:,4.2 选择结构的程序设计,例 4.11,4.2.3 多分支选择结构的程序实现,Private Sub cmdStart_Click()Dim R!,G$R=Val(InputBox(,输入百分制成

36、绩)If R=90 Then G=优秀 ElseIf R=80 Then G=良好 ElseIf R=70 Then G=中等 ElseIf R=60 Then G=及格 Else G=不及格 End If lblR.Caption=百分制成绩:&R lblG.Caption=等 次:&GEnd Sub,A.多分支If结构:,4.2 选择结构的程序设计,Select Case R Case Is=90 G=优秀 Case 80 To 89 G=良好 Case 70 To 79 G=中等 Case 60 To 69 G=及格 Case Is 60 G=不及格End Select,B.Select

37、 Case结构:,Case Is=80,这样修改条件语句结果会如何?,例 4.11,4.2.3 多分支选择结构的程序实现,4.2 选择结构的程序设计,If R=60 Then G=及格If R=70 Then G=中等If R=80 Then G=良好If R=90 Then G=优秀,条件语句调整顺序!,同样的语句位置调换后结果就大不一样!,例 4.11,4.2.3 多分支选择结构的程序实现,C.单分支结构:,结果如何?,If R=90 Then G=优秀,If R=80 Then G=良好,If R=70 Then G=中等,If R=60 Then G=及格,If R 60 Then G

38、=不及格,4.2.3 多分支选择结构的程序实现,4.2 选择结构的程序设计,If R=90 Then G=优秀Else If R=80 Then G=良好 Else If R=70 Then G=中等 Else If R=60 Then G=及格 Else G=不及格 End If End If End IfEnd If,例 4.11,D.If语句的嵌套,VB中提供的条件函数:IIF()函数和Choose()函数,前者代替IF语句,后者可代替Select Case语句,均适用于简单的判断场合。,4.2 选择结构的程序设计,4.2.4 条件函数,4.2 选择结构的程序设计,IIf(,),格式,4

39、.2.4 条件函数 1.IIf()函数,IIf函数首先要计算“条件”、“条件真值时的表达式”、“条件假值的表达式”的值,当“条件”的值为“真”时,则IIf函数返回“条件真值时的表达式”;当“条件”为“假”时,则IIf函数返回“条件假值时的表达式”,功能,4.2 选择结构的程序设计,求x,y中大的数,将其存入MaxNum变量中。,例如:,B.If XY Then MaxNum=X Else MaxNum=Y End If,A.If XY Then MaxNum=X Else MaxNum=Y,4.2.4 条件函数 1.IIf()函数,C.MaxNum=IIf(X Y,X,Y),4.2 选择结构的

40、程序设计,Choose(,),格式,4.2.4 条件函数 2.Choose()函数,Choose()函数会根据“整数表达式”的值来决定返回的值(Choose函数会自动将“整数表达式”的值进行取整操作)。如果“整数表达式”的值是1,则返回“选项列表”中的第1个选项;如果“整数表达式”的值是2,则会返回“选项列表”中的第2个选项;以此类推。若“整数表达式”的值小于1或大于列出的选项数目,则Choose()函数返回Null。,功能,4.2 选择结构的程序设计,Nop的取值范围为14,使其对应转换成“”、“”、“”、“”符号,我们可以使用如下语句:Op$=Choose(Nop,)当Nop的值为1时,返

41、回字符串“”,将其存入Op$变量中;当Nop的值为3时,返回字符串“”,将其存入Op$变量中;,例如,4.2.4 条件函数 2.Choose()函数,4.2 选择结构的程序设计,Go To标号|行号,格式,4.2.5 GoTo语句的程序实现 1.GoTo语句,该语句的功能是无条件地转移到标号或行号指定的语句行。,功能,1.的格式:GoTo语句会破坏程序的结构,因此在VB中要有限制的使用。3.多数情况下GoTo语句可以用循环语句替代。,4.2 选择结构的程序设计,说明,4.2.5 GoTo语句的程序实现 1.GoTo语句,4.2 选择结构的程序设计,On Error Go To|,格式,4.2.

42、5 GoTo语句的程序实现 2.On Error Go To 语句,该语句的功能是当程序执行的过程中出现错误时,系统会将程序转移到标号或行号指定的语句行。,功能,1.该语句也被叫做“错误陷阱”语句。错误处理程序依靠 Err 对象的 Number 属性中的值来确定错误发生的原因。,4.2 选择结构的程序设计,说明,4.2.5 GoTo语句的程序实现 2.On Error Go To 语句,显示输入数据的算术平方根。,4.2 选择结构的程序设计,例4.12,4.2.5 GoTo语句的程序实现 2.On Error Go To 语句,我们可以利用函数Sqr计算数据的算术平方根,Dim x%,XSqr

43、t!x%=InputBox(输入一个正整数)XSqrt!=Sqr(x%)Label1.Caption=x%&的算术平方根=&XSqrt!,4.2 选择结构的程序设计,显示输入数据的算术平方根。,例4.12,4.2.5 GoTo语句的程序实现 2.On Error Go To 语句,如果输入的数据是负数,则会弹出“出错提示”对话框,4.2 选择结构的程序设计,显示输入数据的算术平方根。,例4.12,Dim x%,XSqrt!x%=InputBox(输入一个正整数)XSqrt!=Sqr(x%)Label1.Caption=x%&的算术平方根=&XSqrt!,ReInput:If x%0 Then

44、MsgBox 错误!请重做,0+48+0,警告 GoTo ReInputEnd If,我们应该对输入的数据加以过滤.,4.2.5 GoTo语句的程序实现,4.2 选择结构的程序设计,Dim x%,XSqrt!x%=InputBox(输入一个正整数)XSqrt!=Sqr(x%)Label1.Caption=x%&的算术平方根=&XSqrt!,On Error GoTo ErrTrap GoTo SubExitErrTrap:MsgBox 错误!请重做,0+48+0,警告SubExit:,显示输入数据的算术平方根。,例4.12,4.2.5 GoTo语句的程序实现,我们还可以使用”错误陷阱”对输入的

45、数据加以过滤,4.2 选择结构的程序设计,在实际的应用程序处理工作中,只要涉及到有原始数据输入的过程,一般我们都要对它们进行过滤!,4.2.5 GoTo语句的程序实现 2.On Error Go To 语句,第4章实验2,例4.11(提交EXE文件)请考虑:按教材中所提出的建议修改后程序运行结果会有什么变化?为什么?习题四,第二题编程题,第1题。(将源代码直接粘贴到答题框中)3.习题四,第二题编程题,第3题。(将源代码直接粘贴到答题框中)4.习题四,第二题编程题,第4题。(将源代码直接粘贴到答题框中)5.修改前面的题目,对原始输入数据过滤。,4.3 循环结构的程序设计,循环是客观世界普遍存在的

46、一种客观现象。在我们所处理的问题中,常常遇到这样一些情况,它们的计算和处理方法完全一样,只是要求重复计算多次,而每次使用的数据都按照一定的规则在改变。这就是“循环”。程序设计中的循环,是指在程序设计中,从某处开始有规律地反复执行某一操作块(或程序块)的现象,并称重复执行的该操作块(或程序块)为循环体。,4.3 循环结构的程序设计,问题1.打印10 行“*”,4.3 循环结构的程序设计,问题2.计算2n,直接计算 2n 2n,While Wend,4.3 循环结构的程序设计,格式,当“条件”成立时,顺序执行循环体。当“条件”不成立时,脱离循环,程序转到Wend后继续执行。,功能,4.3.1 条件

47、循环的程序实现,(1)While和Wend必须配对使用。(2)为使程序正确执行,循环中必须有改变条 件的语句。(3)要想执行循环体,必须先执行While。,4.3 循环结构的程序设计,说明,4.3.1 条件循环的程序实现,有一张面积足够大的纸(假定纸的厚度为0.4mm),如果可能,你将它不断的对折。编写程序,计算对折多少次以后可以超过珠穆朗玛峰(8844430mm)的高度?,4.3 循环结构的程序设计,例4.13,4.3.1 条件循环的程序实现,分析:,我们用 H 表示纸张的厚度,对折一次其厚度就扩大一倍(用N记录对折的次数),即 H=H*2,用条件控制,看折多少次以后可以超过8844430。

48、,有一张面积足够大的纸(假定纸的厚度为0.4mm),如果可能,你将它不断的对折。编写程序,计算对折多少次以后可以超过珠穆朗玛峰(8844430mm)的高度?,4.3 循环结构的程序设计,例4.13,4.3.1 条件循环的程序实现,Private Sub cmdStart_Click()Dim H#,N%N=0 H=Val(InputBox(,输入纸的厚度(mm))lblPaper.Caption=纸的厚度:&H&mm While H=8844430 H=H*2 N=N+1 Wend lblH.Caption=对折&N&次后的厚度为:&H&mmEnd Sub,4.3 循环结构的程序设计,4.3.

49、1 条件循环的程序实现,例4.13,4.3 循环结构的程序设计,任给一自然数,编写程序,求其反序数。,例4.15,4.3.1 条件循环的程序实现,分析:,我们用N表示输入的自然数,用M表示其反序数 用N 与 10 求模,得出个位,该位计入M;用N 除以10取整,去掉个位,然后再与10求模,得出新数据的个位,该位与M乘以10以后作和;重复前一步直到将整个数据处理完毕(N=0),4.3 循环结构的程序设计,任给一自然数,编写程序,求其反序数。,例4.15,4.3.1 条件循环的程序实现,任给一自然数,编写程序,求其反序数。,Private Sub cmdStart_Click()Dim N&,M&

50、,T&N=Val(txtN.Text)M=0 While N 0 T=N Mod 10 M=M*10+T N=Int(N/10)Wend txtM.Text=MEnd Sub,4.3 循环结构的程序设计,例4.15,4.3.1 条件循环的程序实现,While N,这样修改条件结果会如何?,4.3 循环结构的程序设计,我们利用公式计算工程常量。,例4.16,4.3.1 条件循环的程序实现,分析:,我们 用 E 表示待求的工程常量 用 N表示累加的数据项数 用 M 表示第 i 个数据项的分母(M=N!)当 1/M Term 为真时重复执行:E=E+1/M N=N+1 M=M*N,4.3 循环结构的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号