欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第4章控制语句与程序调试.ppt

    • 资源ID:5642273       资源大小:619.01KB        全文页数:66页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章控制语句与程序调试.ppt

    第四章 基本控制结构,王林景wlj_,目录,4.1 顺序结构 4.2 选择结构与相关语句 4.3 循环语句 4.4 其它语句 4.5 程序调试,学习目标:,掌握三种基本控制结构 掌握If 条件语句和Select Case选择语句 掌握ForNext和DoLoop循环语句 掌握两重循环,了解多重循环 了解Exit、End和Goto语句 掌握程序的简单调试方法,结构化程序设计及算法表示,算法概述 什么是算法:广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:,1)输入A、B、C。2)A与B中大的一个放入MAX中。3)把C与MAX中大的一个放入MAX中。4)输出MAX,MAX即为最大数。,例 输入三个数,然后输出其中最大的数。将三个数依次输入到变量、B、C中,设变量MAX存放最大数。其算法如下:,结构化程序设计及算法表示,例 输入10个数,打印输出其中最大的数。算法设计如下:(1)输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1(2)将A存入表示最大值的变量Max中,即Max=A(3)再输入一个值给A,如果AMax 则 Max=A,否则Max不变(4)让记录数据个数的变量增加1,即N=N+1(5)判断N是否小于10,若成立则转到第(3)步执行,否则转到第(6)步(6)打印输出max,结构化程序设计及算法表示,算法的特性,有穷性确定性有0个或多个输入有一个或多个输出有效性,结构化程序设计及算法表示,算法的表示 一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。,结构化程序设计及算法表示,例如:例4.1可用如下的伪代码表示Begin(算法开始)输入 A,B,C IF AB 则 AMax 否则 BMax IF CMax 则 CMaxPrint MaxEnd(算法结束),结构化程序设计及算法表示,用传统流程图表示算法,处理框,起止框,I/O框,判断框,流程线,连接点,1、传统流程图中的基本符号,结构化程序设计及算法表示,2、三种基本结构的表示(1)顺序结构,(2)选择结构,结构化程序设计及算法表示,(3)循环结构,a)当型循环,b)直到循环,结构化程序设计及算法表示,三种基本结构的特点:,(1)只有一个入口(2)只有一个出口(3)不存在死语句(4)不存在死循环,例:例4.2输入10个数,打印输出其中的最大的数的流程图,结构化程序设计及算法表示,从10个数中选出最大的数的算法流程图,结构化程序设计及算法表示,用NS流程图表示算法,将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框,三种基本结构的NS图表示:,1、顺序结构,2、选择结构,结构化程序设计及算法表示,(3)循环结构,a)当型循环,b)直到循环,例:画出从10个数中选出最大的数的NS 流程图,结构化程序设计及算法表示,传统流程图,NS流程图,结构化程序设计及算法表示,Private Sub Form_Click()Dim a%,max%,i%a=Val(InputBox(A=?)max=a For i=1 To 10 a=Val(InputBox(A=?)If a max Then max=a Next i Print Max=;maxEnd Sub,下面是例4.2的计算机 程序,即为用计算机语言表示算法:,结构化程序设计及算法表示,(一)、用计算机解决问题的过程,提出、分析问题,确定算法模型,设计算法,编写程序,调试程序,分析输出结果,正确合理,结束,不正确,结构化程序设计方法,(二)、结构化程序设计思想,自顶向下、逐步细化、模块化,自顶向下:先从全局、整体设计逐步细化:将一个问题分解成几个较小的问题解决模块化:将一个大任务分解成若干个较小的部分,每个部分承担一定功能,称为“功能模块”,例:给100个整数,打印输出其中的素数,结构化程序设计方法,结构化程序设计方法,结构化程序设计方法,细化后的流程图,4.1 三种基本控制结构-顺序结构,VB具有结构化程序设计的三种程序控制结构,即顺序结构、选择结构、循环结构,是程序设计的基础各语句按出现的先后次序执行,4.1 三种基本控制结构-选择结构,根据条件决定执行的语句,4.1 三种基本控制结构-循环结构,根据条件重复执行语句(称为循环体),I、当型循环结构,II、直到型循环结构,4.1 三种基本控制结构-顺序结构,一般程序设计语言中顺序结构的语句主要:赋值语句和 输入/输出语句等。在VB.net中 赋值语句 输入/输出通过:文本框控件、标签控件、InputBox函数、MsgBox函数 Write方法,4.1 三种基本控制结构-顺序结构-赋值语句,形式:变量名表达式 对象名.属性名=表达式 功能:计算表达式的值,再将此值赋给变量或对象属性。给变量赋值和设定属性是VB编程中常见的两个任务.例如:x!=0.1 x为单精度变量,赋值0.1TextBox1.Text 清除文本框的内容TextBox1.Text 欢迎使用VB.Net,4.1 三种基本控制结构-顺序结构-赋值语句,复合赋值运算符,其作用简化程序代码,提高程序编编译的效果。语句形式:变量名 复合赋值运算符 表达式首先计算右边表达式的值,然后与左边的变量进行相应的运算,最后赋值给变量。复合赋值运算符:+=、-=、*=、=、/=、=、&=例如:a*=b+4 等价于 a=a*(b+4),4.1 三种基本控制结构-顺序结构-赋值语句,累加 sum+=x 等价于 sum=sum+x计数 n+=1 等价于 n=n+1显示多行信息 利用&=来实现如下语句,TextBox1显示结果?TextBox1.Text=VB.NET&vbCrLfTextBox1.Text&=程序设计教程,4.1 三种基本控制结构-顺序结构-赋值语句,“=”符号有两个意义 赋值号、关系运算符等号 形式相同,系统会根据所处的位置判断符号的意义。赋值号左边只能是变量,不能是常量、常数符号、表达式。下面均为错误的赋值语句:Now()=x+y 左边是表达式(函数)5=sqrt(s)+x+y 左边是常量X+y=z 左边是表达式,1.InputBox函数 打开一个对话框,等待用户输入,返回字符串类型的输入值。形式:InputBox(提示,标题,默认值,x坐标位置,y坐标位置),4.1 三种基本控制结构-顺序结构-数据输出和输入,注意:提示项不能省略。若要多行提示,可在每行行末加回车换行vbCrLf。,例4.1利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。,打开一个信息框,等待用户选择一个按按钮。MsgBox函数返回所选按钮的值,变量%=MsgBox(提示,按钮,标题)MsgBox函数无独立的语句:MsgBox 提示,按钮,标题按钮项是一整型表达式或枚举值(MsgBoxStyle)决定信息框按钮的数目和类型及出现在信息框上的图标形式。返回结果整型表达式或枚举值(MsgBoxResult枚举),,2.MsgBox函数,本章目录,4.1 三种基本控制结构-顺序结构-数据输出和输入,MsgBox按钮设置,本章目录,枚举 MsgBoxStyle,MsgBox所选按钮返回值,例4.2 编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。,代码说明,枚举 MsgBoxRetry,3.Write、WriteLine方法,在调试窗口输出信息。Write输出时不换行、WriteLine输出时换行。输出方法:Debug.WriteLine(表达式)Debug.Write(表达式)例 将例4.1输出改为如下语句:Debug.WriteLine(本月营业额为:&x&基本工资为:&jbgz)Debug.Write(本月实发工资为:&sfgz)选择“视图|其它窗口|输出”显示输出窗口,本章目录,4.1 三种基本控制结构-顺序结构-数据输出和输入,4.日期输出控制,常用日期和时间格式符,本章目录,4.1 三种基本控制结构-顺序结构-数据输出和输入,4.1 三种基本控制结构-顺序结构,举例,4.2 选择结构,选择结构:当设定条件成立时执行某些语句,条件不成立时则跳过这些语句或执行其它的语句。选择结构中要使用选择语句,有两路分支和多路分支两种情况,对应的选择语句有If语句(两路出口)和Select Case语句(多路出口)。,4.2 选择结构If条件语句,1.If Then 其中,是一个条件表达式或逻辑表达式 例如,If Data=90 Then Print“优秀”例4.2输入一个数,如果是3的倍数则通过消息框输出。Private Sub Form_Click()Dim Data As Integer Data=InputBox(请输入一个值:)If Data Mod 3=0 Then MsgBox Data End Sub,Data是3的倍数,4.2 选择结构If条件语句,2.If Then Else 例如,Dim Data As Integer Data=InputBox(“请输入成绩:)If Data=90 Then Print“优秀”Else Print“合格”Print 计算完毕 上例的If 语句可以改写为:If Data 90 Then Print 合格 Else Print 优秀,4.2 选择结构If条件语句,3.块状If语句,A=InputBox(“A值”):B=InputBox(B值)Print A,B If A B Then T=A:A=B:B=T End If Print A,B,4.2 选择结构If条件语句,4.If语句嵌套 If语句嵌套使用可形成多分支的条件语句结构 If Then ElseIf Then Else End If,说明:ElseIf之间不要加空格。Else和位于其上方的最近的If配对,4.2 选择结构If条件语句,例4.3Weight=InputBox(输入西瓜重量:,计算西瓜款)If Weight 4 Then Price=1ElseIf Weight=7 Then Price=1.3 Else Price=1.1End IfMoney=Price*WeightMsgBox“西瓜重”&Weight&“公斤,单价”&_ Price&元,应收瓜款&Money&_ 元,计算西瓜款,4公斤以下:1.00元/公斤4至7公斤:1.3元/公斤超过7公斤:1.1元/公斤 If Weight=4 And Price 7 Then Price=1.1,4.2 选择结构If条件语句,例4.5 Char=InputBox(输入一个字符,测试字符值)If Char=0 And Char=A And Char=a And Char=z Then MsgBox 输入的字符是小写字母 Else MsgBox 输入的字符是其它符号 End If,判断输入的是大写字母、小写字母、数字还是其它符号,4.2 选择结构If条件语句,例3.5 Private Sub Command1_Click()单击“正确无误”按钮 If Len(TxtCode.Text)8 Then LblWarn.Caption=考核证号必须输入,长度为8位 TxtCode.SetFocus ElseIf Len(TxtName.Text)=0 Then LblWarn.Caption=考生姓名必须输入 TxtName.SetFocus ElseIf Len(TxtSeat.Text)=0 Then LblWarn.Caption=座位号必须输入 TxtSeat.SetFocus Else LblWarn.Caption=Debug.Print TxtCode.Text Debug.Print TxtName.Text Debug.Print TxtSeat.Text End If End Sub,4.2 选择结构Select Case选择语句,语法格式:Select Case Case Case Case Else End Select功能:根据测试表达式的值,决定程序的流向。,值的类型是数值型、字符串型、日期型等,一旦与某个Case后的值相等,则执行这个Case中的,完成后执行End Select后的语句。如果所有的Case后的都不与项匹配,则执行Case Else后的。,4.2 选择结构Select Case选择语句,例3.6 学生成绩分等 Data=InputBox(请输入一个成绩,成绩分等)Select Case Int(Data/10)Case 10 MsgBox 满分,成绩分等 Case 9 MsgBox 优秀,成绩分等 Case 8 MsgBox 良好,成绩分等 Case 7 MsgBox 一般,成绩分等 Case 6 MsgBox 合格,成绩分等 Case Else MsgBox 不合格,成绩分等 End Select,4.2 选择结构Select Case选择语句,例3.7 测试输入的字符 Char=InputBox(请输入一个字符,测试)Select Case Char Case 0 To 9 MsgBox 字符是数字,测试 Case a To z MsgBox 字符是小写字母,测试 Case A To Z MsgBox 字符是大写字母,测试 Case Else MsgBox 字符是其它符号,测试End Select关于Select Case语句的一些说明见教材,4.3 循环语句,程序的另一种结构是循环结构 循环结构作用是重复执行一段程序 循环是有条件的、次数是有限的 VB的循环语句:ForNext、Do WhileLoop For EachNext、WhileWend 应用最多的:ForNext与Do WhileLoop,4.3 循环语句ForNext循环,ForNext循环一般应用于循环次数已知的场合 For=初值 To 终值 Step 步长 语句块(循环体)Next 循环变量 工作原理,Step缺省为 1,4.3 循环语句ForNext循环,例3.8 求1+3+5+7+99Private Sub Form_Click()Dim Sum As Integer,I As Integer Sum=0 保存累加和,先清零 For I=1 To 99 Step 2 Sum=Sum+I Next I MsgBox 1+3+5+99=&Sum,求和End Sub,本例的特点是数据项之间相差2,即Step的值为2,思考:例中当输出对话框出现时,I 的值是多少?如果省略Step 2,程序的结果如何?For语句能不能改写成For I=99 To 1 Step-2?,4.3 循环语句ForNext循环,例3.9 求平均成绩 Const N=40 学生人数Private Sub Form_Click()Dim Sum As Integer,I As Integer Dim Data As Integer,Average As Single Sum=0 存放累加值的变量清零 For I=1 To N 循环40次,步长值为1省略 Data=InputBox(输入第&I&位同学的成绩,求平均分)Sum=Sum+Data Next I Average=Sum/N MsgBox 全班&N&名学生的平均分为&Average,求平均分End Sub,本例的循环变量 I 控制人数,4.3 循环语句DoLoop循环,1.当型循环,先判断后执行,先执行后判断,特点:条件表达式成立执行循环体内容,4.3 循环语句DoLoop循环,例4.22 计算平均分 Private Sub Form_Click()Dim Data As Integer,Sum As Integer,N As Integer Dim Average As Single Sum=0:N=0 Data=InputBox(输入第&N+1&个同学的成绩,求平均分)Do While Data-1-1表示结束输入 Sum=Sum+Data N=N+1 Data=InputBox(输入第&N+1&个同学的成绩,求平均分)Loop Average=Sum/N MsgBox N&位同学的平均分为&Average,求平均分End Sub,4.3 循环语句DoLoop循环,在VB程序中,以下程序段执行后,x的值为()x=1y=4Do While y4x=x*yy=y+1LoopPrint xA、1 B、4 C、8 D、20,4.3 循环语句DoLoop循环,2.直到型循环,特点:条件表达式不成立执行循环体内容,4.3 循环语句DoLoop循环,例4.24计算平均分(要求同例4.22)Private Sub Form_Click()Dim Data As Integer,Sum As Integer,N As Integer Sum=0:N=0 Data=InputBox(输入成绩,计算总分)Do Until Data=-1 Sum=Sum+Data N=N+1 Data=InputBox(输入数据,计算总分)Loop Print 全班平均分为:;Sum/NEnd Sub,Do While Data-1 Sum=Sum+Data N=N+1 Data=InputBox(输入数据,计算总分)Loop,4.3 循环语句两重循环,例4.26 输出乘法口诀表Private Sub Form_Click()Dim I As Integer,J As Integer,M As Integer For I=1 To 9 For J=1 To I M=I*J Print J Next J Print 打印换行 Next IEnd Sub,4.3 循环语句多重循环,多重循环:循环次数在两重以上的循环结构 例4.29 计算将1角钱兑换成零钱有多少种方案 Private Sub Form_Click()Dim I,J,K,S As Integer S=0 统计兑换1角钱的方案数 For I=0 To 10 1分钱个数 For J=0 To 10 Step 2 2分钱个数 For K=0 To 10 Step 5 5分钱个数 If I+J+K=10 Then S=S+1 Next K Next J Next I MsgBox 1角钱兑换成零钱的方案有&S&种,兑换零钱End Sub,1角钱以下的硬币有1分、2分和5分种1角钱全换成1分需10个1角钱全换成2分需5个1角钱全换成5分需2个,4.3 其他语句Exit与End,1.Exit语句Exit Do:跳出DoLoop循环Exit For:跳出ForNext循环例4.30 判断一个正整数是否为素数(质数)N=InputBox(请输入一个正整数,验证素数)For I=2 To N-1 If N Mod I=0 Then Exit For End If Next I If I=N Then MsgBox N&是素数,验证素数 Else MsgBox N&不是素数,验证素数 End If,素数:一个正整数N除了能被1和自身所整除外,不能被其它任何数所整除。,4.3 其他语句Exit与End,2.End语句End:终止程序的运行End Sub:终止一个过程;End Function:终止函数过程End If:终止条件语句End Type:终止类型声明End Select:终止情况语句End Property:终止属性过程End With:终止With语句,例如:Private Sub Command1_Click()EndEnd Sub,4.5 程序调试程序的错误类型,语法错误 运行错误,中文逗号,逻辑错误:算法不正确。显然系统不会报告这类出错信息。,4.5 程序调试简单调试,方法:在程序中适当插入Print语句跟踪变量值的变化,4.5 程序调试使用调试工具,1.断点调试 断点:程序执行到该此自动暂停 单击“继续”按钮,程序可继续执行。,设置断点:在代码窗口中单击该语句左侧的阴影边框。暂停时,将鼠标指针移动到程序中的各个变量上略作停留,系统将以浮动标签的方式显示该变量的值。,4.5 程序调试使用调试工具,2.逐语句执行 启动逐语句执行:“调试逐语句”或 按F8 终止逐语句执行:“调试跳出”3.使用立即窗口 程序运行处于暂停状态时,在立即窗口中输入:Print 或?4.逐过程 启动逐过程执行:“调试逐过程”或 按Shift+F8 终止逐过程执行:“调试跳出”,

    注意事项

    本文(第4章控制语句与程序调试.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开