资源简介 (共24张PPT)第三章算法的程序实现1、用计算机编程解决的一般过程2、Python语言程序设计3、简单的算法及其程序设计学习目标:分支结构的算法设计情境导入问题:在第二章的学习中,同学们已经理解了分支结构的流程,接下来请大家看下面的两块伪代码:伪代码1:if今晚不下雨: 去体育馆打篮球else: 去健身房健身伪代码2: if 车牌记录在小区住户汽车记录能够查询到: 解锁门禁,允许汽车驶入 else: 提示警告音,禁止通行请大家思考,“如果”和“否则”的代码是否会都运行? ·定义选择结构也称分支结构,就是让程序“拐弯”,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。在Python语言中,if else 语句可以实现这种选择功能。if else 语句if 语句 --单分支结构if-else 语句 --双分支结构if-elif-else 语句 --多分支结构分支结构(选择结构)分支结构——单分支结构else语句块也可省略,if语句变为:“:”必须添加,代表后面的语句都是if语句内代码块的标志缩进:若代码块内都是相同的缩进格式,则说明此代码块都是if条件成立时需执行的语句块。表达式:表示if语句的条件,若表达式的值为True,则执行下面的代码块;若值为False则不执行代码块 ·if 语句执行流程:输入n代码块表达式结束TrueFalse分支结构——单分支结构输入一个整数,如果该数既是3的倍数又是7的倍数则输出“ok”n = int(input("请输入整数:"))if n % 3 == 0 and n % 7 == 0: print("ok")条件是一个表达式,它的值是布尔类型的数据条件为真(true)时执行条件为假(false)时执行分支结构——双分支结构注意!语句块1和语句块2都缩进了4格。同一个if语句中,if、else下方的语句块必须采用相同的缩进。else后面也必须添加“:”语句块缩进:在python中,行尾冒号的作用是告诉python接下来要创建一个新的语句块。因此,只要某一行以冒号结尾,它接下来的内容就应该有缩进。python中有一个惯例:总是将语句块缩进4个空格。 ·if else 语句执行流程:fgdsdsgfd代码块1表达式结束TrueFalse代码块2分支结构——双分支结构if 今晚不下雨: 去体育馆打篮球 else: 去健身房健身学生任务——“区间测速”问题目前,国内很多高速公路都启用了区间测速。所谓区间测速,是在同一路段上布设两个监测点,基于车辆通过前后两个监测点的时间来计算车辆在该路段上的平均行驶速度,并依据该路段上的限速标准判定车辆是否超速。现有一段长为25千米的测速区间,小车的限速是100千米/小时。数据中心需要编写一 段程序,用来判断某辆小车在此测速路段是否超速。对该任务进行抽象建模,随后设计算法,最终编写程序用于判断小车是否在此测速路段超速。图3.2.7区间测速示意图(1)抽象与建模判断结果={“正常”(v≤100)“超速”(v>100)其中v=s×3600/ta.区间测速需要测量哪些数据?b.该问题计算数据模型是怎样的?(2)设计算法图3.2.8 超速判断算法流程图(3)编写程序elif子句仅当其if语句中的条件为假时才执行。如果if语句和elif子句中的条件都不为真时,末尾的else子句的语句块才会被执行。特性:只要某个条件为真,计算机就会执行其所对应的语句块,然后退出该语句。一个if语句可以包含多个elif子句,最后一个else语句是可选的。分支结构——多分支结构 ·if elif else 语句执行流程:分支结构——多分支结构if 今晚下雨 and 朋友有空: 和朋友一起看电影elif 今晚下雨 and 朋友没空: 独自一个人健身房健身elif 今晚不下雨 and 朋友有空: 和朋友一起打篮球else: 独自一个人户外长跑现有一段长为25千米的测速区间,小车的限速是100千米/小时。数据中心需要编写一 段程序,用来判断某辆小车在此测速路段是否超速。在上述“区间测速”的基础上,如果某辆小车超速,数据中心能同步显示超速的程度, 如“超过规定时速且不足20%”、“超过规定时速20%以上且不足50%”、“超过规定时速50%以上且不足70%”、“超过规定时速70%以上”。如何用程序来实现这个目标?对该任务进行抽象建模,随后设计算法,最终编写程序用于判断小车是否在此测速路段超速。学生任务——“区间测速”问题(1)抽象与建模表3.2.7超速标准及其判断条件对应表(2) 设计算法图3.2.9 超速程度判断算法流程图(3)编写程序注意:选择结构中,不管有多少分支,都只会执行一个分支或一个也不执行,不会同时执行多个分支。例如:a = int(input(“请输入数”))if a > 0 :b = a + 1print( b )a = int(input(“请输入数”))if a > 0 :b = a + 1else :b = a + 2print( b )a = int(input(“请输入数”))if a > 0 :b = a + 1elif a > 5 :b = a + 3else :b = a + 2print( b )分支结构——小结·if 语句的嵌套三种选择结构都可以相互嵌套例如:if 表达式 1:if 表示式 2:代码块 1else:代码块 2if 表示式 1:if 表达式 2:代码块 1else:代码块 2else:if 表达式 3:代码块 3if 表示式 1:if 表达式 2:代码块 1else:代码块 2elif:if 表达式 3:代码块 3elif 表达式4:代码块 4else:代码块 5else:if 表达式 5:代码块 6分支结构——嵌套多分支TrueFalseAACBx=7x=12res=142res=142-5=137CDa**3+b**3+c**3 == int(num)902000.8if x< = 3:elif x< = 10:else:y=10y=10+(x-3)*1.8y=22.6+(x-10)*2.4Thanks 展开更多...... 收起↑ 资源预览