2020_2021学年高中数学第一章算法初步课件(8份打包)新人教A版必修3

文档属性

名称 2020_2021学年高中数学第一章算法初步课件(8份打包)新人教A版必修3
格式 zip
文件大小 8.7MB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2021-03-14 21:55:13

文档简介

(共50张PPT)
第一章 算



1.1 算法与程序框图
1.1.1 算法的概念
必备知识·自主学习
导思
1.什么是算法?解决某一问题的算法是唯一的吗?
2.算法设计的目的是什么?
1.算法的概念
12世纪的算法
是指用阿拉伯数字进行算术运算的过程
数学中的算法
通常是指按照一定规则解决某一类问题的明确和有限的步骤
现代算法
通常可以编成计算机程序,让计算机执行并解决问题
【思考】
(1)求解某一个问题的算法是否是唯一的?
提示:不是.
(2)任何问题都可以设计算法解决吗?
提示:不是.
2.算法的特征及设计目的
(1)算法的特征.
①有限性:一个算法的步骤是_____的,它应在有限步骤操作之后停止;
②确定性:算法中的每一步应该是_____的,并且能有效地执行且得到确定的
结果,而不是模棱两可的;
有限
确定
③逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的
前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而
组成具有很强逻辑性的_________;
④普遍性:一个确定的算法,应该能够解决一类问题;
⑤不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的
算法.
步骤序列
(2)算法设计的目的
计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
【思考】
设计算法时需要注意哪些问题?
提示:(1)设计的算法要适用于一类问题,并且遇到类似问题能够重复使用.
(2)算法过程要做到能一步一步地执行,每一步执行的操作,必须是明确有效的,不能含糊不清.
(3)所设计的算法必须在有限步后得到问题的结果,不能无限进行下去.
(4)设计的算法的步骤应当是最简练的,即最优算法.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)一个算法可解决某一类问题.
(  )
(2)算法的步骤是有限的,有些步骤可有可无.
(  )
(3)一个问题只能有一种算法.
(  )
提示:(1)√.根据算法的概念可知.
(2)×.算法的步骤是有限的,也是明确的,不能可有可无.
(3)×.例如解二元一次方程组的算法,可用“加减消元法”,也可用“代入消元法”.
2.下列对算法的理解不正确的是
(  )
A.算法可以无止境地运行下去
B.算法的步骤是不可逆的
C.同一个问题可以有不同的算法
D.算法中的每一步都应当有效地执行,并得到确定的结果
【解析】选A.A项中,由于算法具有有限性,因此不可能无止境地运行下去,不正确;B项中,算法中的步骤是按照顺序一步步进行下去的,因此是不可逆的,正确;C,D项符合算法的特征,正确.
3.(教材二次开发:例题改编)小明中午放学回家自己煮面条吃,有下面几道工序:①洗锅、盛水2分钟;②洗菜6分钟;③准备面条及佐料2分钟;④用锅把水烧开10分钟;⑤煮面条和菜共3分钟.以上各道工序,除了④之外,一次只能进行一道工序.小明要将面条煮好,最少要用
(  )      
A.13分钟
B.14分钟
C.15分钟
D.23分钟
【解析】选C.①洗锅、盛水2分钟+④用锅把水烧开10分钟(同时②洗菜6分钟+③准备面条及佐料2分钟)+⑤煮面条和菜共3分钟=15分钟.解决一个问题的算法不是唯一的,但在设计时要综合考虑各个方面的因素,选择一种较好的算法.
关键能力·合作学习
类型一 算法的概念(数学抽象)
【题组训练】
1.下列问题中,不可以设计一个算法求解的是
(  )
A.二分法求方程x2-3=0的近似解
B.解方程组
C.求半径为3的圆的面积
D.判断函数y=x2在R上的单调性
2.以下关于算法的说法正确的是
(  )
A.描述算法可以有不同的方式,可用自然语言也可用其他语言
B.算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列只能解决当前问题
C.算法过程要一步一步执行,每一步执行的操作必须确切,不能含混不清,而且经过有限步或无限步后能得出结果
D.算法要求按部就班地做,每一步可以有不同的结果
3.下列叙述不能称为算法的是
(  )
A.从北京到上海先乘汽车到飞机场,再乘飞机到上海
B.解方程4x+1=0的过程是先移项再把x的系数化成1
C.利用公式S=πr2计算半径为2的圆的面积得π×22
D.解方程x2-2x+1=0
4.下列关于算法的说法,正确的个数有
(  )
①求解某一类问题的算法是唯一的;
②算法必须在有限步骤操作之后停止;
③算法的每一步操作必须是明确的,不能有歧义或模糊;
④算法执行后一定产生确定的结果.
A.1个
B.2个
C.3个
D.4个
【解析】1.选D.A,B,C选项中的问题都可以设计算法解决,D选项中的问题由于x在R上取值无穷尽,所以不能设计一个算法求解.
2.选A.算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或计算序列能够解决一类问题,故B不正确.
算法过程要一步一步执行,每一步执行操作,必须确切,只能有唯一结果,而且经过有限步后,必须有结果输出后终止,故C,D都不正确.
描述算法可以有不同的语言形式,如自然语言、框图语言等,故A正确.
3.选D.选项A,B给出了解决问题的方法和步骤,是算法;选项C是利用公式计算也属于算法;选项D只提出问题没有给出解决的方法,不是算法.
4.选C.由于算法具有有限性、明确性和确定性,因而②③④正确,而解决某类问题的算法不一定唯一.
【解题策略】
理解算法的关键点
(1)算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想.
(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
【补偿训练】
下列描述不是解决问题的算法的是
(  )
A.从中山到北京先坐汽车,再坐火车
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-4x+3=0有两个不等的实根
D.解不等式ax+3>0时,第一步移项,第二步讨论
【解析】选C.A项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题,所以A不符合题意;B项,解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题,所以B不符合题意;D项,解不等式ax+3>0时,第一步移项化为:ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,解出不等式的解集,解决了怎样求不等式解集的问题,所以D不符合题意.
类型二 算法的阅读与理解(数学运算、逻辑推理)
【典例】下面给出了一个问题的算法:
第一步,输入三个数,并分别用a,b,c表示.
第二步,比较a与b的大小,如果a第三步,比较a与c的大小,如果a第四步,比较b与c的大小,如果b第五步,输出a,b,c.
(1)以上算法要解决的问题是什么?
(2)如果输入的三个数分别是6,28,14,则输出的三个数的顺序是什么?
【思路导引】可尝试先赋a,b,c的值为6,28,14,用具体数值去执行算法步骤,输入三个数a,b,c,并按从大到小的顺序输出28,14,6
【解析】(1)依据算法,逐步运行即可.
第一步是给a,b,c赋值.
第二步运行后a>b.
第三步运行后a>c.
第四步运行后b>c,所以a>b>c.
第五步运行后,显示a,b,c的值,且从大到小排列.
(2)可利用(1)直接写出结果:28,14,6.
也可以再运行一次:
第一步,输入a=6,b=28,c=14.
第二步,因为a第三步,因为a>c,不做变化.
第四步,因为b第五步,输出28,14,6.
【解题策略】
算法实则培养的是数学运算的素养,阅读时要按步执行.
【跟踪训练】
1.一个算法的步骤如下,若输入x的值为-3,则输出z的值为
(  )
第一步,输入x的值.第二步,计算x的绝对值y.
第三步,计算z=2y-y.第四步,输出z的值. 
A.4
B.5
C.6
D.8
【解析】选B.因为x=-3,所以y=|x|=3.所以z=23-3=5.
2.对于算法:
第一步,输入不小于2的正整数n.
第二步,判断n是否等于2,若n=2,则n满足条件;若n>2,则执行第三步.
第三步,依次从2到(n-1)检验能不能整除n,若不能整除n,则执行第四步;若能整除n,则结束算法.
第四步,输出n.
满足条件的n是
(  )
A.质数
B.奇数
C.偶数
D.约数
【解析】选A.本题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.
类型三 算法的设计(数学运算、数学建模)
角度1 数学问题的算法设计?
【典例】已知函数y=
试设计一个算法输入x的值,求对应的
函数值.
【思路导引】
【解析】算法如下:第一步,输入x的值.
第二步,当x≤-1时,计算y=-x2-1,然后执行第四步;否则执行第三步.
第三步,计算y=x3.
第四步,输出y.
【变式探究】
该例条件若改为“已知函数y=
”试设计一个算法输入x的值,求
对应的函数值.
【解析】算法如下:第一步,输入x的值.
第二步,若x>0,则计算y=-x+1,然后执行第四步;否则执行第三步.
第三步,若x=0,则y=0,然后执行第四步;否则计算y=x+1.
第四步,输出y的值.
角度2 现实生活中的算法设计?
【典例】一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?
【思路导引】先根据题目中给出条件建立过程模型,再设计算法找到那枚假银元.
【解析】方法一 算法如下.
第一步,任取2枚银元分别放在天平的两边,若天平左、右不平衡,则轻的一枚就是假银元,若天平平衡,则进行第二步.
第二步,取下右边的银元放在一边,然后把剩下的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.
方法二 算法如下.
第一步,把9枚银元平均分成3组,每组3枚.
第二步,先将其中两组放在天平的两边,若天平不平衡,则假银元就在轻的那一组;否则假银元在未称量的那一组.
第三步,取出含假银元的那一组,从中任取2枚银元放在天平左、右两边称量,若天平不平衡,则假银元在轻的那一边;若天平平衡,则未称量的那一枚是假银元.
【解题策略】
1.分段函数求值问题的算法设计
分段函数求值的算法要运用分类讨论思想进行设计,对算法中可能遇到的情况一定要考虑周全,满足与不满足都要有相应的步骤.
2.实际问题算法的设计技巧
(1)弄清题目中所给要求.
(2)建立过程模型.
(3)根据过程模型建立算法步骤,必要时由变量进行判断.
【题组训练】
1.有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题.
【解析】算法如下:
第一步,取一只空的墨水瓶,设其为白瓶.
第二步,将黑墨水瓶中的蓝墨水装入白瓶中.
第三步,将蓝墨水瓶中的黑墨水装入黑墨水瓶中.
第四步,将白瓶中的蓝墨水装入蓝墨水瓶中,交换结束.
2.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:
c=
其中ω(单位:kg)为托运物品的质量,c(单
位:元)为托运费,请你设计一个计算托运费c的算法.
【解析】算法步骤如下:
第一步,输入托运物品的质量ω.
第二步,若ω≤50,则c=0.53ω;
若ω>50,则c=50×0.53+(ω-50)×0.85.
第三步,输出托运费c.
【补偿训练】
用二分法设计一个求方程2x+3x=7在区间(1,2)内的近似解(精确度0.01)的算法.
【解析】算法如下:
第一步,令f(x)=2x+3x-7.因为f(1)<0,f(2)>0,所以设a=1,b=2.
第二步,令m=
,判断f(m)是否为0,若是,
则输出m是方程的解,否则执行第三步.
第三步,若f(a)·f(m)>0,则令a=m,否则令b=m.
第四步,判断|a-b|<0.01是否成立,若是,则输出
是方程的近似解;否则
返回第二步.
课堂检测·素养达标
1.下列可以看成算法的是
(  )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题难做
D.方程2x2-x+1=0无实数根
【解析】选A.A是学习数学的一个步骤,所以是算法,而其他三个选项都不是.
2.给出下面一个算法:
第一步,给出三个数x,y,z.
第二步,计算M=x+y+z.
第三步,计算N=
M.
第四步,得出每次计算结果.
则上述算法是
(  )    
      
A.求和
B.求余数
C.求平均数
D.先求和再求平均数
【解析】选D.由算法过程知,M为三数之和,N为这三数的平均数.
3.(教材二次开发:练习改编)给出下列算法:
第一步,输入x的值.
第二步,当x>4时,计算y=x+2;否则y=2.
第三步,输出y.
当输入x=0时,输出y=______.?
【解析】此算法的功能是计算y=
故输入x=0时,输出值为2.
答案:2
4.设计一个算法,求表面积为16π的球的体积.
【解析】方法一:第一步,取S=16π.
第二步,计算
(由于S=4πR2).
第三步,计算V=
πR3.
第四步,输出运算结果.
方法二:第一步,取S=16π.
第二步,计算
.
第三步,输出运算结果.(共46张PPT)
1.1.2 程序框图与算法的基本逻辑结构
第1课时 程序框图、顺序结构
必备知识·自主学习
导思
1.什么是程序框图?程序框图中,有哪些程序框,它们的画法和功能是什么?
2.什么是顺序结构?用顺序结构如何表示算法?
1.程序框图
(1)定义:
_________又称流程图,是一种用程序框、流程线及文字说明来表示算法的图
形.
(2)表示:在程序框图中,算法的一个步骤通常用一个或几个程序框的组合来
表示;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
程序框图
(3)常见的程序框及其功能:
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
图形符号
名称
功能
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
图形符号
名称
功能
流程线
连接程序框
连接点
连接程序框图的两部分
【思考】
一个完整的程序框图是以什么开始,又以什么表示结束的?
提示:由程序框图的概念可知一个完整的程序框图一定是以起止框开始,同时又以起止框表示结束.
2.顺序结构
概念
图示
顺序结构是由若干个依次执行的
_____组成的,这是任何一个算法都
离不开的基本结构
步骤
【思考】
在顺序结构的图示中,“步骤n”与“步骤n+1”的执行顺序是怎样的?
提示:是依次执行的,即执行完“步骤n”框操作后,才执行“步骤n+1”框的操作.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)任何一个程序框图都必须有起止框.
(  )
(2)输入框只能放在输出框之前.
(  )
(3)判断框是唯一具有超过一个退出点的图形符号.
(  )
提示:(1)√,任何程序都必须有开始和结束,从而必须有起止框.
(2)×,输入、输出框可以用在算法中任何需要输入、输出的位置.
(3)√,判断框只有一个进入点,但一般有两个退出点,其他程序框只有一个进入点和一个退出点.
2.在程序框图中,算法中间要处理数据或计算,可分别写在不同的
(  )
A.处理框内
B.判断框内
C.输入、输出框内
D.终端框内
【解析】选A.由处理框的意义可知,对变量进行赋值,执行计算语句,处理数据,结果的传送都可以放在处理框内.
3.(教材二次开发:例题改编)如图所示的程序框图,输出的结果是S=7,则输
入的A值为______.?
【解析】该程序框图的功能是输入A,计算2A+1的值.由2A+1=7,解得A=3.
答案:3
关键能力·合作学习
类型一 程序框图的认识与理解(数学抽象)
【题组训练】
1.对终端框叙述正确的是
(  )
A.表示一个算法的起始和结束,程序框是
B.表示一个算法输入和输出的信息,程序框是
C.表示一个算法的起始和结束,程序框是
D.表示一个算法输入和输出的信息,程序框是
2.下列关于程序框图的说法正确的是
(  )
A.程序框图是描述算法的图形语言
B.程序框图中可以没有输出框,但必须要有输入框给变量赋值
C.在程序框图中,一个判断框可能同时产生两种结果
D.程序框图与流程图不是同一个概念
3.下列说法正确的是
(  )
A.程序框图中的图形符号可以由个人来确定 
      
      
B.
也可以用来执行计算语句
C.输入框只能紧接在起始框之后
D.长方形框是执行框,可用来对变量赋值,也可用来计算
4.如图所示的程序框图中不含有的程序框是
(  )
A.终端框
B.输入、输出框
C.判断框
D.处理框
【解析】1.选C.依据终端框的概念与画法,可知选项C是正确的.
2.选A.由于算法设计时要求返回执行的结果,故必须要有输出框,对于变量的赋值可通过处理框完成,故算法设计时不一定要有输入框,因此B错;一个判断框产生的结果是唯一的,故C错;程序框图就是流程图,所以D错.
3.选D.程序框是由通用图形符号构成,并且有特殊含义,A不正确;菱形框是判断框,只能用来判断,所以B不正确;输入框可用在算法中任何需要输入的位置,所以C也不正确;由程序框的功能可知D项正确.
4.选C.该程序框图含有终端框,输入、输出框和处理框,不含有判断框.
【解题策略】
区分算法框图
(1)程序框图实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题.
(2)判断框,一般有一个入口两个出口.
【补偿训练】
1.a表示“处理框”,b表示“输入、输出框”,c表示“起止框”,d表示“判断框”,以下四个图形依次为
(  )
A.abcd   
B.dcab   
C.bacd   
D.cbad
【解析】选D.依据处理框、输入、输出框、起止框、判断框的图形逐个判断,即可得出结论.
2.下列关于程序框图的说法正确的是
(  )
A.一个程序框图包括表示相应操作的框、带箭头的流程线和必要的文字说明
B.输入、输出框只能各有一个
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.在程序框图中,必须包含判断框
【解析】选A.输入、输出框可以放在算法中任何需要输入、输出的位置,所以不一定各有一个,因此B选项是错误的;相对于自然语言,用程序框图描述算法的优点主要就是直观、形象,容易理解,在步骤表达上简单了许多,所以C选项是错误的;显然D选项错误.
类型二 用顺序结构表示算法(数学运算、逻辑推理)
【典例】已知平面内的一点P(x0,y0)和直线l:Ax+By+C=0,设计求点P(x0,y0)
到直线l的距离d的算法,并画出程序框图.
步骤
内容
理解
题意
条件:已知点的坐标和直线方程
结论:设计求点到直线的距离公式的算法,然后依据算法画出程序框图
思路
探求
根据点到直线的距离公式知
,确定计算d的值
的步骤.
步骤
内容
书写
表达
算法如下:
第一步,输入点P的横、纵坐标x0和y0,直线方程的系数A,B
和常数项C.
第二步,计算z1=Ax0+By0+C.
第三步,计算z2=A2+B2.
第四步,计算
.
第五步,输出d,算法结束.
步骤
内容
书写
表达
程序框图如图所示.
步骤
内容
题后
反思
画一个算法的程序框图,可先写出算法步骤,再画程序框图.
【跟踪训练】
1.根据所给的程序框图,如图所示,
输出的结果是
(  )
A.3
B.1
C.2
D.0
【解析】选C.由X=Y,得X=2;由Y=X,
得Y=2;由Z=Y,得Z=2.
2.如图,若输入a=10,则输出a=______.
【解析】输入a=10,该程序框图的执行过程是:
a=10,b=10-8=2,a=10-2=8,输出a=8.
答案:8
类型三 程序框图的应用(数学运算、逻辑推理)
【典例】如图所示是解决某个问题而绘制的程序框图,
仔细分析各框图内的内容及框图之间的关系,
回答下面的问题:
(1)该程序框图解决的是怎样的一个问题?
(2)若最终输出的结果y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?
(3)在(2)的前提下,输入的x值越大,输出的ax+b是不是越大,为什么?
(4)在(2)的前提下,当输入的x值为多大时,输出结果ax+b等于0?
步骤
内容
理解
题意
条件:已知解决某个问题的程序框图
结论:求解该程序框图是解决什么问题以及在各种前提条件下的问题
思路
探求
首先认真阅读程序框图,并按照顺序结构依次执行下去.
步骤
内容
书写
表达
(1)该框图解决的是求函数f(x)=ax+b的函数值的问题.其中输入的是自变量x的值,输出的是x对应的函数值.
(2)y1=3,即2a+b=3.①
y2=-2,即-3a+b=-2.②
由①②得a=1,b=1.所以f(x)=x+1.
所以当x取5时,5a+b=f(5)=5+1=6.
(3)输入的x值越大,输出的函数值ax+b越大,因为f(x)=x+1是R上的增函数.
(4)令f(x)=x+1=0,得x=-1,因此当输入的x值为-1时,输出的函数值为0.
题后
反思
按顺序分析程序框图的功能
【解题策略】
对顺序结构程序框图的识读,首先弄明白程序框图中各程序框的功能,然后按流程线指引的方向从上到下(或从左到右)依次判断即可.
【跟踪训练】
1.如图是求长方体的体积和表面积的一个程序框图,补充完整,横线处应填__________.?
【解析】根据题意,长方体的长、宽、高应从键盘输入,故横线处应填写输入框.
答案:
2.如图所示的程序框图,要使输出的y的值最小,则输入的x的值应为多少?此
时输出的y的值为多少?
【解析】此程序框图执行的功能是对于给定的任意x的值,求函数y=x2+2x+3的值.
将y=x2+2x+3配方,得y=(x+1)2+2,要使y的值最小,需x=-1,此时ymin=2.
故当输入的x的值为-1时,输出的y的值最小为2.
课堂检测·素养达标
1.程序框图中,具有判断某条件是否成立功能的是
(  )    
      
