过程控制1概述.ppt
- 文档编号:18025075
- 上传时间:2023-08-07
- 格式:PPT
- 页数:44
- 大小:436.50KB
过程控制1概述.ppt
《过程控制1概述.ppt》由会员分享,可在线阅读,更多相关《过程控制1概述.ppt(44页珍藏版)》请在冰点文库上搜索。
第4讲过程控制
(1)-概述,1,学习路线图,2,引导实验,任务1:
打印华氏-摄氏温度换算表,3,任务1打印华氏-摄氏温度换算表,任务描述华氏-摄氏温度换算表可以帮助大家很快地找到对应温度的参考。
在任务一的基础上完成求解一定区间值范围内的华氏温度所对应的摄氏温度,以对应表的形式输出到屏幕上。
4,任务解决,5,要解决更复杂的问题,就要学会运用程序的控制流程,程序的控制流程包括三种基本结构:
顺序结构,循环结构和选择结构。
1求解81F-85F区间的温度换算表,
(1)问题分析本任务要在一个程序中计算并输出81F-85F共5个华氏温度的所对应摄氏温度,可使用顺序结构依次打印每一组结果。
(2)算法设计第一步:
计算华氏81度所对应的摄氏温度第二步:
输出华氏81度和对应的摄氏温度第三步:
计算华氏82度所对应的摄氏温度第四步:
输出华氏82度和对应的摄氏温度。
第九步:
计算华氏85度所对应的摄氏温度第十步:
输出华氏85度和对应的摄氏温度,C程序的执行是从main函数中第一条语句开始执行,顺序地执行到最后一句语句,所以说C程序的主基调就是顺序结构,顺序结构的代表语句就是本例所用到的标准输入输出语句和赋值语句,6,1求解81F-85F区间的温度换算表(续),(3)程序编写数据的表示变量摄氏温度的类型选择double类型程序实现语句,7,【sample04_01.cpp】#includeintmain()doublecentigrade;printf(%5s%10sn,华氏,摄氏);centigrade=5.0/9.0*(81-32);printf(%5d%10.2fn,81,centigrade);centigrade=5.0/9.0*(82-32);printf(%5d%10.2fn,82,centigrade);centigrade=5.0/9.0*(83-32);printf(%5d%10.2fn,83,centigrade);centigrade=5.0/9.0*(84-32);printf(%5d%10.2fn,84,centigrade);centigrade=5.0/9.0*(85-32);printf(%5d%10.2fn,85,centigrade);return0;,1求解81F-85F区间的温度换算表(续),(4)调试单步执行error04-01.cpp,8,2.求解任意区间lower-upper区间的温度换算表,
(1)问题分析顺序结构构建的程序有着局限性,一是指定区间不一定能满足查询需求,二是如果区间跨度较大,程序中顺序语句序列就太长了。
现在就要突破常量区间,使用两个变量来表示可变区间,区间的下限用lower表示,区间的上限用变量upper表示,打印lower-upper区间的华氏-摄氏温度换算表,在运行时,变量lower和upper赋予不同的值,得到可变的区间计算值。
由于变量lower和upper表示的区间是可变的,无法在程序运行前明确区间中有几个温度值,所以顺序结构无法完成问题的求解,在此,需要使用循环结构来表示可变区间中重复求解温度的过程。
9,2.求解任意区间lower-upper区间的温度换算表(续),
(2)算法设计修改顺序算法第一步:
fahrenheit=81第二步:
计算fahrenheit所对应的摄氏温度centigrade第三步:
输出fahrenheit和centigrade第四步:
fahrenheit=fahrenheit+1第五步:
计算fahrenheit所对应的摄氏温度centigrade第六步:
输出fahrenheit和centigrade第七步:
fahrenheit=fahrenheit+1第八步:
计算fahrenheit所对应的摄氏温度centigrade第九步:
输出fahrenheit和centigrade第十步:
fahrenheit=fahrenheit+1第十一步:
计算fahrenheit所对应的摄氏温度centigrade第十二步:
输出fahrenheit和centigrade第十三步:
fahrenheit=fahrenheit+1第十四步:
计算fahrenheit所对应的摄氏温度centigrade第十五步:
输出fahrenheit和centigrade,10,2.求解任意区间lower-upper区间的温度换算表(续),
(2)算法设计使用循环结构改造1.输入lower和upper2.循环fahrenheit从lower到upper,步长每次增1
(1)计算fahrenheit所对应的摄氏温度centigrade
(2)输出fahrenheit和centigrade,11,2.求解任意区间lower-upper区间的温度换算表(续),(3)程序编写for(表达式1;表达式2;表达式3)循环体语句,for(fahrenheit=lower;fahrenheit=upper;fahrenheit+)centigrade=5.0/9.0*(fahrenheit-32);printf(%5d%10.2fn,fahrenheit,centigrade);,12,2.求解任意区间lower-upper区间的温度换算表(续),【sample04_02.cpp】#includeintmain()intlower,upper;intfahrenheit;doublecentigrade;/输入区间上下限printf(lower:
);scanf(%d,/打印区间温度换算表printf(%5s%10sn,华氏,摄氏);for(fahrenheit=lower;fahrenheit=upper;fahrenheit+)/计算centigrade=5.0/9.0*(fahrenheit-32);/打印printf(%5d%10.2fn,fahrenheit,centigrade);return0;,13,2.求解任意区间lower-upper区间的温度换算表(续),(4)运行调试观察sample04_02.cpp的循环执行过程断点调试:
在for语句前设置断点,程序顺次运行到for语句后,单步执行观察各变量的值的变化。
调试循环错误【error04_02.cpp】,14,3检查lower与upper的合法性,任务2的程序需要先输入lower和upper的值后,再打印输入区间的温度转换表,程序的运行基于正常输入数值的前提下,如果输入的数据不合理程序运行是否会出现问题呢?
程序的健壮性还体现在能对不合理不合法的用户输入进行处理和合理反馈。
15,3.检查lower与upper的合法性(续),
(1)问题分析lower和upper表示华氏温度的上下限,合法性包括:
lower的值不能大于upper的值;设定程序的应用范围,例如天气温度,lower和upper的值合理范围限定在华氏0到120度之间。
当输入的数据不符合上面的合法性规定,程序给出提示,结束运行。
合法性处理需要使用选择结构实现,有条件地执行部分语句,16,3检查lower与upper的合法性(续),
(2)算法设计一1输入lower和upper2如果lower大于upper则2.1输出出错提示否则2.2如果lower小于0或lower大于120则2.2.1输出出错提示否则2.2.2如果upper小于0或upper大于120则2.2.2.1输出出错提示否则2.2.2.2循环fahrenheit从lower到upper,步长增12.2.2.2.1计算fahrenheit所对应的摄氏温度2.2.2.2.2输出fahrenheit和centigrade,3检查lower与upper的合法性(续),
(2)算法设计二1输入lower和upper2如果lower大于upper则2.1输出出错提示2.2退出程序3如果lower小于0或lower大于120则3.1输出出错提示3.2退出程序4如果upper小于0或upper大于120则4.1输出出错提示4.2退出程序5循环fahrenheit从lower到upper,步长增15.1计算fahrenheit所对应的摄氏温度centigrade5.2输出fahrenheit和centigrade,18,3检查lower与upper的合法性(续),(3)程序编写条件的表示if语句完整程序,19,3检查lower与upper的合法性(续),条件运算C语言提供了与数学中相对应的6种关系运算符如表所示。
在C语言中可以通过关系表达式来描述给定的一些条件,例如:
lower大于upper可以表示为:
lowerupperlower小于0可以表示为:
lower0,20,3检查lower与upper的合法性(续),复合条件判断逻辑运算符可以表示多个条件的连接运算,C语言提供了与数学中相对应的3种逻辑运算符。
两个条件同时成立为真,用“与”操作符连接;两个条件其一成立为真,用“或”操作符连接;“非”操作符对条件表达式的结果取反。
例如lower小于0或lower大于120可以表示为:
(lower120),21,3检查lower与upper的合法性(续),选择语句if-elseif(表达式)语句1;else语句2;,22,3检查lower与upper的合法性(续),【sample04_03.cpp】#includeintmain()intlower,upper;intfahrenheit;doublecentigrade;/输入区间上下限printf(lower:
);scanf(%d,if(lower120)printf(lower应该在0和120之间n);return0;if(upper120)printf(upper应该在0和120之间n);return0;/打印区间温度换算表printf(华氏摄氏n);for(fahrenheit=lower;fahrenheit=upper;fahrenheit+)centigrade=5.0/9.0*(fahrenheit-32);printf(%5d%10.2fn,fahrenheit,centigrade);return0;,23,3检查lower与upper的合法性(续),(4)测试第一组:
lowerupper输入:
50,40输出:
“lower应该小于upper”第二组:
lower不在0,120输入:
140,150输出:
“lower应该在0和120之间”第三组:
upper不在0,120输入:
115,125输出:
“upper应该在0和120之间”第四组:
合法输入输入:
100,110输出:
100,110区间温度转换表,24,知识精讲,一、控制结构与语句二、基本语句三、条件的表示,25,三、条件的表示的内容对应教材第6章:
6.4节的6.4.36.4.4),一、控制结构与语句,控制结构:
结构化编程的控制手段由三种控制结构构成:
顺序结构、选择结构和循环结构。
语句要求计算机执行的一个动作。
一个应用问题的计算过程,实际上就是按一定的方式,执行一系列语句的过程。
不同的控制结构通过程序中一系列的语句来实现。
26,1.程序的基本控制结构,Bohm和Jacopini提出了以下三种基本结构顺序结构选择结构循环结构用这三种基本结构作为表示一个良好算法的基本单元。
27,28,顺序结构,选择结构,三种基本结构的图示,循环结构,29,三种基本结构的共同特点,
(1)只有一个入口。
(2)只有一个出口。
(请注意:
一个菱形判断框有两个出口,而一个选择结构只有一个出口。
不要将菱形框的出口和选择结构的出口混淆。
)(3)结构内的每一部分都有机会被执行到。
(4)结构内不存在“死循环”(无终止的循环)。
(2)语句,C语句可以分为基本语句和控制语句基本语句表达式语句、空语句和复合语句。
控制语句条件语句、循环语句、转移语句。
30,二、基本语句,表达式语句空语句复合语句,31,
(1)表达式语句,任何一个语法正确的表达式后,加上一个分号(;),即构成了一个表达式语句。
e;表达式语句的主要出现的场合赋值语句k=n/10%10;函数语句printf(“helloworld!
”);,32,
(2)空语句,空语句是不执行任何动作的语句。
;,33,(3)复合语句,复合语句的主要作用是使一个以上的语句构成一个语句基本格式变量定义或说明语句序列,【例】设有变量定义如下:
inta,b;复合语句实现交换:
intt;t=a;a=b;b=t;,34,三、条件的表示,
(1)关系运算,=,=,=,!
=
(2)逻辑运算&,|,!
(3)条件的表示,35,36,
(1)关系运算,关系运算比较运算,比较两个操作数关系运算符xyx=yx!
=y关系表达式:
用关系运算符将2个表达式连接起来的式子。
如:
x=1,注意区分=和=,37,运用关系表达式,表示比较的数学式C关系表达式x10x10x10x=10,x=10x!
=10x=10,用关系表达式描述条件判断x是否为负数x0判断x是否不为零x!
=0,
(2)逻辑运算,数学闭区间表示-1=x=1,0-11x,x=-1并且x=-1&x=1,0-11x,3种逻辑运算符,逻辑与&逻辑或|逻辑非!
X,X&Y,Y,X,Y,X|Y,X,!
X,逻辑与&逻辑或|逻辑非!
(x1)&(y1)(x1)|(y1)(x1)!
(x1)即x=1,逻辑运算符的含义,逻辑运算符的功能,逻辑与&逻辑或|逻辑非!
aba&ba|b!
a假假假假真假真假真真真假假真假真真真真假,逻辑表达式,逻辑表达式:
用逻辑运算符将逻辑运算对象连接起来的式子。
(ch=a)&(ch=a&ch=a&ch=A&ch=Z)判断ch是否为英文字母,条件的表示,写出满足下列条件的C表达式。
ch是空格或者回车。
ch=|ch=nnumber是偶数。
number%2=0year是闰年,即year能被4整除但不能被100整除,或year能被400整除。
(year%4=0&year%100!
=0)|(year%400=0),课后复习,课本阅读:
第6章6.4节的6.4.36.4.8,44,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 过程 控制 概述