版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 程序的控制结构1谷风书苑程序的基本结构2谷风书苑 程序流程图用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式程序流程图 起止框表示一个程序的开始和结束; 判断框判断一个条件是否成立,根据判断结果选择不同的执行路径 处理框表示一组处理过程; 输入输出框表示数据输入或结果输出;程序流程图 注释框增加程序的解释; 流向线以带箭头直线或曲线形式指示程序的执行路径; 连接点将多个流程图连接到一起,常用于将一个较大流程图分割为若干部分。程序流程图程序流程图 顺序结构是程序按照线性顺序依次执行的一种运行方式,如图4.3所示,其中s1和s2表示一个或一组顺
2、序执行的语句。程序的基本结构 分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式。由二分支结构会组合形成多分支结构。程序的基本结构 循环结构是程序根据条件判断结果向后反复执行的一种运行方式,根据循环体触发条件不同,循环结构包括条件循环和遍历循环结构。程序的基本结构 对于一个计算问题,可以用ipo描述、流程图描述或者直接以python代码方式描述。本书仅对这几种描述进行介绍,功能简单的问题建议大家直接编写python代码,功能复杂的问题读者可以采用ipo描述或流程图描述为手段。下面给出3个微实例,通过不同的描述方法具体解释程序的三种基本结构。程序的基本结构实例 根据圆的半径计算圆
3、的面积和周长。图4.6分别给出了该问题的ipo描述、流程图描述和python代码描述。微实例4.1:圆面积和周长的计算。输入输入:圆半径r处理处理:圆面积:s = *r*r圆周长:l = 2*r输出输出:圆面积s、周长l 程序的描述方式主要有三类,分别是自然语言、流程图和伪代码。 自然语言描述方式指使用人类语言直接描述程序,ipo描述是这类的一种。优点是灵活自然,缺点是比较繁琐,容易出现二义性,一个描述可以产生多种不同的程序代码。 流程图描述是程序最直观易懂的表达方式,主要适用于较短算法。优点是直观、清晰且逻辑确定,缺点是流程图绘制比较繁琐,当程序较大时流程图会很复杂,反而降低了表达的清晰性。
4、程序的基本结构实例 伪代码描述是介于自然语言与编程语言之间的一种算法描述语言。使用伪代码不用拘泥于具体编程语言,对整个算法运行过程的描述最接近自然语言。与直接的自然语言描述不同,伪代码在保持程序结构的情况下描述算法程序的基本结构实例 计算用户给定实数的绝对值。图4.7分别给出了该计算问题的ipo描述、流程图描述和python代码描述。微实例4.2:实数绝对值的计算微实例4.3:整数累加。输入:正整数r处理:s=1+2+3+r输出:输出s 计算1到正整数r的算术和。图4.8分别给出了该计算问题的ipo描述、流程图描述和python代码描述。 ipo描述、流程图描述和python代码描述是解决计算
5、问题的三种描述方式,细致程度逐步递进。ipo描述主要用于区分程序的输入输出关系,重点在于结构划分,主要采用自然语言描述。流程图描述侧重于描述算法的具体流程关系,流程图的结构化关系相比自然语言描述更进一步,有助于阐述算法的具体操作过程。python代码描述是最终的程序产出,最为细致。程序的基本结构实例程序的分支结构17谷风书苑 python中if语句的语法格式如下:if : 是if条件满足后执行的一个或多个语句序列,中语句通过与if所在行形成缩进表达包含关系。单分支结构: if语句 if语句首先评估的结果值,如果结果为true,则执行里的语句序列,然后控制转向程序的下一条语句。如果结果为fals
6、e,里的语句会被跳过。if语句的控制过程如图4.9所示单分支结构: if语句 if语句中执行与否依赖于条件判断。但无论什么情况,控制都会转到if语句后与该语句同级别的下一条语句。 if语句中部分可以使用任何能够产生true或false的语句或函数。形成判断条件最常见的方式是采用关系操作符。单分支结构: if语句 python语言共有6个关系操作符,见表4.1所示。单分支结构: if语句操作符数学符号操作符含义小于=大于等于大于=等于!=不等于 一个简化版的空气质量标准采用三级模式:0-35为优,35-75为良,75以上为污染。人们也许不关心pm2.5指数值具体为多少,更关心空气质量到底怎样。计
7、算机可以通过pm2.5指数分级发布空气质量提醒。微实例4.4:pm 2.5空气质量提醒(1) 该问题的ipo描述如下:输入:接收外部输入pm2.5值处理:if pm2.5值 = 75,打印空气污染警告if 35 = pm2.5值 75,打印空气污染警告if pm2.5值 35,打印空气质量优,建议户外运动输出:打印空气质量提醒 微实例4.4:pm 2.5空气质量提醒(1)微实例4.4:pm 2.5空气质量提醒(1) 微实例4.4展示了用数字进行条件比较的例子,字符或字符串也可以用于条件比较。字符串比较本质上是字符串对应的unicode编码的比较,因此,字符串的比较按照字典顺序进行。 例如,英文
8、大写字符对应的unicode编码比小写字符小。以下是一些例子:微实例4.4:pm 2.5空气质量提醒(1) python中if-else语句用来形成二分支结构,语法格式如下:if :else: 二分支结构: if-else语句 是在if条件满足后执行的一个或多个语句序列,是if条件不满足后执行的语句序列。 二分支语句用于区分的两种可能true或者false,分别形成执行路径。二分支结构: if-else语句二分支结构: if-else语句 二分支结构还有一种更简洁的表达方式,适合通过判断返回特定值,语法格式如下: if else 其中,一般是数字类型或字符串类型的一个值,微实例4-5可以改造为
9、:二分支结构: if-else语句 python的if-elif-else描述多分支结构,语句格式如下,如图4.10所示if : elif : . else: 多分支结构: if-elif-else语句 多分支结构是二分支结构的扩展,这种形式通常用于设置同一个判断条件的多条执行路径。 python依次评估寻找第一个结果为true的条件,执行该条件下的语句块,同时跳过整个if-elif-else结构,执行后面的语句。如果没有任何条件成立,else下面的语句块被执行。else子句是可选的。多分支结构: if-elif-else语句 微实例4.4通过多条独立的if语句对同一个变量pm进行判断,这种情
10、况更适合多分支结构,改造后的代码如下:多分支结构: if-elif-else语句实例5: 身体质量指数bmi33谷风书苑身体质量指数bmi bmi值可以“客观的”衡量个人的肥胖程度或者说健康程度。世界卫生组织(who)根据对全球人口体重的统计认为,bmi值低于18.5 kg/m2时属于“过轻”,表明个体可能营养不良或者饮食无法保障;bmi值高于25 kg/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值。这种做法的好处是代码清晰明了,容易调试。身体质量指数bm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 完整全面的土木工程办公楼毕业设计计算书
- 2024年度城市轨道交通电线电缆供货与安装合同3篇
- 2024年度新能源汽车充电设施建设服务合同2篇
- 《管理经济学》课件
- 2024年度建筑施工合同(含设计与材料)
- 《对小课题研究的几点思考》课件
- 体适能评定理论与方法课件
- 《脑出血康复训练》课件
- 2024年度信息技术外包服务详细合同书3篇
- 2024中国电信青海海西分公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- 50万吨生物柴油建设项目可行性研究报告
- 【核心素养目标】统编版 选必1 第一单元 第1课 中国古代政治制度的形成与发展 教学设计
- 教师专业发展支持系统
- GB/T 44291-2024农村产权流转交易 网络交易平台服务规范
- 八年级历史上册(部编版)第六单元中华民族的抗日战争(大单元教学设计)
- 全国农业技术推广服务中心公开招聘应届毕业生补充(北京)高频难、易错点500题模拟试题附带答案详解
- 公司研发项目审核管理制度
- 非遗文化走进数字展厅+大数据与互联网系创业计划书
- 山东省名校考试联盟2024-2025学年高一上学期10月联考数学试卷
- 开展中医诊疗模式创新工作方案
- 《抖音运营》课件-1.短视频与抖音认知基础
评论
0/150
提交评论