A.处理框
B.输入、输出框
C.终端框
D.判断框
【解析】选D.在程序框图中,判断框具有判断某条件是否成立的功能.
2.程序框图符号“
”可用于
(  )
A.输出a=10
B.赋值a=10
C.判断a=10
D.输入a=1
【解析】选B.图形符号“
”是处理框,它的功能是赋值、计算,不是输入、输出和判断.
3.阅读如图的程序框图,若输入的a,b,c分别是21,32,75,
则输出的a,b,c分别是
(  )
A.75,21,32
B.21,32,75
C.32,21,75
D.75,32,21
【解析】选A.输入a=21,b=32,c=75,则x=21,a=75,
c=32,b=21,则输出的a,b,c分别为75,21,32.
4.(教材二次开发:练习改编)若R=8,则如图所示的程序框图
运行后的结果为a=______.?
【解析】由R=8得b=
=2,a=2b=4.
答案:4
5.已知函数y=2x+3,设计一个算法,若给出函数图象上任一点的横坐标x,求该点到坐标原点的距离,并画出程序框图.
【解析】算法如下:第一步,输入横坐标的值x.
第二步,计算y=2x+3.
第三步,计算d=
.
第四步,输出d.程序框图如图.(共47张PPT)
第2课时 条



必备知识·自主学习
1.条件结构的定义
算法的流程根据条件是否成立有不同的流向,处理上述过程的结构就是条件结构.
导思
1.什么是条件结构?什么样的问题适合用条件结构解决?
2.如何用条件结构设计程序框图解决有关问题?
【思考】
顺序结构能否完成处理分类讨论的问题这一任务?条件结构可以吗?
提示:分类讨论是带有分支的逻辑结构,顺序结构是按顺序依次执行的,不能完成这一任务,要用条件结构.
2.条件结构的程序框图的两种形式及特征
名称
形式一
形式二
结构
形式
特征
两个步骤A,B根据条件选择一个执行
根据条件是否成立选择是否执行步骤A
【思考】
1.条件结构是怎样执行的?
提示:条件结构是先判断再执行.
2.条件结构的判断框有两个出口,是否条件结构执行的结果也有两个?
提示:不是.虽然条件结构的判断框有两个出口,但根据条件是否成立,选择的出口是唯一的.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)条件结构是一种重要的基本逻辑结构,任何算法都离不开它.
(  )
(2)条件结构的条件需要放在判断框内,判断框有两个出口,根据条件的成立与否,要走不同的出口.
(  )
(3)条件结构的判断框有两个出口,所以执行条件结构后的结果不唯一.
(  )
提示:(1)×.条件结构是一种重要的逻辑结构,但不是所有的算法中都有条件结构,顺序结构是任何算法都离不开的.
(2)√.判断框有两个出口,根据条件不同,选择不同的出口.
(3)×.判断框虽然有两个出口,但只能有一个结果.
2.(教材二次开发:例题改编)已知如图是程序框图的一部分,其中含条件结构的个数是
(  )
      
      
      
