1、第4章 程序的控制结构,程序的基本结构,程序流程图用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式,程序流程图,起止框表示一个程序的开始和结束;判断框判断一个条件是否成立,根据判断结果选择不同的执行路径处理框表示一组处理过程;输入输出框表示数据输入或结果输出;,程序流程图,注释框增加程序的解释;流向线以带箭头直线或曲线形式指示程序的执行路径;连接点将多个流程图连接到一起,常用于将一个较大流程图分割为若干部分。,程序流程图,程序流程图,顺序结构是程序按照线性顺序依次执行的一种运行方式,如图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代码描述是最终的程序产出,最为细致。,程序的基本结构实例,程序的分支结构,Python中if语句的语法格式如下:if:是if条件满足后执行的一个或多个语句序列,中语句通过与if所在行形成缩进表达包含关系。,单分支结构:if语句,If语句首先评估的结果值,如果结果为True,则执行里的语句序列,然后控制转向程序的下一条语句。如果结果为False,里的语句会被跳过。if语句的控
6、制过程如图4.9所示,单分支结构:if语句,if语句中执行与否依赖于条件判断。但无论什么情况,控制都会转到if语句后与该语句同级别的下一条语句。if语句中部分可以使用任何能够产生True或False的语句或函数。形成判断条件最常见的方式是采用关系操作符。,单分支结构:if语句,Python语言共有6个关系操作符,见表4.1所示。,单分支结构:if语句,一个简化版的空气质量标准采用三级模式:0-35为优,35-75为良,75以上为污染。人们也许不关心PM2.5指数值具体为多少,更关心空气质量到底怎样。计算机可以通过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展示了用数字进行条件比较的例子,字符或字符串也可以用于条件比较。字
copyright@ 2010-2024 安全人之家版权所有
经营许可证编号:冀ICP备2022015913号-6