计算机应用技术程序设计第3章_第1页
计算机应用技术程序设计第3章_第2页
计算机应用技术程序设计第3章_第3页
计算机应用技术程序设计第3章_第4页
计算机应用技术程序设计第3章_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第3章流程控制及程序调试

程序设计基础教程普通高等教育“十一五”国家级规划教材程序设计基础教程高等教育出版社主编:刘钢第3章流程控制及程序调试

学习目标了解程序流程图掌握If条件语句和SelectCase多分支选择语句掌握For…Next循环语句和Do…Loop循环语句掌握两重循环,了解多重循环掌握循环的强制终止了解常用的程序调试和排错方法程序设计基础教程高等教育出版社主编:刘钢第3章流程控制及程序调试学习内容

3.1程序流程图

3.2选择结构

3.3循环结构

3.4程序调试与异常处理

程序设计基础教程高等教育出版社主编:刘钢3.1程序流程图算法:解决问题的步骤和方法。程序流程图:由一些简单的图形符号组成,用于表示算法所作的各种处理、判断和程序执行方向语句执行顺序:顺序方式、选择方式、循环方式

开始、终止框处理框输入、输出框条件判断框程序流线程序设计基础教程高等教育出版社主编:刘钢3.1程序流程图程序流程例1:已知圆半径为10,计算圆面积程序由上而下顺序执行程序设计基础教程高等教育出版社主编:刘钢3.1程序流程图程序流程例2:输入考试分数,判断是优秀、及格还是不及格

条件成立时执行一个分支的语句,条件不成立时执行另一个分支的语句。程序设计基础教程高等教育出版社主编:刘钢3.1程序流程图程序流程例3:从N个数据中找出最大值并输出循环结构:当条件成立时执行循环体,条件不成立时退出循环。程序设计基础教程高等教育出版社主编:刘钢3.2选择结构选择结构:根据条件选择执行某些语句,而跳过另一些语句不予执行。4种选择语句:单分支:If…Then…两分支:If…Then…Else…多分支:SelectCase…EndSelect异常处理:Try…Catch…Finally…程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–单分支选择语句

格式:If<条件表达式>Then<语句块>【例3.1】判断2个变量的值是否相等运行结果程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–单分支选择语句

If…Then…语句的块状形式:

If<条件表达式>Then<语句块>EndIf【例3.2】输出2个整型变量的最大值程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–两分支选择语句

语句格式

If<条件表达式>Then<语句块1>Else<语句块2>EndIf例:IfA>=BThenMax=AEndIfIfA<BThenMax=BEndIf

IfA>=BThenMax=AElseMax=BEndIf程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–两分支选择语句

【例3.3】利用随机函数生成一道两位数以内的加法题,由用户输入计算结果,若答案正确则给予肯定,否则给出正确答案。程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–多分支选择语句

实现的方法:If语句嵌套、IIf函数嵌套、

逻辑表达式、SelectCase语句等1.用If语句嵌套实现多分支选择If<条件表达式1>Then<语句块1>ElseIf<条件表达式2>Then<语句块2>Else<语句块3>EndIfElseIf之间没有空格若需要,还可进一步嵌套程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–多分支选择语句

【例3.4】编写程序实现Sign函数的功能:自变量为正实数输出1,自变量为0输出0,自变量为负实数输出-1程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–多分支选择语句

【例3.5】通过键盘输百分制的考试分数,转换成五等制成

绩并输出程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–多分支选择语句

2.用逻辑表达式实现多分支选择方法:由n个If语句实现n个分支出路

例:

IfData>=90ThenGrade="优秀"IfData>=80AndData<90ThenGrade="良好"IfData>=70AndData<80ThenGrade="中"IfData>=60AndData<70ThenGrade="及格"IfData<60ThenGrade="不及格"

注意:Data>=70And<80不能写成数学表达式的70<=Data<80

程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–多分支选择语句

3.用SelectCase语句实现多分支选择SelectCase<表达式>Case<值1>:<语句1>Case<值2>:<语句2>……Case<值n>:<语句n>[CaseElse:<语句n+1>]EndSelect

如果表达式的值与<值1>匹配,则执行<语句1>,然后离开SelectCase语句;如果<表达式>与<值2>匹配,则执行<语句2>,依次类推。如果<表达式>无法与任何Case子句后的值相匹配,则执行CaseElse后的语句。

CaseElse不是必须的,根据情况可以省略。程序设计基础教程高等教育出版社主编:刘钢3.2选择结构–多分支选择语句

【例3.6】实现百分制成绩到五等制成绩的换算Grade\10:将分数值缩小。例如,无论成绩是80还是89,结果总是8,与Case8子句相匹配。

判断表达式的值是否落在X~Y区间:CaseXToY

(X必须小于Y)判断表达式的值大于某值:CaseIs>X

判断表达式的值小于某值:CaseIs<X程序设计基础教程高等教育出版社主编:刘钢3.3循环结构循环结构用于实现某些语句有限次的重复执行循环结构语句:For…NextForEach…NextDoWhile…LoopDo…LoopWhileWhile…EndWhile最常用的循环语句:For…Next与DoWhile…LoopFor…Next适用于循环次数已知场合DoWhile…Loop应用于循环次数事先无法得知的场合

程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–For…Next循环

语法格式For<循环变量>=<初值>To<终值>[Step<步长>][循环体语句]Next[循环变量]若<步长>为1,可省略