A.0
B.1
C.2
D.3
【解析】选C.因为①不含条件结构,②③含条件结构,所以含有条件结构的个数是2.
3.如图所示的程序框图,其功能是
(  )
A.输入a-b或b-a的值,按从小到大的顺序输出它们的值
B.输入a-b或b-a的值,按从大到小的顺序输出它们的值
C.求a-b的最大值
D.求a-b的绝对值
【解析】选D.根据执行过程可知该程序框图的功能是输入a,b的值,最后输出a-b的绝对值.
关键能力·合作学习
类型一 对条件结构的理解(数学抽象)
【题组训练】
1.条件结构不同于顺序结构的特征是
(  )
A.处理框
B.判断框
C.输入、输出框
D.起止框
2.下列关于条件结构的描述,不正确的是
(  )
A.条件结构的出口有两个,但在执行时,只有一个出口是有效的
B.条件结构的判断条件要写在判断框内
C.对于一个程序框图来说,判断框内的条件是唯一的
D.条件结构根据条件是否成立,选择不同的分支执行
3.下列问题的算法宜用条件结构表示的是
(  )
A.求点P(-1,3)到直线3x-2y+1=0的距离
B.由直角三角形的两条直角边求斜边
C.解不等式ax+b>0(a≠0)
D.计算100个数的平均数
4.下列算法中,含有条件结构的是
(  )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
【解析】1.选B.在条件结构中含有判断框,而顺序结构中没有.
2.选C.条件结构含有判断框,条件写在判断框内,有一个入口,两个出口,根据条件成立与否,选择不同的出口,故A,B,D正确,C错误.
3.选C.因为选项A,B,D只需顺序结构即可,C中要对a进行讨论,宜用条件结构.
4.选C.解一元二次方程时,当判别式Δ<0时,方程无解,当Δ≥0时方程有解,由于分情况,故用到条件结构.
【解题策略】两角度理解条件结构
(1)在条件结构中,判断框有一个进入点,两个退出点,与顺序结构不同的是:它不依次执行指令,而是依据条件作出逻辑判断,选择执行两个指令中的一个.这里的“判断”主要判断“是”或“否”,即判断条件是否成立.
(2)注意点:
①理清所要实现的算法的结构特点和流程规则,分析其功能.
②结合框图判断所要填入的内容或计算所要输出或输入的值.
类型二 条件结构的设计(数学运算、逻辑推理)
角度1 简单条件结构?
【典例】求过两点P1(x1,y1),P2(x2,y2)的直线的斜率.设计该问题的算法并画出程序框图.
【思路导引】先对x1,x2是否相等进行判断,然后利用斜率公式求解.
【解析】算法如下:第一步,输入x1,y1,x2,y2.
第二步,如果x1=x2,输出“斜率不存在”;否则,k=
第三步,输出k.程序框图如图所示:
【变式探究】
若该典例中已知P1(3,2),P2(m,1),试写出输出结果.
【解析】依据算法可知当m=3时,输出的结果是斜率不存在;
当m≠3时输出的直线的斜率是
角度2 条件结构的嵌套?
【典例】如图所示的程序框图运行后输出结果为

则输入的x值为
(  )   
      
A.-1
B.
C.
D.-1或
【思路导引】先弄清该程序框图的作用是什么,
然后再由输出的结果,倒推出x的值.
【解析】选D.该程序的作用是计算并输出分段函数
y=
的函数值.
当x≤0时,若y=2x=
,则x=-1;
当0时,若y=log
x=
,则x=
?
,舍去;
当x≥
时,若y=x2=
,则x=-
(舍去)或x=
.
故输入的x值为-1或
.
【解题策略】含有条件结构的程序框图的设计
设计程序框图时,首先设计算法步骤(自然语言),再将算法步骤转化为程序框图(图形语言).如果已经非常熟练地掌握了画程序框图的方法,那么可以省略设计算法步骤而直接画出程序框图.对于算法中含有分类讨论的步骤,在设计程序框图时,通常用条件结构来解决.
【题组训练】
1.若f(x)=x2,g(x)=log2x,则如图所示的程序框图中,
输入x=0.25,输出h(x)=
(  )
A.0.25
B.2
C.-2
D.-0.25
【解析】选C.当x=0.25时,f(0.25)=
>g(0.25)=-2,
故执行“是”路径,即h(x)=log2x,h(0.25)=log20.25=-2.
2.阅读如图所示的程序框图.如果输入a=log3
,b=
,c=

那么输出的是______.?
【解析】该程序的功能是输出a,b,c中的最大值,因为a=log3
<0,
0<1,c=
>1,所以a.
答案:
【补偿训练】
1.计算函数y=
的函数值的程序框图如图所示,
则①②③的填空完全正确的是
(  )
A.①y=0;②x=0?;③y=x+6
B.①y=0;②x<0?;③y=x+6
C.①y=x2+1;②x>0?;③y=0
D.①y=x2+1;②x=0?;③y=0
【解析】选D.由分段函数的表达式知,x>0时,y=x2+1,故①处填y=x2+1;
由②的否后执行y=x+6知,②处填x=0?;当x=0时y=0知,③处填y=0.
2.执行如图所示的程序框图,若输出的结果是8,则输入的数是
(  )
A.2或-2
B.2
或-2
C.-2或-2
D.2或2
【解析】选A.当x3=8时,x=2,a=4,b=8,b>a,输出8;当x2=8时,
x=±2
,a=8,b=±16
,又a≥b,输出8,所以x=-2
.
类型三 程序框图的应用(数学运算、数学建模)
【典例】某小区每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图.
步骤
内容
理解
题意
条件:已知3人和3人以下的住户与超过3人的住户的两种收费标准.
结论:设计一个算法,依据人数收取的卫生费,并画出程序框图.
思路
探求
由于收取卫生费是按不超过3人与多于3人两种情况收取,所以可选择条件结构来处理
步骤
内容
书写
表达
依题意得,算法如下.
第一步,输入人数n.
第二步,若n≤3,则y=5;否则,y=5+(n-3)×1.2.
第三步,输出卫生费y.
程序框图如图所示.
步骤
内容
题后
反思
明晰程序框图中各程序框的功能,然后按流程线指引的方向从上到下(或从左到右)依次执行验证.
【解题策略】理解条件结构
条件结构有一个入口、两个出口.重在理解判断条件,其中判断条件一定要能明确出口方向.
【跟踪训练】
1.某市出租车的起步价为8元(含3千米),超过3千米的
里程每千米收2.6元,另外每车次超过3千米收燃油附
加费1元(不考虑其他因素).相应的收费系统的程序框图
如图所示,则(1)处应填______,(2)处应填______.?
【解析】当x>3时,y=8+2.6(x-3)+1=9+2.6(x-3)=2.6x+1.2;当x≤3时,y=8.
答案:y=2.6x+1.2 y=8
2.设y为年份,按照历法的规定,如果y为闰年,那么y能被4整除不能被100整除,或者y能被400整除.对于给定的年份y,要确定其是否为闰年,请画出其算法的程序框图.
【解析】程序框图如图所示:
课堂检测·素养达标
1.如图所示的程序框图中,当x1=6,
x2=9,p=8.5时,x3等于
(  )    
      
A.7
B.8
C.10
D.11
【解析】选B.由程序框图可知,p=8.5≠
故令p=
=8.5,则x3=8.5×2-9=8.
2.根据如图所示的程序框图,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”,则
(  )
A.框1中填“是”,框2中填“否”
B.框1中填“否”,框2中填“是”
C.框1中填“是”,框2中可填可不填
D.框2中填“否”,框1中可填可不填
【解析】选A.成绩不低于60分时输出“及格”,即x≥60时满足条件,故框1填“是”,框2填“否”.
3.设计求下列函数的函数值的算法,其中需要用到条件结构的是
(  )
A.f(x)=x2-1
B.f(x)=2x+1
C.f(x)=
D.f(x)=2x
【解析】选C.C项中函数f(x)是分段函数,需分类讨论x的取值范围,要用条件结构来设计算法,A,B,D项中均不需要用条件结构.
4.(2020·庆阳高一检测)已知函数y=|x-3|,如图所示程序框图表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填______,②处应填______.?
【解析】因为y=|x-3|,所以需对x-3的正负进行判断.故判断框内应为x<3?因为“是”时,y=3-x.所以“否”时,即x≥3时,y=x-3.
答案:①x<3?
②y=x-3(或①x≤3?②y=x-3)
5.给出如下一个算法:
第一步:输入x.
第二步:若x>0,则y=x2-1,执行第四步,否则执行第三步.
第三步:若x=0,则y=1,否则y=|x|.
第四步:输出y.
(1)画出该算法的程序框图;
(2)若输出y的值为1,求输入实数x的所有可能取值.
【解析】(1)程序框图如图所示.
(2)由y=x2-1=1,可得x=
或x=-
(舍去).
由y=|x|=1,可得x=-1或x=1(舍去),
由x=0,可得y=1.
所以输入实数x的所有可能的取值为
,-1,0.(共68张PPT)
第3课时
循环结构、程序框图的画法
必备知识·自主学习
1.循环结构的概念
(1)循环结构:按照一定的条件_________某些步骤的结构.
(2)循环体:_________的步骤.
导思
1.什么是循环结构?循环结构能够解决哪类问题?
2.循环结构有几种?它们之间能相互转化吗?
反复执行
反复执行
【思考】
1.循环结构中含有条件结构吗?它在其中的作用是什么?
提示:循环结构中必须包含条件结构,以保证按条件进行循环并在适当时候终止循环.
2.在循环结构中,计数变量和累计变量有什么作用?
提示:计数变量用于记录循环次数,同时它的取值还可能用于判断循环是否终止;累计变量用于表示每一步的计算结果.计数变量和累计变量一般是同步执行的,累计一次,计数一次.
3.循环结构具备哪些特点?
提示:(1)重复性:在一个循环结构中,总有一个过程要重复一系列的步骤若干次,而且每次的操作完全相同;
(2)判断性:每个循环结构都包含一个判断条件,它决定这个循环的执行与终止.
(3)函数性:循环变量在构造循环结构中起了关键作用,蕴含着函数的思想.
2.常见的两种循环结构
名称
直到型循环结构
当型循环结构
结构图
特征
先循环后判断,若不满足条件则执行循环体,否则终止循环.
先判断后循环,满足条件执行循环体,否则终止循环.
【思考】
两种循环结构各有什么特点?
提示:直到型循环结构是先执行循环体后判断条件,直到满足条件为止;当型循环结构是先判定条件再执行循环体,否则终止循环.
3.设计算法程序框图的步骤
①用自然语言表述算法步骤.
②确定每一个算法步骤所包含的逻辑结构,并用相应的程序框图表示,得到该步骤的程序框图.
③将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图.
【思考】
1.循环结构中的判断框中的条件是唯一的吗?
提示:不是,在具体的程序框图设计时,这里的条件可以不同但应该有共同的确定的结果.
2.循环结构适用于哪种类型的计算?
提示:循环结构主要用在一些有规律的重复计算中,如累加求和,累乘求积等问题.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)程序框图中的循环可以是无尽的循环.
(  )
(2)循环结构是在一些算法中从某处开始按照一定条件,反复执行某些步骤,故循环结构中一定包含条件结构.
(  )
(3)循环结构中反复执行的步骤叫做循环体.
(  )
提示:(1)×.程序框图中的循环,必须是有限循环,当满足题目给出的条件时,停止循环.
(2)√.循环结构一定包含条件结构,根据条件判断继续循环还是终止循环.
(3)√.根据循环结构的定义,循环结构中反复执行的步骤叫做循环体.
2.(教材二次开发:例题改编)如图所示,是一个循环
结构的算法,下列说法不正确的是
(  )
A.①是循环变量赋初始值,循环就要开始
B.②为循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
【解析】选D.①为循环变量赋初始值,必须先赋值才能有效循环,不可省略.
3.执行如图所示的程序框图,则输出n的值为______.?
【解析】运行该程序,S=0+(-1)1×1=-1<2,继续执行;n=2,S=-1+(-1)2×2
=1<2,继续执行;n=3,S=1+(-1)3×3=-2<2,继续执行;n=4,S=-2+(-1)4
×4=2,满足S≥2,退出循环,故输出n的值为4.
答案:4
关键能力·合作学习
类型一 循环结构有关概念的理解(数学抽象)
【题组训练】
1.下列关于循环结构的说法正确的是
(  )
A.循环结构中,判断框内的条件是唯一的
B.判断框中的条件成立时,要结束循环向下执行
C.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”
D.循环结构就是无限循环的结构,执行程序时会永无止境地运行下去
2.执行如图所示的程序框图,输出的S值为
(  )
      
      
      
