内容正文:
镇雄长风中学 杨鹏
第二章 算法与问题解决
必修1《数据与计算》
2.2 算法的控制结构
必修一:数据与计算
1
情境导入
通过前面的学习,我们知道了算法的描述:
自然语 言描述
用流程图描述
用伪代码描述
用计算机程序描述
那么算法将使用何种算法控制结构来处理数据?
必修一:数据与计算
1、下列关于算法错误的是( ) :
A. 算法的基本特征是:有穷性,确定性,可行性,有零个
或多个输入,至少产生一个输出
B. 算法独立于具体的程序设计语言,一个算法可以用多种
程序设计语言来实现
C. 算法就是程序,设计算法的过程就是程序设计的过程
D. 常见的四种算法描述方法是自然语言法、流程图法、伪
代码法和计算机程序设计语言
C
复习练习
必修一:数据与计算
复习练习
2、 以下哪个步骤不属于用算法解决问题的过程( )
A. 抽象与建模
B. 问题界定
C. 设计算法
D. 编写程序
B
必修一:数据与计算
复习练习
3、如图所示,是求绝对值的算法,其描述方式分别是( )
A. 自然语言、流程图
B. 伪代码、流程图
C. 自然语言、伪代码
D. 流程图、自然语言
A
必修一:数据与计算
4、求矩形面积s的部分流程图如下图所示,矩形的长、宽分别用变量a、b表示,对于框①和框②的作用,下列说法正确的是( )
A. 框①用于输入a和b的值,框②用于输出s的值
B. 框①用于输出a和b的值,框②用于输出s的值
C. 框①用于输入a和b的值,框②用于入s的值
D. 框①用于输出a和b的值,框②用于入s的值
练一练
A
①
②
s←a*b
必修一:数据与计算
巩固练习
5、将两位同学的身高放入变量a和b中,比较这两个变量的大小,最后把其中较大的数放到变量c中并输出,流程图如图所示①中应填( )
A. a<b
B. a>b
C. a=b
D. a<>b
B
开始
结束
输入变量
a和b的值
①?
c ← a
c ← b
输入变量
c的值
Y
N
必修一:数据与计算
A
B
条件?
A
B
否
是
A
条件?
是
否
3.循环结构
2.分支结构
1.顺序结构
顺序结构 分支结构 循环结构
由若干个依次执行的步骤组成,它的执行顺序是自上而下,依次执行。顺序结构是最简单的程序结构,也是最常用的程序结构,这是任何一个算法都离不开的基本结构。 对于要先做判断再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构适合于带有逻辑或关系比较等条件判断的计算。 循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构(直到型)和先执行后判断的循环结构(当型)。
2.2 算法的控制结构
必修一:数据与计算
一、顺序结构
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出BMI
按照顺序从上往下依次执行,每条语句必须而且只能执行一次。
2.2 算法的控制结构
必修一:数据与计算
Python程序如下:
2.2 算法的控制结构
1 w=float(input(“请输入体重(kg):”)) #输入第一个变量
2 h=float(input(“请输入身高(m):”)) #输入第二个变量
3 bmi=w/(h**2) #计算第三个变量
4 print (”正常”)
必修一:数据与计算
有如下Python程序:
(1)这个程序中共有个___________变量。
(2)除顺序结构外,此程序中主要使用的程序结构是___________结构。
(3)输入的体重和身高的值分别是80和1.8时,输出结果为___________ 。
3个
分支
偏胖
2.2 算法的控制结构
1 w=float(input(“请输入体重(kg):”)) #输入第一个变量
2 h=float(input(“请输入身高(m):”)) #输入第二个变量
3 bmi=w/(h**2) #计算第三个变量
4 if bmi<18.5: #使用三分支结构
5 print (”偏瘦”)
6 elif bmi<=18.5<24:
7 print (”正常”)
8 else:
9 print (”偏胖”)
必修一:数据与计算
二、分支结构
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出“哇,你有点胖了哟”
BMI>24
输出“羡慕,你一点也不胖”
Y
N
又称选择结构。执行过程根据条件判断选择不同分支执行:条件为真时执行处理步骤Step1,否则执行处理步骤Step2。选择模式对条件是否成立只判断1次。
2.2 算法的控制结构
必修一:数据与计算
三、循环结构
循环结构是一种重复某一部分操作的结构。即在条件控制下,某些操作步骤需要重复执行(循环),在不满足重复处理条件时,循环结束。
我要判断100个人胖不胖该怎么办?
我还举个栗子
2.2 算法的控制结构
必修一:数据与计算
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出“哇,你有点胖了哟”
BMI>24
输出“羡慕,你一点也不胖”
Y
N
N
n=0
Y
n=n+1
n<100
2.2 算法的控制结构
必修一:数据与计算
问题: 设计一算法,求和:1+2+3+…+10
算法:
第一步:从1开始将自然数1、2、 3、…、10逐个相加;
第二步:输出累加结果。
思考:1、上边的式子有怎样的规律呢?
S0=0,i=1
第1步: i=1, S1=S0+ 1
第2步: i=2,S2=S1 + 2
第3步: i=3,S3=S2 + 3
………
第10步:i=10,S10=S9 + 10
结果:输出S
2、怎么用流程图表示呢?
i = i + 1
S=S + i
4、如何使程序结束?
3、i有什么作用?S呢?
S=S + i
实际在重复计算这一步
2.2 算法的控制结构
必修一:数据与计算
流程图
开始
i=1
s=0
i=i+1
s=s+i
i≤10
输出s
结束
否
是
问题: 设计一算法,求和:1+2+3+…+10
2.2 算法的控制结构
高中数学将用下列公式计算。
必修一:数据与计算
直到型:先判断,再执行,循环次数确定的情况,通常选用for循环。
当型:循环次数不确定的情况,先判断是否满足循环条件,满足则循环否则不循环,通常选用while循环。
无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、更新循环变量。
直到型循环结构是先执行循环体,直到条件成立时退出循环结构。
当型循环结构是先判断条件,成立时执行循环体,否则退出循环结构。
2.2 算法的控制结构
必修一:数据与计算
A
B
条件?
A
B
否
是
A
条件?
是
否
3.循环结构
2.分支结构
1.顺序结构
分支结构与循环结构的区别
2.2 算法的控制结构
分支结构就是判断条件是否成立,并选择某一路径中的指令执行。
循环结构就是首先判断条件是否成立,如果不成立,则跳出循环体;如果条件成立,则执行循环体内的指令,然后再次判断条件是否成立,如果条件成立,则再次执行循环体内的指令,直至条件不成立跳出循环体为止。
必修一:数据与计算
实例练习
任意输入三个数,输出其中最小数(用流程图描述算法)。
自然语言描述:
1、输入3个数a,b,c;
2、比较a和b;
3、若a>b,则执行5,否则转向4
4、若b>c,则输出c;否则输出b。
5、若a>c,则输出c;否则输出a。
必修一:数据与计算
思考与练习(page52)
参考答案:
①温度超过预设最高温度
②温度低于预设最低温度
智慧农业大棚通过传感器、控制器、网络设施和计算机程序等来实现大棚的自动化管理。例如,自动温度控制系统中的温度传感器每隔一定时间采集大棚中的温度,一旦温度超过预设最高温度40℃,控制系统会启动通风和喷水系统实现降温;如果温度低于预设最低温度18 ℃,控制系统会启动加热器,给大棚加温;
必修一:数据与计算
算法的概念
算法的特征和三要素
算法的常用描述方法
算法的控制结构
课堂小结
必修一:数据与计算
本章小结
算法的描述方法:自然语言、流程图、伪代码、计算机程序语言
算法的基本特征:有穷性、确切性、有0个或者多个输入、有1个或者多个输出、可行性
流程图符号
开始结束框、输入输出框、 判断框、 处理框、 流程线、连接框
算法的三种基本结构:
顺序结构、选择结构(分支结构)、循环结构
用算法解决问题的过程:
抽象与建模、设计算法、编写程序、调试与运行
必修一:数据与计算
1、 有流程图如下图所示,其功能是将键盘输入的数进行相加,
当输入的数为0时输出它们的和,则图中虚线部分的内容是( )
A.
B.
C.
D.
C
练一练
必修一:数据与计算
2、如图所示的流程图:
算法执行时,若输入n的值为3,则输出s的值是( )
A. 6
B. 8
C. 9
D. 15
C
练一练
必修一:数据与计算
3、下面关于算法的描述,正确的是( )
A. 一个算法只能有一个输入
B. 算法只能用框图来表示
C. 一个算法的执行步骤可以是无限的
D. 一个完整的算法,不管用什么方法来表示,都至
少有一个输出结果
D
练一练
必修一:数据与计算
4、有部分流程图结构如下,其算法结构属于( )
A. 顺序结构 B. 重复结构 C. 分支结构 D. 循环结构
D
练一练
必修一:数据与计算
5、关于算法,下列叙述正确的是( )
A.一种算法只能用一种程序语言来实现
B.流程图是算法的一种表示形式
C.解决任何一个具体问题只有一种算法
D.算法是解题方法的精确描述,它可以有无限个步骤
B
【解析】本题考查算法的基础知识。一种算法可以用多种程序语言来实现,例如设计一个班级管理系统程序可以用VB语言、也可以用C语言来实现。解决问题的方法是多种多样的,因此解决一个具体问题的算法可能有多种。由于算法的有穷性特点,因此算法的步骤必须是有限。
练一练
必修一:数据与计算
6、“若是本店会员,所有商品打85折,否则无折扣”,用算法描述这一问题,合适的算法结构是( )
A.选择结构
B.循环结构
C.顺序结构
D.树形结构
A
2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)
练一练
必修一:数据与计算
7、对输入的二个整数a和b,找出其中的较大者赋给c并输出。解决该问题的算法流程图如图所示,该流程图中虚线框部分的内容可为( )
D
练一练
必修一:数据与计算
8、某算法的部分流程图如下图所示。执行这部分流程后,“x←x-2”被执行的次数为( )
A.0
B.1
C.2
D.3
【解析】执行两次后,x值为-1,循环结束。
C
练一练
必修一:数据与计算
【解析】当a=3,s=s+k*a=0+1*3=3,k=k* (-1) =-1;
当a=4,s=s+k*a=3+(-1)*4=-1;
当a=-1,条件a<0成立,输出s,故s的值是-1。
9、某算法的部分流程图如图所示。执行这部分流程,依次输入3,4,-1,则输出s的值是( )
A.-2
B.-1
C.0
D.1
B
练一练
必修一:数据与计算
10、某算法的部分流程图如图所示。执行这部分流程,输出a,b的值分别是( )
A.5 , 8
B.4 , 8
C.5 ,11
D.4 ,11
C
【解析】详见下表:
初始值 a b
第1次循环 2 2
第2次循环 3 5
第3次循环 4 8
第4次循环 5 11
练一练
必修一:数据与计算
11、(12分)BMI(体重指数)是国际上常用的衡量健康程度的一个重要标准,其计算方法是:体重(单位:kg)除以身高(单位:m)的平方。高一男生BMI数值对应的等级如下表所示,张老师据该表,编写了Python程序实现:输入身高和体重,计算BMI的值并判断BMI等级。
练一练(2021年秋季学期学业水平考试试题)
BMI数值范围 BMI等级
16.4以上23.2以下(包含23.2) 正常
16.4以下(包含16.4) 低体重
23.2以上26.3以下(包含26.3) 超重
26.3以上 肥胖
必修一:数据与计算
程序代码如下所示,请完善程序。
(1)程序第4行下划线初应填入______________________。
(2)程序第7行下划线初应填入______________________。
(3)程序第11行下划线初应填入_____________________。
练一练(2021年秋季学期学业水平考试)
weight/height**2
BMI<=16.4
BMI>23.2 and BMI<=26.3
BMI<=26.3
BMI<16.4 or BMI=16.4
1 #计算BMI的值并判断BMI等级
2 weight=float(input(“请输入你的体重(kg):”))
3 height=float(input(“请输入你的身高(m):”))
4 BMI=___________________
5 BMI =round(BMI,1) #BMI变量的数值保留一位小数
6 print (”你的体重指数是”,BMI)
7 if ___________________:
8 print (”BMI等级:低体重”)
9 elif bmi<=23.2:
10 print (” BMI等级:正常”)
11 elif ___________________:
12 print (” BMI等级:超重”)
13 else:
14 print (” BMI等级:肥胖”)
必修一:数据与计算
12、(开放题)思考高楼的自动电梯在运行时需要考虑哪些方面(例如方便乘客,节约能源等),请为自动电梯设计一个适宜的算法。
自动电梯能实现自动升降,主要是它安装了微型电脑控制器。微型电脑控制器主要任务如下:
A、要让乘客方便,尽可能减少等待:
B、要节约资源,尽可能减少空开里程和往返次数。
练一练
必修一:数据与计算
思考
1、思考教材“问题与讨论”中智能停车场车位引导系统,分别用自然语言和流程图描述该区域控制器的算法。
2、智能农业大棚算法分析设计,分别使用自然语言和流程图描述算法。
3、思考教材“实践与体验”中“欧几里得”算法和《九章算术》的“更相减损之术”算法,选择适当的方法描述该算法。
必修一:数据与计算
学好信息技术
拥抱未来生活
本节课到此结束
37
$