Step1程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–For…Next循环

【例3.7】计算自然数100以内的偶数和,用消息框显示程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–For…Next循环

【例3.8】用随机数生成10个考试成绩,数值范围为50~100,输出其中的最高分、最低分和平均分,并统计输出不及格率。

程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–For…Next循环

【例3.9】找出所有的水仙花数。水仙花数是一个三位数正整数,其各位的立方和恰好等于该数本身,例如153=13+53+33。

程序对100~999范围内的所有三位数都进行验证,这种方法称为穷举法。程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–DoWhile…Loop循环

特点:只要条件表达式成立就执行循环体语句,不一定非有循环变量控制循环次数,因此适合于循环次数不确定场合。语法格式:DoWhile<条件表达式>[循环体语句]Loop

程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–DoWhile…Loop循环

【例3.10】某人在银行存款5000元,按年利率5%计,多少

年后本息之和能达10000元?计算本息和的公式:

p为本金,r是年利率,n是存款年数

程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–DoWhile…Loop循环

【例3.11】通过键盘输入一个班级若干个学生的考试分数,以-1为输入结束标志,并计算所输入成绩的平均分。程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–DoWhile…Loop循环

【例3.12】将输入的十进制正整数X转换成二进制数后输出程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环嵌套循环嵌套:一个循环的循环体语句本身也是一个循环。

1.双重循环外层循环每变化1次,内层将完成所有循环操作。【例3.13】程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环嵌套【例3.14】计算

思考:DimFAsInteger

可以吗?程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环嵌套【例3.15】计算下列表达式的值,直至某项的绝对值

小于0.0001

本题的特点:不知一共有几项:所以外循环用DoWhile…Loop符号为正负交替:要考虑解决符号位的问题分子、分母的值都和项数有关:每项值的计算可以用For…Next程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环嵌套

代码:程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环嵌套2.多重循环(双重循环以上的循环嵌套)【例3.16】将20元钱兑换成等额零钱(拾元、伍元、贰元、

壹元)的方案

本题用穷举法编程,因涉及4种面值,故程序为4重循环。程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环的强制退出ExitFor:强制退出For…NextExitDo:强制退出DoWhile…Loop

注意:在循环嵌套环境下,位于核心循环体中的ExitFor或ExitDo只能退出内循环。程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环的强制退出【例3.17】用For…Next语句实现【例3.11】的要求:输入N个学生的考试成绩,以-1为输入结束标志,统计平均分。

在输入终止标志-1时,该值并未加到总和Average中。所以退出循环后,原循环变量I值需减1,因-1不是有效成绩值。程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环的强制退出【例3.18】按每行5个数据的格式在即时窗口中输出100以内

自然数中的全部质数。

质数:仅能被1和自身整除的自然数程序设计基础教程高等教育出版社主编:刘钢3.3循环结构–循环的强制退出【例3.19】根据公式计算值,并统计求得3.14时累加了序

列中的前多少项:

用的值是否介于3.14与3.141之间作为判断条件,一旦条件满足则用ExitDo退出循环。程序设计基础教程高等教育出版社主编:刘钢3.4程序调试与异常处理–错误类型

程序的错误类型:语法错误、逻辑错误、运行时错误1.语法错误系统可提示代码的语法错误:用蓝色波浪线标示有语法错误的关键字,提示用户在编译之前就予以改正若使用未经定义的变量,系统同样用蓝色波浪线进行标示对已经定义但尚未赋值的变量,系统用绿色波浪线标示,以免因为空值而引起运行时的异常错误语法错误是三类错误中最普通、易修改的一种错误,通常在运行程序前。就可以发现并修正。程序设计基础教程高等教育出版社主编:刘钢3.4程序调试与异常处理

–错误类型2.逻辑错误

逻辑错误:语法正确而数据值、条件等与实际情况不符例如,

DimGradeAsIntegerGrade=InputBox("输入考试分数:")IfGrade>=90ThenMsgBox("优秀")ElseIfGrade>=60ThenMsgBox("及格")ElseMsgBox("不及格")EndIf超出0~100的范围,输入120,系统照样给出“优秀”逻辑错误是最难发现的错误程序设计基础教程高等教育出版社主编:刘钢3.4程序调试与异常处理

–错误类型3.运行时错误运行时错误:能通过编译,但在运行时可能因输入的数据不正确、访问的对象不存在等导致程序终止执行的一类错误。如,有分母为0、访问的文件不存在等。运行时错误发生时,错误语句以黄色底纹显示,并用对话框提示可能的出错原因。

程序设计基础教程高等教育出版社主编:刘钢3.4程序调试与异常处理

–简单调试的工作模式设计模式:设计程序界面、编写代码、修改代码的环境运行模式:可以浏览代码,但不能编辑、修改代码调试模式:程序暂停处的语句被标示为浅黄色背景,鼠标指针移至某变量上,浮动标签将显示该变量值。程序的简单调试可以用MsgBox()、Debug.Write()等函数或方法来输出和观察程序执行过程中变量、函数的值,并以此判断错误所在。程序设计基础教程高等教育出版社主编:刘钢3.4程序调试与异常处理

–用调试工具调试工具栏调试方法断点调试逐语句调试逐过程调试

程序设计基础教程高等教

温馨提示

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

评论

0/150

提交评论