A.1
B.3
C.7
D.15
3.执行如图所示的程序框图,若输出k的值为6,
则判断框内可填入的条件是
(  )
A.s>

B.s>

C.s>

D.s>

【解析】1.选C.由于判断框内的条件不唯一,故A错;由于当型循环结构中,判断框中的条件成立时执行循环体,故B错;由于循环结构不是无限循环的,故C正确,D错.
2.选C.程序框图运行如下:
k=0<3,S=0+20=1,k=1<3;
S=1+21=3,k=2<3;S=3+22=7,k=3.
输出S=7.
3.选C.当输出k的值为6时,s=1×
结合题中的程序框图知选C.
【解题策略】
1.循环结构应用的三个注意点
(1)如果算法问题里涉及的运算进行多次重复的操作,且先后参与运算的各数之间有相同的变化规律,就可以引入循环变量参与运算,构成循环结构.
(2)在循环结构中,要注意根据条件设置合理的计数变量,累加(乘)变量,同时条件的表述要恰当,精确.
(3)累加变量的初值一般为0,而累乘变量的初值一般为1,累加(乘)和计数一般是同步进行的,累加(乘)一次,计数一次.
2.两种循环结构的区别与联系
类型
何时终止循环
循环体执行次数
联系
直到型
条件满足时
至少执行一次
可以相互转化,条件互补
当型
条件不满足时
可能一次也不执行
【补偿训练】
1.在解决下列各问题的算法中,一定用到循环结构的是
(  )
A.求函数f(x)=3x2-2x+1当x=5时的值
B.用二分法求
的近似值
C.求一个以给定实数为半径的圆的面积
D.将给定的三个实数按从小到大的顺序排列
【解析】选B.用二分法求
的近似值,一定要用到循环结构.
2.下面关于当型循环结构和直到型循环结构的说法不正确的个数为
(  )
①当型循环结构是先判断后循环,条件成立时执行循环体,条件不成立时结束循环;
②直到型循环结构要先执行循环体再判断条件,条件成立时结束循环,条件不成立时执行循环体;
③在某些情况下,两种循环结构可以互相转化.      
      
A.0
B.1
C.2
D.3
【解析】选A.当型循环结构是当条件满足时执行循环体,直到型循环结构是先执行一次循环体,再判断条件,二者可以相互转化,所以①②③都是正确的.
3.在如图所示的程序框图中,输出S的值为
(  )
A.11
B.12
C.13
D.15
【解析】选B.由框图知:S=3+4+5=12.
类型二 含有循环结构框图的设计(数学运算、逻辑推理)
角度1 简单求和或积的算法设计?
【典例】设计一个计算1×2×3×…×100的值的算法,并画出程序框图.
【思路导引】式中各项相乘,且各项有规律递增,所以引入累乘变量S和计数变量i,利用S=S×i,i=i+1这两个式子反复执行,因此需要利用循环结构设计程序框图.
【解析】算法如下:第一步,令S=1.
第二步,令i=2.
第三步,S=S×i.
第四步,i=i+1.
第五步,若i>100,则输出S;否则,返回第三步.
该算法的程序框图如图所示.
角度2 数学问题中的最值问题的算法设计?
【典例】写出一个求满足1×3×5×7×…×n>50
000的最小正整数n的算法,并画出相应的程序框图.
【思路导引】(1)计数变量与累乘变量的初始值应为多少?(2)循环体是怎样构成的?(3)怎样设置终止条件?
【解析】算法如下:
第一步,S=1.
第二步,n=3.
第三步,如果S≤50
000,那么S=S×n,n=n+2,重复第三步;否则,执行第四步.
第四步,n=n-2.
第五步,输出n.
程序框图如图所示:
【解题策略】
1.利用循环结构解决问题的“三个确定”
(1)确定循环变量及初始值,弄清循环变量表示的意义、取值范围及变化规律.
(2)确定循环体的功能,根据实际情况确定采用哪种循环结构.
(3)确定循环结构的终止条件,弄清不等号的方向及是否含有等号.
2.求满足条件的最值问题的实质及注意事项
(1)实质:利用计算机的快速运算功能,对所有满足条件的变量逐一测试,直到产生第一个不满足条件的值时结束循环.
(2)注意事项:
①要明确数字的结构特征,决定循环的终止条件与数的结构特征的关系及循环次数.
②要注意要统计的数出现的次数与循环次数的区别.
③要特别注意判断框中循环变量的取值限制,是“>”“<”还是“≥”“≤”,它们的意义是不同的.
【题组训练】
1.如图所示是为求1~1
000内的所有偶数的和而设计的一个程序框图,将空白处补上.
①________; ②________.?
【解析】求1~1
000的所有偶数的和利用累加的方法,即s=0+2+4+…+1
000,这里i是累加变量,每次自动增加2.
答案:①s=s+i ②i=i+2
2.(2020·庆阳高一检测)如图所示,
程序框图(算法流程图)的输出结果

(  )
【解析】选D.模拟程序框图的运行过程,
得S=0,n=2,n<8满足条件,进入循环,
S=
,n=4,满足条件,进入循环,
S=
+
,n=6,进入循环,
S=
+
+
,n=8,不满足判断框的条件,进而输出S值,
该程序框图运行后输出的是:S=
+
+
=
.
【补偿训练】
1.执行如图所示的程序框图,则输出s的值为
(  )    
      
【解析】选D.因为s=0,k=0,0<8,
所以k=0+2=2,s=0+
=

因为2<8,所以k=2+2=4,s=
因为4<8,所以k=4+2=6,s=
因为6<8,所以k=6+2=8,s=
因为8<8不成立.所以输出s=
.
2.执行如图所示的程序框图,若P=0.7,则输出的n=______.?
【解析】n=1时,S=0<0.7,S=
,n=2;S=
<0.7,
S=
+
=
,n=3;S=
<0.7否,输出n=3.
答案:3
3.在如图所示的程序框图中,输入A=192,B=22,则输出的结果是______.?
【解析】输入后依次得到:C=16,A=22,B=16;C=6,A=16,B=6;C=4,A=6,B=4;C=2,A=4,B=2;C=0,A=2,B=0.故输出的结果为2.
答案:2
类型三 循环结构的实际应用(数学运算、数学建模)
【典例】相传古代印度国王要褒赏国际象棋的发明者,问他需要什么,发明者说:“国王只要在国际象棋的棋盘的第一个格子上放一粒麦子,第二个格子上放两粒,第三个格子上放四粒,以后按此比例每一格加一倍,一直放到第64格(国际象棋棋盘8×8=64格),我就感恩不尽,其他什么也不要了.”国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿就全用没了,再扛来一袋很快又没有了,结果全印度的粮食用完还不够,国王很奇怪.一个国际象棋棋盘一共能放多少粒小麦?试用程序框图表示其算法.
步骤
内容
理解
题意
条件:第一格放1粒=20,
第二格放2粒=21,
第三格放4粒=22,
第四格放8粒=23,
…,第六十四格放263粒.
思路
探求
转化:此题可以转化为求1+21+22+23+24+…+263的和的问题.我们可引入一个累加变量S,一个计数变量i,累加64次就能算出一共有多少粒小麦.
步骤
内容
书写
表达
一个国际象棋棋盘一共能放1+21+22+23+24+…+263粒小麦.程序框图如图所示.
题后
反思
读懂题意,确定循环体及控制循环次数的条件是解题关键
【解题策略】用循环结构设计算法解决应用问题的步骤
(1)审题.
(2)建立数学模型.
(3)用自然语言表述算法步骤.
(4)确定每一个算法步骤所包含的逻辑结构,对于要重复执行的步骤,通常用循环结构来设计,并用相应的程序框图表示,得到表示该步骤的程序框图.
(5)将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图.
【跟踪训练】
1.美索不达米亚平原是人类文明的发祥地之一.美索不达米亚人善于计算,他们创造了优良的计数系统,其中开平方算法是最具有代表性的.其程序框图如图所示,若输入a,n,ξ的值分别为8,2,0.5,则输出结果为______.?
【解析】由程序框图可以看出,当输入a=8,n=2,ξ=0.5时,m=4,n=3,
|m-n|>0.5,继续执行循环,m=
,n=
,|m-n|<0.5,退出循环,
输出n=
.
答案:
2.2019年10月18日至27日第七届世界军人运动会在武汉举行,某机构在武汉市随机调查了10
000人,了解他们观看军运会电视直播节目的情况,把调查结果输入如图所示的程序框图中,输出的数值是3
800,则可判断调查的10
000人中观看该直播节目的人数为______.?
【解析】从程序框图中可以看出输出的S的值表示没观看直播节目的人数,所以观看该直播节目的人数为10
000-3
800=6
200.
答案:6
200
【补偿训练】
1.某篮球队6名主力队员在最近三场比赛中投进的三分球个数如表所示:
队员i
1
2
3
4
5
6
三分球个数
a1
a2
a3
a4
a5
a6
如图是统计该6名队员在最近三场比赛中投进的三分球总数的程序框图,则图中判断框中应填______,输出的S=______.?
【解析】由题意知该程序框图是统计该6名队员在最近三场比赛中投进的三分球总数,故图中判断框应为i≤6?输出的S=a1+a2+…+a6.
答案:6 a1+a2+…+a6
2.某中学高三年级男子体育训练小组5月测试的50米跑的成绩(单位:s)如下:6.4,6.5,7.0,6.8,7.1,7.3,6.9,7.4,7.5,设计一个算法,从这些成绩中搜索出小于6.8
s的成绩,并画出程序框图.
【解析】算法步骤如下:
第一步,i=1;
第二步,输入一个数据a;
第三步,如果a<6.8,则输出a,否则,执行第四步;
第四步,i=i+1;
第五步,如果i>9,则结束算法.否则执行第二步.
程序框图如图所示.
课堂检测·素养达标
1.下面的框图是循环结构的是
(  )
      
      
      
