版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 程序的控制结构程序的基基本结构构程序流程程图用一一系列图图形、流流程线和和文字说说明描述述程序的的基本操操作和控控制流程程,它是是程序分分析和过过程描述述的最基基本方式程序流程程图起止框表表示一个个程序的的开始和和结束;判断框判断断一个条条件是否否成立,根据判断结结果选择择不同的的执行路路径处理框表示示一组处处理过程程;输入输出框框表示数数据输入入或结果果输出;程序流程程图注释框增增加程序序的解释释;流向线以带带箭头直直线或曲曲线形式式指示程程序的执执行路径径;连接点将将多个流流程图连连接到一一起,常常用于将将一个较较大流程程图分割割为若干干部分。程序流程程图程序流程程图顺序结构构是程
2、序序按照线线性顺序序依次执执行的一一种运行行方式,如图4.3所示,其其中S1和S2表示一个个或一组组顺序执执行的语语句。程序的基基本结构构分支结构构是程序序根据条条件判断断结果而而选择不不同向前前执行路路径的一一种运行行方式。由二分支支结构会会组合形形成多分分支结构构。程序的基基本结构构循环结构构是程序序根据条条件判断断结果向向后反复复执行的的一种运运行方式式,根据循环体体触发条条件不同同,循环环结构包包括条件件循环和和遍历循循环结构构。程序的基基本结构构对于一个个计算问问题,可可以用IPO描述、流流程图描描述或者者直接以以Python代码方式式描述。本书仅仅对这几几种描述述进行介介绍,功功能
3、简单单的问题题建议大大家直接接编写Python代码,功功能复杂杂的问题题读者可可以采用用IPO描述或流流程图描描述为手手段。下下面给出出3个微实例例,通过过不同的的描述方方法具体体解释程程序的三三种基本本结构。程序的基基本结构构实例根据圆的的半径计计算圆的的面积和和周长。图4.6分别给出出了该问问题的IPO描述、流流程图描描述和Python代码描述述。微实例4.1:圆面积积和周长长的计算算。输入:圆半径径R处理:圆面积:S =*R*R圆周长:L =2*R输出:圆面积积S、周长L程序的描描述方式式主要有有三类,分别是是自然语语言、流流程图和和伪代码码。自然语言言描述方方式指使使用人类类语言直直接
4、描述述程序,IPO描述是这这类的一一种。优优点是灵灵活自然然,缺点点是比较较繁琐,容易出出现二义义性,一一个描述述可以产产生多种种不同的的程序代代码。流程图描描述是程程序最直直观易懂懂的表达达方式,主要适适用于较较短算法法。优点点是直观观、清晰晰且逻辑辑确定,缺点是是流程图图绘制比比较繁琐琐,当程程序较大大时流程程图会很很复杂,反而降降低了表表达的清清晰性。程序的基基本结构构实例伪代码描描述是介介于自然然语言与与编程语语言之间间的一种种算法描描述语言言。使用用伪代码码不用拘拘泥于具具体编程程语言,对整个个算法运运行过程程的描述述最接近近自然语语言。与与直接的的自然语语言描述述不同,伪代码码在保
5、持持程序结结构的情情况下描描述算法程序的基基本结构构实例计算用户户给定实实数的绝绝对值。图4.7分别给出出了该计计算问题题的IPO描述、流流程图描描述和Python代码描述述。微实例4.2:实数绝绝对值的的计算微实例4.3:整数累累加。输入:正正整数R处理:S=1+2+3+R输出:输输出S计算1到正整数数R的算术和和。图4.8分别给出出了该计计算问题题的IPO描述、流流程图描描述和Python代码描述述。IPO描述、流流程图描描述和Python代码描述述是解决决计算问问题的三三种描述述方式,细致程程度逐步步递进。IPO描述主要要用于区区分程序序的输入入输出关关系,重重点在于于结构划划分,主主要
6、采用用自然语语言描述述。流程程图描述述侧重于于描述算算法的具具体流程程关系,流程图图的结构构化关系系相比自自然语言言描述更更进一步步,有助助于阐述述算法的的具体操操作过程程。Python代码描述述是最终终的程序序产出,最为细细致。程序的基基本结构构实例程序的分分支结构构Python中if语句的语语法格式式如下:if:是if条件满足足后执行行的一个个或多个个语句序序列,中语句通通过与if所在行形形成缩进进表达包包含关系系。单分支结结构: if语句If语句首先先评估的结果值值,如果果结果为为True,则执行行里的语句句序列,然后控控制转向向程序的的下一条条语句。如果结结果为False,里的语句句会
7、被跳跳过。if语句的控控制过程程如图4.9所示单分支结结构: if语句if语句中执行与否否依赖于于条件判判断。但但无论什什么情况况,控制制都会转转到if语句后与与该语句句同级别别的下一一条语句句。if语句中部分可以以使用任任何能够够产生True或False的语句或或函数。形成判判断条件件最常见见的方式式是采用用关系操操作符。单分支结结构: if语句Python语言共有有6个关系操操作符,见表4.1所示。单分支结结构: if语句操作符数学符号操作符含义小于=大于等于大于=等于!=不等于一个简化化版的空空气质量量标准采采用三级级模式:0-35为优,35-75为良,75以上为污污染。人人们也许许不关
8、心心PM2.5指数值具具体为多多少,更更关心空空气质量量到底怎怎样。计计算机可可以通过过PM2.5指数分级级发布空空气质量量提醒。微实例4.4:PM2.5空气质量量提醒(1)该问题的的IPO描述如下下:输入:接接收外部部输入PM2.5值处理:ifPM2.5值=75,打印空空气污染染警告if35=PM2.5值 75,打印空空气污染染警告ifPM2.5值 35,打印空空气质量量优,建建议户外外运动输出:打打印空气气质量提提醒微实例4.4:PM2.5空气质量量提醒(1)微实例4.4:PM2.5空气质量量提醒(1)微实例4.4展示了用用数字进进行条件件比较的的例子,字符或或字符串串也可以以用于条条件比
9、较较。字符符串比较较本质上上是字符符串对应应的Unicode编码的比比较,因因此,字字符串的的比较按按照字典典顺序进进行。例如,英英文大写写字符对对应的Unicode编码比小小写字符符小。以以下是一一些例子子:微实例4.4:PM2.5空气质量量提醒(1)Python中if-else语句用来来形成二二分支结结构,语语法格式式如下:if:else:二分支结结构: if-else语句是在if条件满足足后执行行的一个个或多个个语句序序列,是if条件不满满足后执执行的语语句序列列。二分支语句句用于区区分的两种可可能True或者False,分别形形成执行行路径。二分支结结构: if-else语句二分支结结
10、构: if-else语句二分支结结构还有有一种更更简洁的的表达方方式,适适合通过过判断返返回特定定值,语语法格式式如下:if else其中,一般是数数字类型型或字符符串类型型的一个个值,微微实例4-5可以改造造为:二分支结结构: if-else语句Python的if-elif-else描述多分分支结构构,语句句格式如如下,如如图4.10所示if:elif :.else:多分支结结构: if-elif-else语句多分支结结构是二二分支结结构的扩扩展,这这种形式式通常用用于设置置同一个个判断条条件的多多条执行行路径。Python依次评估估寻找第第一个结结果为True的条件,执行该该条件下下的语句
11、句块,同同时跳过过整个if-elif-else结构,执执行后面面的语句句。如果果没有任任何条件件成立,else下面的语语句块被被执行。else子句是可可选的。多分支结结构: if-elif-else语句微实例4.4通过多条条独立的的if语句对同同一个变变量PM进行判断断,这种种情况更更适合多多分支结结构,改改造后的的代码如如下:多分支结结构: if-elif-else语句实例5:身体质量量指数BMI身体质量量指数BMIBMI值可以“客观的的”衡量量个人的的肥胖程程度或者者说健康康程度。世界卫卫生组织织(WHO)根据对对全球人人口体重重的统计计认为,BMI值低于18.5 kg/m2时属于“过轻”
12、,表明明个体可可能营养养不良或或者饮食食无法保保障;BMI值高于25kg/m2时属于“过重”。分类国际BMI值(kg/m2)国内BMI值(kg/m2)偏瘦 18.5= 30= 28身体质量量指数BMI本实例编编写一个个根据体体重和身身高计算算BMI值的程序序,并同同时输出出国际和和国内的的BMI指标建议议值。该该问题的的IPO描述如下下:输入:身身高和体体重值处理:计计算BMI值,并根根据BMI指标分类类找到合合适分类类输出:打打印指标标分类信信息身体质量量指数BMI实例代码码5.1实例代码码5.1程序执行行后的效效果如下下:实例代码码5.1采用了多多分支结结构对BMI数值按照照不同区区间范围围进行分分类,这这种采用用if-elif-else分支语句句进行程程序设计计的方式式十分常常见。尽尽管需要要同时打打印国际际和国内内两套BMI标准,程程序中采采用两个个if-elif-else语句分别别计算两两类不同同BMI值。这种种做法的的好处是是代码清清晰明了了,容易易调试。身体质量量指数BMI实例代码码5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44860-2024面向工业应用的边缘计算应用指南
- 浙江省温州市新希望联盟2024-2025学年上学期八年级期中考试数学试卷
- 高中生物 第6章 第4节 细胞的癌变教案 新人教版必修1
- 广东省肇庆市高中数学 第二章 随机变量及其分布 2.4 正态分布教案 新人教A版选修2-3
- 八年级生物上册 7.19.2植物的生长发育教案 (新版)苏科版
- 2023六年级数学上册 五 完美的图形-圆信息窗3 圆的面积第1课时教案 青岛版六三制
- 湖南省醴陵市七年级地理上册 5.2 国家经济合作教案 (新版)湘教版
- 2023一年级数学上册 8 20以内的进位加法第6课时 解决问题(2)教案 新人教版
- 2024-2025学年高中历史 第3单元 古代中国的科学技术与文学艺术单元小结与测评教案 新人教版必修3
- 租用空调合同模板(2篇)
- 专业知识的敏捷和迭代
- 2024年酒店业前景与发展趋势
- 传染病监测与预警系统建设
- 高层建筑火灾逃生与自救策略
- 学校食堂消防安全知识培训
- 企业职工代表大会条例
- 总监理工程师个人工作总结
- DLT1249-2013 架空输电线路运行状态评估技术导则
- 肛肠科患者的营养支持与饮食调理实践
- 电磁炮完整分
- 海水直接电解制氢研究进展
评论
0/150
提交评论