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