A.①②
B.②③
C.③④
D.②④
【解析】选C.由循环结构的特点知③④是循环结构,其中①是顺序结构,②是条件结构.
2.如图(1)(2)所示,它们都表示的是输出所有立方小于1
000的正整数的程序框图,那么应分别补充的条件为
(  )
A.图(1)n3≥1
000? 图(2)n3<1
000?
B.图(1)n3≤1
000? 图(2)n3≥1
000?
C.图(1)n3<1
000? 图(2)n3≥1
000?
D.图(1)n3<1
000? 图(2)n3<1
000?
【解析】选C.图(1)是当型循环结构,图(2)是直到型循环结构,执行循环的条件都为n3<1
000,当型循环是条件满足时执行循环,而直到型循环是条件不满足时执行循环,所以应分别补充的条件为图(1)n3<1
000?,图(2)n3≥1
000?.
3.执行如图所示的程序框图,输出的s值为
(  )
A.1
B.2
C.3
D.4
【解析】选B.k=1,s=1;第一次循环:s=2,判断k<3,k=2;第二次循环:s=2,判断k<3,k=3;第三次循环:s=2,判断k=3,故输出的s值为2.
4.如果执行如图所示的程序框图,输入x=3.5,则输出的数i=______.?
【解析】循环前x=3.5,不满足判断框条件.
第1次循环,x=2.5,i=2,
第2次判断后循环,x=1.5,i=3,
第3次判断后循环x=0.5,x<1满足判断框的条件退出循环,则输出的数i=3.
答案:3
5.(2020·成都高二检测)如果执行如图所示的程序框图,输入正整数n=7,m=3,那么输出的p等于______.?
【解析】模拟程序框图的运行过程,可得
p=5,
满足条件k<3,执行循环体,k=2,p=30,
满足条件k<3,执行循环体,k=3,p=210,
不满足条件k<3,退出循环,输出p的值为210.
答案:210(共60张PPT)
1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
必备知识·自主学习
导思
1.什么是输入、输出语句?它们与哪种程序框图对应?它们的功能是什么?
2.什么是赋值语句?它们与哪种程序框图对应?它们的功能是什么?
1.输入、输出语句
(1)输入、输出语句:
___________________分别与程序框图中的输入、输出框对应,用来输入和输出信息.
输入语句、输出语句
(2)输入、输出语句的格式及功能:
名称
格式
功能
输入语句
INPUT
“提示内容”;变量,其中“提示内容”一般是提示用户输入什么样的信息
把程序中新输入的值赋给变量
输出语句
PRINT“提示内容”;表达式
在计算机的屏幕上输出常量、变量的值和系统信息
【思考】
(1)输入语句能给变量、表达式赋值吗?
提示:输入语句只能给变量赋值,不能给表达式赋值.
(2)输入语句能一次输入多个变量的值吗?
提示:依据输入语句的特点,输入语句可以一次输入多个变量的值,但必须用“,”隔开.
2.赋值语句
(1)赋值语句和程序框图中表示赋值的处理框对应,用来给变量赋值.
(2)赋值语句的格式及功能:
名称
格式
功能
赋值语句
变量=表达式
将表达式所代表的值赋给变量,一般先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量
【思考】
(1)利用赋值语句可以进行代数式的化简吗?
提示:赋值语句不可以进行代数式的化简.
(2)赋值语句中的“=”与数学运算中的“=”意义相同吗?
提示:不相同,如在数学运算中x=x+1是错误的,而在赋值语句中x=x+1是有意义的.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)语句INPUT只能给一个变量赋值.
(  )
(2)输出语句可以输出常量、变量的值和系统信息,但不能输出有关表达式的计算结果.
(  )
(3)赋值语句:“y=x”与“x=y”相同.
(  )
提示:(1)×.输入语句INPUT可以给一个变量赋值,也可以给多个变量赋值;当给多个变量赋值时,中间用“,”分隔.
(2)×.输出语句可以输出表达式,也可以输出表达式的计算结果.
(3)×.赋值语句:“y=x”表示把x的值赋给y;而“x=y”表示把y的值赋给x,意义不一样.
2.下列关于赋值语句的说法错误的是
(  )
A.赋值语句先计算出赋值号右边的表达式的值
B.赋值语句是把左边变量的值赋给赋值号右边的表达式
C.赋值语句是把右边表达式的值赋给赋值号左边的变量
D.以上有对有错
【解析】选B.赋值语句的作用是把右边表达式的值赋给赋值号左边的变量.
3.(教材二次开发:例题改编)下列程序的运行结果是______.?
【解析】因为A=1,B=3,所以A=A+B=4,B=B
A=3×4=12,故输出结果为:4,12.
答案:4,12
关键能力·合作学习
类型一 输入、输出语句(数学抽象)
【题组训练】
1.在INPUT语句中,如果同时输入多个变量,变量之间的分隔符是(  ) 
      
A.逗号 
B.分号 
C.空格  
D.引号
2.利用输入语句可以给多个变量赋值,下面能实现这一功能的语句是
(  )
A.INPUT “A,B,C”a,b,c
B.INPUT “A,B,C”;a,b,c
C.INPUT a,b,c;“A,B,C”
D.PRINT “A,B,C”;a,b,c
3.有以下程序:
程序执行后的结果是
(  )
A.5 5
B.3 3
C.A=5 B=5
D.A=3 B=3
【解析】1.选A.在算法语句中,若同时输入多个变量,变量之间用逗号隔开.
2.选B.提示内容与变量之间要用“;”隔开,故A错;提示内容在前,变量在后,故C错;输入语句用“INPUT”而非“PRINT”,故D错.
3.选C.运行程序:A=3,B=5,A=5,B=5.
【解题策略】利用输入、输出语句编程应注意的问题
(1)输入语句没有计算功能,只能输入常量;而输出语句有计算功能,可以输出常量、变量或表达式的值以及字符.
(2)“提示内容”和变量之间用分号隔开,若输入、输出多个数,各数之间应用逗号隔开,“提示内容”可以省略.
(3)程序中运算符号要规范,输出语句不能输出一个等式,这是易错点.
【补偿训练】
1.当输入“3”后,输出的结果为
(  )
A.5    B.4    C.3    D.6
【解析】选A.程序中只有两个变量x,y.当程序按顺次执行时,先有y=3,再有x=4,x=5,故最后输出的x值为5.
2.阅读下列程序,并回答问题.
若输入1,2,则输出的结果为______.?
【解析】阅读程序,由a=1,b=2,c=a-b,可得c=-1;
又根据b=a+c-b,可得b=-2;
所以程序运行后的结果为:1,-2,-1.
答案:1,-2,-1
3.写出下列程序运行的结果.
若输入2,1,则输出的结果为______.?
【解析】若输入2,1,即a=2,b=1,所以22+
=4+1=5.
输出结果为a2+
=5.
答案:a2+
=5
类型二 赋值语句(数学抽象)
【题组训练】
1.赋值语句N=N+1的意义是
(  )
A.N等于N+1
B.N+1等于N
C.将N的值赋给N+1
D.将N的原值加1后再赋给N,即N的值增加1
2.运行如图所示的程序,输出的结果是______.?
3.以下程序运行时输出的结果是______.?
【思路导引】1.依据赋值语句的定义即可解答.
2.把1赋给a,把2赋给b,求a+b的值.
3.顺序依次赋值即可.
【解析】1.选D.赋值语句N=N+1的意义是:将N的原值加1后再赋给N,即N的值增加1.
2.a=1,b=2,把1与2的和赋给a,即a=3,输出的结果为3.
答案:3
3.当A=3时,先把A*A=3×3=9赋给B,即B=9,再把2*A+B=2×3+9=15赋给A,把B-A=9-15=-6赋给B.
答案:15,-6
【解题策略】
1.赋值语句的几种常见形式
(1)赋予变量常数值,如a=1.
(2)赋予变量其他变量或表达式的值,如b=a,
b=2a+1.
(3)变量自身的值在原值上加常数或变量,如i=i+1,i=i+S.
2.根据程序求输出结果的两个注意点:
(1)根据给出的算法语句写结果,应抓住输入、输出语句和赋值语句的特点,按语句的计算、赋值功能依次执行.
(2)注意在算法语言中常见运算符号的书写方式,明确它们的运算规则:先乘除,后加减;乘幂优先于乘除;同级运算从左向右按顺序进行;括号内最优先.
【跟踪训练】
阅读如下两个程序,完成下列问题.
程序(1):
程序(2):
程序(1)的运行结果为______.?
若程序(1),(2)运行结果相同,则程序(2)输入的值为_____.?
【解析】赋值语句给变量赋值时,变量的值总是最后一次所赋的值,故程序(1)中x的值最后为6.要使程序(2)中y的值为6,即x2+6=6,故x=0.即输入的x的值为0.
答案:6 0
【补偿训练】
1.下列给变量赋值的语句正确的是
(  )
A.5=a     
B.a+2=a
C.a=b=4
D.a=2*a
【解析】选D.A错误,因为赋值语句的左右两边不能对换,赋值语句是将赋值号右边表达式的值赋给赋值号左边的变量;B错误,赋值语句左边是一个变量,而不是代数式;C错误,因为赋值语句不能把一个值同时赋给两个变量;D正确.
2.设A=10,B=20,则可以实现A,B的值互换的程序是
(  )
【解析】选C.A中程序执行后A=B=10,B中程序执行后A=B=10,C中程序执行后A=20,B=10,D中程序执行后A=B=10.
类型三 算法语句与程序框图的转化(数学运算、数学建模)
角度1 将算法语句转化为程序框图?
【典例】读下面的程序,根据程序画出程序框图.
【思路导引】根据语句的意义及结构特点画程序框图.
【解析】程序框图如图所示:
角度2 实际问题中的算法设计?
【典例】经过市场调查分析,2019年第一季度内,某地区对某件商品的需求量为12
000件,为保证商品不脱销,商家决定在月初时将商品按相同的量投放市场,已知年初商品的库存量为50
000件,用S表示商品的库存量,请设计一个算法的程序框图,求出第一季度结束时商品的库存量,编写其程序.
【思路导引】每月应投放市场该种商品12
000÷3=4
000(件).这样库存量随月份的变化情况如下表:
月份
库存
一月
二月
三月
S
46
000
42
000
38
000
根据表格画出程序框图,再根据程序框图写出程序.
【解析】算法的程序框图如图所示:
程序如下:
【解题策略】编写程序的步骤
(1)根据问题要求构思算法分析.
(2)把算法分析转化为程序框图,即画出程序框图.
(3)把程序框图转化为程序.
要注意转化过程中基本结构与相应语句的对应.熟练后可直接写出程序.
【题组训练】
1.运行如图所示的程序,输出的结果是______.?
【解析】a=1,b=2,
把1与2的和赋给a,即a=3,
输出结果为3.
答案:3
2.将下列程序改为框图,并指明其作用.
【解析】程序框图如图:
作用:求过指数函数y=2x的图象上两点(x1,y1),(x2,y2)的直线的斜率k.
【补偿训练】根据如图所示的程序框图,写出相应的程序.
【解析】程序如下:
课堂检测·素养达标
1.下列语句正确的是
(  ) 
      
      
A.INPUT “a=”;5*5 
B.PRINT (a+b+c)/3
C.PRINT a≤b 
D.赋值语句a+b=1
【解析】选B.对A,不能输入运算式,故A错;B正确;对C,输出语句应为a<=b,故C错;对D,不能将1赋给表达式,故D错.
2.下列程序执行后,变量a,b的值分别为
(  )
A.20,15
 
B.35,35 
C.5,5 
D.-5,-5
【解析】选A.根据赋值语句的意义,先把a+b=35赋给a,然后把a-b=35-20=15赋给b,最后再把a-b=35-15=20赋给a.
3.(教材二次开发:练习改编)下列程序执行后结果为3,则输入的x值为______.?
【解析】由题意得x2+2=3,解方程得x=1或x=-1.
答案:±1
4.阅读下面的程序,根据程序画出程序框图.
【解析】程序框图如图所示.
【补偿训练】把如图的程序框图转化为程序.
【解析】(共61张PPT)
1.2.2 条



必备知识·自主学习
导思
1.条件语句的结构怎样?
2.条件语句与程序框图中的哪种结构对应?条件语句主要解决哪类问题?
 条件语句
类别
格式一
格式二
条件
结构
构图
类别
格式一
格式二
条件
语句
IF 条件 THEN
    
语句体
END
IF
IF 条件 THEN
语句体1
ELSE
语句体2
END
IF
语句
功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
【思考】
1.条件语句主要适用于哪类问题?
提示:需要分类处理的问题.
2.使用条件语句处理分类条件问题的关键是什么?
提示:关键是明确分类的方法与标准.
3.两种格式的条件语句有什么相同点?
提示:都由IF开始,END
IF结束.都对某一条件进行判断后执行相应的语句体.
4.两种格式的条件语句有什么不同点?
提示:格式一中当满足条件时执行语句体,不满足条件时执行END
IF后的语句;格式二中满足条件时执行THEN后的语句,不满足条件时执行ELSE后的语句.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)条件语句的执行是按照程序中的先后顺序执行的.
(  )
(2)条件语句实现了程序框图中的条件结构.
(  )
(3)条件语句一定要完整,即IF—THEN—ELSE—END IF中每一部分都不能少.(  )
提示:(1)√;条件语句在执行时必须按先后顺序依次执行,不能随意更改执行顺序.
(2)√;条件语句与程序框图中的条件结构对应.
(3)×;条件语句中IF,THEN与END
IF对应出现,但ELSE可以没有.
2.条件语句的一般形式为:IF
A
THEN
B
ELSE
C,其中B表示的是
(  )
A.满足条件时执行的内容
B.条件语句
C.条件
D.不满足条件时,执行的内容
【解析】选A.IF
A
THEN
B
ELSE
C表示如果条件A成立,则执行B步骤,否则执行C步骤.
3.(教材二次开发:例题改编)下面的程序要解决的问题是______.?
【解析】由算法语句可知:如果x<0时x=-x,输出x,所以该算法的功能是输出x的绝对值.
答案:输出x的绝对值
关键能力·合作学习
类型一 条件语句与条件结构(数学抽象)
【题组训练】
1.下列关于IF语句的叙述正确的是
(  )
A.IF语句中必须有ELSE和END
IF
B.IF语句中可以没有END
IF
C.IF语句中可以没有ELSE但必须以END
IF结束
D.IF语句中可以没有END
IF,但必须有ELSE
2.下列问题需要用条件语句来描述其算法的是
(  )
A.输入x,输出它的相反数
B.输入x,输出它的绝对值
C.求边长为1的正三角形的面积
D.求棱长为1的正四面体的体积
3.根据程序框图补全程序语句.
①________ ②________?
【解析】1.选C.IF语句中的IF和END
IF是成对出现的,但是ELSE可以没有,即满足条件执行,否则跳过IF语句.
2.选B.A,C,D都不需要分类,所以不需要条件语句;而B需要分类,故需要用条件语句.
3.根据程序框图可知该算法是求分段函数
y=
的函数值,程序语句中要满足的条件是x≥0,故①处应填“y=x-1”,②处应填“y=2*x∧2-5”.
答案:y=x-1 y=2*x∧2-5
【解题策略】
(1)每个条件语句都是以“IF”开始,以“END
IF”结束,这是条件语句中不可缺少的.
(2)根据条件结构写条件语句时首先选择语句格式.当判断语句的两个出口语句都要执行时,采用“IF-THEN-ELSE”语句,当判断语句的两个出口语句只有一个要执行时,采用“IF-THEN”语句.
然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中(如果有的话)的内容,是ELSE后的语句体2.
【补偿训练】
1.已知条件语句如下:
则下列说法正确的是
(  )
A.条件成立时,先执行语句体1,再执行语句体2,最后结束条件语句
B.条件不成立时,先执行语句体2,再执行语句体1,最后结束条件语句
C.条件成立时,先执行语句体1,再结束条件语句
D.条件成立时,先执行语句体2,再结束条件语句
【解析】选C.由条件语句的功能知C正确.
2.根据下面的程序,填写程序框图.
①______,②______,③______.?
【解析】根据条件语句可知该语句为求分段函数
y=
的值.
所以三个空中分别填的内容为:
①x≥
? ②y=2x-5 ③y=5-2x.
答案:①x≥
? ②y=2x-5 ③y=5-2x
类型二 条件语句的应用(数学运算、逻辑推理)
角度1 条件语句的应用?
【典例】已知函数f(x)=
编写一个程序,使输入的每一个x值,都得到相应的函数值.
【思路导引】求函数值必须先判断x的范围,因而要设计算法必须用条件结构,相应程序的书写用条件语句.
【解析】用变量x,y分别表示自变量和函数值,步骤如下:
第一步,输入x值.
第二步,判断x的范围,若x≥1,则用解析式y=2x-1求函数值;否则用y=x2-2求函数值.
第三步:输出y值.程序框图如图所示:
程序如下:
【变式探究】
若该典例中得出一个函数值为7,你能说出输入的x是多少吗?
【解析】依题意得2x-1=7(x≥1)或x2-2=7(x<1),解得x=4或x=-3.
角度2 条件语句的叠加与嵌套?
【典例】已知分段函数y=
编写程序,输入自变量x的值,输出相应的函数值,并画出程序框图.
【思路导引】判断x与0的关系,再确定y的解析式.
【解析】方法一:嵌套式:
程序及程序框图如下.
方法二:叠加式:
程序及程序框图如下:
【解题策略】
1.用条件语句解决实际问题的步骤
(1)构思出解决问题的一个算法;(可用自然语言)
(2)画出程序框图,形象直观地描述算法;
(3)根据框图编写程序,即逐步把框图中的算法步骤用算法语句表达出来.
2.使用条件语句嵌套应关注两点
(1)适用范围:适用于判断条件多于一个时.此时,若重复应用条件语句,书写程序烦琐,可用条件语句的嵌套.
(2)分清层次:编写条件时,要注意IF和END
IF的配对,常常利用文字的缩进来表示嵌套的层次,以便于程序的阅读与理解.嵌套可以多于2个.
【题组训练】
1.阅读下列程序:
若输入5,则程序运行的结果为
(  )
A.1     B.10    C.25    D.26
【解析】选D.a=5时,条件a>5不成立,故执行ELSE后面的语句b=a2+1=26.
2.编写程序输出两个不相等的实数a,b中的较大数,并画出程序框图.
【解析】程序如下:
程序框图如图所示.
【补偿训练】
1.根据下列算法语句,当输入x为60时,输出y的值为______.?
【解析】算法程序是求分段函数
y=
的函数值.
因为输入的x=60,满足x>50,
所以输出的结果为y=25+0.5×(60-50)=30.
答案:30
2.若输入8,则下列程序执行后输出的结果是______.?
【解析】本题是求分段函数
c=
在t=8时的函数值.所以c=0.2+0.1×8-0.1×3=0.7.
答案:0.7
类型三 条件语句的实际应用(数学抽象、逻辑推理)
【典例】某市对出租车的计费统一规定:如果行驶不超过2
km,则收费5元(即起步价),若超过2
km,则超出部分每1
km加收1.8元(不足1
km的按1
km计算).画出计算路费的程序框图,并写出程序.
步骤
内容
理解
题意
条件:行驶不超过2
km,则收费5元,若超过2
km,则超出部分每
1
km加收1.8元(不足1
km的按1
km计算).
结论:写出计算路费的程序.
思路
探求
设路程为x
km,费用为y元,则y是一个分段函数,可用条件语句
设计程序.
步骤
内容
书写
表达
程序框图如下:
步骤
内容
书写
表达
程序如下:
步骤
内容
题后
反思
设计条件语句时要分清分段的段数,一般地,若两段可直接利用条件结构书写条件语句,若三段,则需用条件语句的嵌套形式
【解题策略】用条件语句解决实际问题的步骤
(1)构思出解决问题的一个算法(可用自然语言);
(2)画出程序框图,形象直观地描述算法;
(3)根据框图编写程序,即逐步把框图中的算法步骤用算法语句表达出来.
【跟踪训练】
1.在音乐唱片超市里,每张唱片售价25元,顾客如果购买5张以上(含5张),则按照9折收费;顾客如果购买10张以上(含10张),则按8.5折收费.请设计一个算法,画出程序框图,并写出程序,要求输入唱片的张数,输出应收款的金额.
【解析】算法步骤如下:
第一步,输入唱片的张数x.
第二步,若x<5,则y=25x;否则,执行第三步.
第三步,若x<10,则y=22.5x;否则y=21.25x.
第四步,输出y.
程序框图如图所示.
根据程序框图写出程序如下.
2.设计一个算法,求方程ax+b=0的解.并写出程序.
【解析】算法:第一步,判断a≠0是否成立.若成立,输出结果“x=-
”;
否则执行第二步.
第二步,判断b=0是否成立.若成立,输出结果“解集为R”;若不成立,输出结果“方程无解”,结束算法.
课堂检测·素养达标
1.已知程序如下:
如果输出的结果为2,那么输入的自变量x的取值范围是
(  )      
A.0 
B.(-∞,0] 
C.(0,+∞) 
D.R
【解析】选B.若输出结果为2,则执行了ELSE后面的语句y=2,即x>0时不成立,所以x≤0.
2.对于条件语句的描述正确的是
(  )
A.执行下列条件语句时,当不满足条件时,执行语句体1,满足条件时,执行语句体2
B.执行下列条件语句时,如果满足条件,就执行THEN后的语句体,如果不满足条件,则直接结束该条件语句,转而执行其他语句
C.条件语句在程序中能够减少大量烦琐的计算
D.条件语句中不能有输出语句
【解析】选B.A中,如果满足条件,就执行语句体1,否则执行语句体2,所以A不正确;条件语句在程序中起判断转折作用,不能减少大量烦琐的计算,所以C不正确;条件语句中可以有输出语句,所以D不正确,很明显B正确.
3.(教材二次开发:例题改编)当a=1,b=3时,执行完如图一段程序后,
x的值是
(  )
A.1
B.3
C.4
D.-2
【解析】选C.由a=1,b=3,a4.根据下面的程序框图写出程序语句.
【解析】程序框图所实现的算法功能是:求任意一个实数a的立方的绝对值.程序如下:(共50张PPT)
1.2.3 循



必备知识·自主学习
导思
1.什么是循环语句?什么样的问题适合用循环语句解决?
2.如何用循环语句解决有关问题?
1.循环语句
循环语句与程序框图中的_________相对应,一般程序设计语言中都有
______________和____________两种循环语句结构,分别对应于程序框图
中的直到型和当型循环结构.
循环结构
直到型(UNTIL)
当型(WHILE)
2.循环语句的格式、功能及程序框图
名称
直到型(UNTIL语句)
当型(WHILE语句)
格式
DO
循环体
LOOP
UNTIL 条件
WHILE 条件
 循环体
WEND   
功能
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果条件不符合,继续执行循环体;然后再检查上述条件,如果条件仍不符合,再次执行循环体,直到条件符合时为止.这时,不再执行循环体,跳出循环体执行UNTIL语句后面的语句
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时,不再执行循环体,跳出循环体,执行WEND后面的语句
名称
直到型(UNTIL语句)
当型(WHILE语句)
对应
程序
框图
【思考】
(1)循环语句与程序框图中的哪种结构对应?循环语句可解决哪一类问题?
提示:循环语句对应于程序框图中的循环结构.
在需要处理反复执行的运算任务,如累加求和、累乘求积等问题时,常常要用到循环语句.
(2)WHILE语句与UNTIL语句可以相互转化吗?若能,转化时该注意什么?
提示:WHILE语句与UNTIL语句一般可以相互转化,转化时循环语句的格式变了,另外,尤其注意要改变条件.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)UNTIL语句是先执行一次循环体,后判断条件.
(  )
(2)WHILE语句是先判断条件,后执行循环体.
(  )
(3)UNTIL语句是条件满足时执行循环体,条件不满足时,结束循环;而WHILE语句是当条件不满足时执行循环体,满足时结束循环.
(  )
提示:(1)√.UNTIL语句对应程序结构中的直到型循环,所以是先循环后判断.
(2)√.WHILE语句对应当型循环结构,所以是先判断是否符合条件后循环.
(3)?.UNTIL语句是条件不满足时执行循环体,条件满足时,结束循环;而WHILE语句是当条件满足时执行循环体,条件不满足时结束循环.
2.设计程序求解下列问题时,不能用循环语句的有
(  )
①输入每个同学的数学成绩,求全班同学的平均成绩;
②求分段函数的函数值;
③求连续100个自然数的平方和;
④输入100个数,从中找出最大的数.   
      
A.1个 
B.2个 
C.3个 
D.4个
【解析】选A.②求分段函数的函数值用条件语句,①③④涉及累加和多次赋值,均可以用循环语句解决.
3.(教材二次开发:例题改编)下列循环语句是程序的一部分,循环终止时,i等于
(  )
A.2  
B.3 
C.4  
D.5
【解析】选B.该循环语句是WHILE语句,当条件i<3开始不成立时,循环结束,则所求i=3.
关键能力·合作学习
类型一 UNTIL语句的应用(数学抽象、逻辑推理)
【题组训练】
1.下列循环语句,循环终止时,i等于
(  )
A.3 
B.4 
C.5 
D.6
2.如果以下的程序运行的结果为240,那么在程序中UNTIL后面的“条件”应为______.?
3.执行下面的程序后,变量x的值为______.?
【解析】1.选D.当i=6时,满足i>5,终止循环.
2.该程序使用了直到型循环语句,当条件不满足时,执行循环体,满足时退出
循环体.由于输出的结果为240=16×15,所以执行了两次循环,因此条件应为
i<15.
答案:i<15
3.第一次循环后,x=3+2=5,5<
,不符合条件;第二次循环后,x=5+2=7,
7<
,不符合条件;第三次循环后,x=7+2=9,9>
,符合条件,终止循环.
答案:9
【解题策略】对UNTIL语句的几点说明
(1)DO语句只是循环的开始标记,遇到DO语句,先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
(2)循环次数的控制往往是判断条件,在循环体内要控制条件的改变,否则会陷入死循环.
(3)控制循环次数的变量要综合考虑初始化值和LOOP
UNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减.
【补偿训练】
1.如图的程序运行后第3个输出的数是
(  )
A.1    B.
    C.2    D.
【解析】选C.该程序中关键是循环语句,
第一次输出的数是1,第二次输出的数是x=1+
=

第三次输出的数是x=1+
+
=2.
2.下面程序输出的结果为
(  )
A.17
B.19
C.21
D.23
【解析】选C.当i=9时,S=2×9+3=21,判断条件9≥8成立,跳出循环,输出S.
类型二 WHILE语句的应用(数学运算、逻辑推理)
1.关于下列程序语句段的说法正确的是
(  )
A.循环体执行8次
B.循环体无限循环
C.循环体一次也不执行
D.循环体只执行1次
2.下列程序运行后输出的
结果为   (  )
A.1
B.3
C.5
D.7  
3.如果执行如图程序后输出的结果是132,那么在程序中WHILE后面的条件应

(  )
A.i>11
B.i>=11
C.i<=11
D.i<11
4.试分析下面的框图,解决下列问题:
(1)a≠b,r(2)试写出程序语句.
【解析】1.选C.对于WHILE语句,条件为真,则执行循环体,而本题k=8,不符合条件k=0,所以循环体一次也不执行.
2.选C.该程序的执行过程是i=1,i=1<5,是;
i=1+2=3,i=3<5,是;
i=3+2=5;i=5<5,否.所以输出i的值为5.
3.选B.由题意S=1,i=12,满足条件;S=1×12=12,i=12-1=11满足条件;S=12×11=132,i=10,由题意此时应输出S值,即不满足条件,退出循环,
故WHILE后条件应为“i>=11”.
4.(1)a≠b是循环条件,r(2)该框图的程序如下:
【解题策略】
(1)当型循环语句以WHILE开头,以WEND结束.
(2)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
(3)WHILE语句先判断条件,再执行循环体,因此,循环体可能一次也不执行就退出循环.
【补偿训练】
运行如图所示的程序,如果输入的n是6,那么输出的p是______.?
【解析】程序运行的过程为:(1)p=1,k=2;(2)p=2,k=3;(3)p=6,k=4;(4)p=24,k=5;(5)p=120,k=6;(6)p=720,k=7,这时不满足k≤6,所以输出的p是720.
答案:720
类型三 循环语句的综合应用(数学运算、数学建模)
【典例】用两种语句写出计算12+32+52+…+992的程序.
步骤
内容
理解
题意
条件:用两种算法语句,写出计算前50个正奇数的平方和的算法
思路
探求
引入一个变量控制循环次数,再设计一个计算变量,需要考虑如何实现累计求和,选择哪个循环语句.
步骤
内容
书写
表达
方法一:用WHILE语句编写程序如下:
S=0
i=1
WHILE i<=99
 S=S+i∧2
 i=i+2
WEND
PRINT S
END
步骤
内容
书写
表达
方法二:用UNTIL语句编写程序如下:
S=0
i=1
DO
 S=S+i∧2
 i=i+2
LOOP UNTIL i>99
PRINT S
END
步骤
内容
题后
反思
求积、求和运算常用循环结构,利用循环结构书写循环语句时,一定要分清直到型和当型结构进而选择合适的命令语句.
【解题策略】
两种循环语句的相同点是:(1)进入循环前的语句相同;(2)循环体相同;
(3)输出部分相同.
不同点是:(1)循环条件的位置不同;(2)循环条件不同.
【跟踪训练】
1.输入100个数,将其中正数的个数输出.试用循环语句设计程序.
【解析】用WHILE语句编写程序如下:
或用UNTIL语句编写程序如下:
2.某学生在体育训练时弄伤了膝关节,医生给他开了一些消炎药,并叮嘱他每天早晚8时各服用一片药片.现知该药片每片重220毫克,他的肾脏每12小时从体内滤出这种药的60%.设计一个程序,求他第n次服药后体内此药的残留量,并画出程序框图.
【解析】算法分析:第一次服药后体内此药的残留量:V1=220;
第二次服药后体内此药的残留量:V2=V1×0.4+220;
第三次服药后体内此药的残留量:V3=V2×0.4+220;
…;
第n次服药后体内此药的残留量:Vn=
Vn-1×0.4+220.
故可用循环语句求解.
程序框图如图:
程序如图:
课堂检测·素养达标
1.关于循环语句的说法不正确的是
(  ) 
      
      
A.算法中的循环结构由WHILE语句来实现
B.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句
C.UNTIL语句和WHILE语句是不同的循环语句
D.算法中的循环结构由循环语句来实现
【解析】选A.算法中的循环结构由循环语句来实现,循环语句包括UNTIL语句和WHILE语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A是错误的,其余都正确.
2.以下程序
(  )
A.输出结果是102
B.能执行45次
C.能执行46次
D.无法终止循环,有语法错误
【解析】选D.从循环语句的格式看,这个循环语句是直到型循环语句,那么当满足条件x>100时,终止循环体,但是第一次执行循环体后x=8,由于x=8>100不成立,则再次执行循环体,执行完成后x=6,则这样无限循环下去,x的值越来越小,有语法错误,循环终止的条件永远不能满足.
3.执行下面程序的循环次数为
(  )
A.1 
B.2 
C.3 
D.4
【解析】选C.程序执行如下:
(1)x<20,x=0+1=1,x=12=1,
(2)
x<20,x=1+1=2,x=22=4,
(3)
x<20,x=4+1=5,x=52=25,
此时跳出循环,并输出x.所以一共进行3次循环.
4.(教材二次开发:练习改编)读程序,回答下列问题:
(1)若输入n=3,则输出的结果为______.?
(2)此程序对应的计算式子是______.?
(3)程序中的循环语句对应______型循环结构.?
【解析】(1)输入n=3,当i=1时S=0+
=

当i=2时,S=
+
=

当i=3时,S=
,结束循环,此时输出S=
.
(2)此程序是用于计算
的值.
(3)这是WHILE语句,对应的是当型循环结构.
答案:(1)
 (2)
 
(3)当
5.根据如图所示的程序框图写出相应的程序.
【解析】程序如下:(共44张PPT)
1.3 算



必备知识·自主学习
1.辗转相除法与更相减损术
(1)___________,又叫欧几里得算法,是一种求两个正整数的___________的
古老而有效的算法.
(2)___________是我国古代数学专著《九章算术》中介绍的一种求两个正整
数的___________的算法.
辗转相除法
最大公约数
更相减损术
最大公约数
【思考】
(1)怎样用辗转相除法求两个正整数的最大公约数?
提示:辗转相除法的算法步骤:
第一步,给定两个正整数m,n.
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.
(2)怎样用更相减损术求两个正整数的最大公约数?
提示:更相减损术求两个正整数的最大公约数的基本过程是:
第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
2.秦九韶算法
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0.求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=anx+an-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+an-2,v3=v2x+an-3,…,vn=vn-1x+a0,这种求n次多项式f(x)的值的方法叫秦九韶算法.
【思考】
(1)利用秦九韶算法将多项式改写为一次多项式时,如果某一项缺少,该怎么处理?
提示:当多项式中n次项不存在时,可将第n项看作0·xn.
(2)应用秦九韶算法求多项式的值时应怎样操作?
提示:求多项式的值时,先计算最内层括号内一次多项式的值,即
v1=anx+an-1,再由内向外逐层计算一次多项式vk(k=2,3,4,…,n)的值.
3.进位制
进位制是人们为了计数和运算方便而约定的记数系统.“满k进一”就是k进制,k进制的基数是
k.
【思考】
不同的进位制数如何区分?
提示:一般地,k进制数的原理是满k进一,k进制数一般在右下角处标注(k),以示区别.例如270(8)表示270是一个8进制数.但十进制一般省略不写.
【基础小测】
1.辨析记忆(对的打“√”,错的打“×”)
(1)用辗转相除法与更相减损术都可以求两个正整数的最大公约数.
(  )
(2)秦九韶算法的优点是减少了乘法运算的次数,提高了运算效率.
(  )
(3)不同进位制中,十进制的数比二进制的数大.
(  )
提示:(1)√.辗转相除法与更相减损术都能求两个正整数的最大公约数.
(2)√.应用秦九韶算法就是为了减少运算次数.
(3)×.不同进位制之间的两个数不能比较大小.
2.(教材二次开发:例题改编)在对16和12求最大公约数时,整个操作如下:16-12=4,12-4=8,8-4=4.由此可以看出12和16的最大公约数是
(  )     
      
      
A.4  
B.12  
C.16 
D.8
【解析】选A.根据更相减损术的方法判断.
3.下列有可能是4进制数的是
(  )
A.5
123 
B.6
542 
C.3
103 
D.4
312
【解析】选C.4进制中逢4进1,每位上的数字一定小于4.
4.设计程序框图,用秦九韶算法求多项式的值,所选用的结构是
(  )
A.顺序结构
B.条件结构
C.循环结构
D.以上都有
【解析】选D.根据秦九韶算法的含义知选D.
关键能力·合作学习
类型一 求最大公约数(数学运算、逻辑推理)
【题组训练】
1.用辗转相除法求72与120的最大公约数时,需要做除法的次数为(  )     
      
      
A.4  
B.3 
C.5 
D.6
2.98,280的最大公约数为
(  )
A.7
B.14
C.16
D.8
3.利用辗转相除法求3
869与6
497的最大公约数时,第二步是______.?
【解析】1.选B.120=72×1+48,72=48×1+24,48=24×2.
2.选B.由辗转相除法可得:280=98×2+84,98=84×1+14,84=14×6.故最大公约数为14.也可以使用更相减损术.
3.第一步应为6
497=3
869×1+2
628;
第二步应为3
869=2
628×1+1
241.
答案:3
869=2
628×1+1
241
【解题策略】
求最大公约数的两种方法步骤
(1)利用辗转相除法求给定的两个数的最大公约数,即利用带余除法,用数对中较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对,再利用带余除法,直到大数被小数除尽,则这时的较小数就是原来两个数的最大公约数.
(2)利用更相减损术求两个正整数的最大公约数的一般步骤是:首先判断两个正整数是否都是偶数,若是,用2约简;也可以不除以2,直接求最大公约数,这样不影响最后结果.
【补偿训练】
1.下列关于利用更相减损术求156和72的最大公约数的说法中正确的是
(  )
A.都是偶数必须约简
B.可以约简,也可以不约简
C.第一步作差为156-72=84;第二步作差为72-84=-12
D.以上都不对
【解析】选B.约简是为了使运算更加简捷,故不一定要约简,A错.C中第二步应为84-72=12.
2.用辗转相除法和更相减损术求1
515与600的最大公约数,需要运算的次数分别为
(  )
A.4,15       B.5,14
C.5,13
D.4,12
【解析】选B.辗转相除法:1
515=600×2+315,600=315×1+285,315=285×1+30,285=30×9+15,30=15×2,故最大公约数为15,且需计算5次.
用更相减损术:1
515-600=915,915-600=315,600-315=285,315-285=30,285-30=255,255-30=225,225-30=195,195-30=165,165-30=135,135-30=105,105-30=75,75-30=45,45-30=15,30-15=15.故最大公约数为15,且需计算14次.
类型二 秦九韶算法(数学抽象、逻辑推理)
【典例】用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1,当x=2时的值.
步骤
内容
理解
题意
利用秦九韶算法求多项式在x=2时的值.
思路
探求
可根据秦九韶算法的原理,将所给的多项式改写,然后由内到外逐次计算
步骤
内容
书写表达
根据秦九韶算法把多项式改写成如下形式:
f(x)=8x7+5x6+0·x5+3·x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.
由内向外依次计算一次多项式,当x=2时的值v0=8,
v1=8×2+5=21,
v2=21×2+0=42,
v3=42×2+3=87,
v4=87×2+0=174,
v5=174×2+0=348,
v6=348×2+2=698,
v7=698×2+1=1
397.
所以当x=2时,多项式的值为1
397.
题后反思
秦九韶算法的关键在于把n次多项式转化为一次多项式
【解题策略】
 将多项式写成一次多项式的形式,从里到外一步一步地做乘法运算和加法运算,这样比直接将自变量的值代入大大减少了计算量,提高了运算效率.
【跟踪训练】
1.用秦九韶算法计算f(x)=6x5-4x4+x3-2x2-9x,需要加法(或减法)与乘法运算的次数分别为
(  )     
      
      
A.5,4
B.5,5
C.4,4
D.4,5
【解析】选D.n次多项式需进行n次乘法;若各项均不为零,则需进行n次加法,缺一项就减少一次加法运算.f(x)中无常数项,故加法次数要减少一次,为5-1=4.
2.用秦九韶算法计算f(x)=3x4+2x2+x+4当x=10时的值的过程中,v1的值为______.?
【解析】改写多项式为f(x)=(((3x+0)x+2)x+1)x+4,则v0=3,v1=3×10+0=30.
答案:30
3.用秦九韶算法求多项式f(x)=7x5+5x4+10x3+10x2+5x+1当x=-2时的值:
①第一步,x=-2.
第二步,f(x)=7x5+5x4+10x3+10x2+5x+1.
第三步,输出f(x).
②第一步,x=-2.
第二步,f(x)=((((7x+5)x+10)x+10)x+5)x+1.
第三步,输出f(x).
③需要计算5次乘法,5次加法.
④需要计算9次乘法,5次加法.
以上说法中正确的是______(填序号).?
【解析】①是直接求解,并不是秦九韶算法,故①错误,②正确.对于一元n次多项式,应用秦九韶算法时最多要运用n次乘法和n次加法,故③正确,④错误.
答案:②③
类型三 进位制及其转化(数学运算、逻辑推理)
 角度1 十进制数转化为k进制数?
【典例】85化成七进制数为______.?
【思路导引】用k连续去除十进制数所得的商,直到商为零为止,然后把各步得到的余数倒排写出.
【解析】
所以85=151(7)
答案:151(7)
 角度2 k进制数转化为十进制数?
【典例】把“五进制”数1234(5)转化为“十进制”数,再把它转化为“八进制”数.
【思路导引】k进制化十进制时,利用求各位上的数与k的幂的乘积后再相加的方法,十进制化其他进制可采用除k取余法.
【解析】因为1234(5)=1×53+2×52+3×51+4×50=194,而
所以1234(5)=194(10)=302(8).
【解题策略】
 进位制的转换方法
(1)要把k进制数化为十进制数,首先把k进制数表示成不同位上数字与k的幂的乘积之和,其次按照十进制的运算规则计算和.
(2)十进制数化为k进制数(除k取余法)的步骤
要注意转化过程中基本结构与相应语句的对应.熟练后可直接写出程序.
【题组训练】
1.下列写法正确的是
(  )      
      
      
A.858(8)
B.865(7)
C.121(3)
D.68(6)
【解析】选C.k进制中各位上的数字均小于k,故A,B,D错误.
2.若六进制数1m05(6)(m为正整数)化为十进制数为293,则m=________.
?
【解析】1m05(6)=1×63+m×62+5=221+36m=293,所以m=2.
答案:2
【补偿训练】
1.已知三个数12(16),25(7),33(4),将它们按由小到大的顺序排列为_____.
?
【解析】将三个数都化为十进制数.
12(16)=1×16+2=18,
25(7)=2×7+5=19,
33(4)=3×4+3=15,
所以33(4)<12(16)<25(7).
答案:33(4)<12(16)<25(7)
2.将八进制数123(8)化为十进制数,结果为______.?
【解析】1×82+2×81+3×80=64+16+3=83.
答案:83
3.210(6)化成十进制数为______.?
【解析】210(6)=2×62+1×6=78.
答案:78
课堂检测·素养达标
1.给出下列说法:①在计算机中,做一次乘法运算所用的时间,比做一次加法运算所用的时间长得多;②在计算机中,计算xk(k=2,3,…,n)要进行k次运算;③因为秦九韶算法是在南宋时期提出的,所以现在在多项式求值中不是一种先进的算法;④利用秦九韶算法求n次多项式的值时,可以将其转化为求n个一次多项式的值,其中正确的个数是
(  )      
      
      
A.1
B.2
C.3
D.4
【解析】选B.①④正确,②③不正确.
2.把189化为三进制数,则末位数是
(  )
A.0
B.1
C.2
D.3
【解析】选A.
则末位数是0.
3.利用辗转相除法求最大公约数,下列说法不正确的是
(  )
A.228和1
995的最大公约数是57
B.78和36的最大公约数是6
C.85和357的最大公约数是34
D.153和119的最大公约数是17
【解析】选C.由辗转相除法可得,85和357的最大公约数应该是17.
4.(教材二次开发:练习改编)将51化为二进制数得______.?
【解析】
答案:110011(2)
5.阅读程序框图,利用秦九韶算法计算多项式f(x)=anxn+an-1xn-1+…+a1x+a0,当x=x0时,框图中A处应填入______.?
【解析】f(x)=anxn+an-1xn-1+…+a1x+a0,先用秦九韶算法改为一次多项式,
f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0.
f1=an;k=1,f2=f1x0+an-1;
k=2,f3=f2x0+an-2;…;
归纳得第k次fk+1=fkx0+an-k.故A处应填an-k.
答案:an-k
6.用两种方法求210与98的最大公约数.
【解析】方法一:用辗转相除法:
210=98×2+14,98=14×7.
所以210与98的最大公约数为14.
方法二:用更相减损术:
因为210与98都是偶数,用2约简得
105和49,105-49=56,56-49=7,
49-7=42,42-7=35,
35-7=28,28-7=21,21-7=14,14-7=7.
所以210与98的最大公约数为2×7=14.