2020_2021学年高中数学第二章算法初步学案含解析(6份打包)北师大版必修3

文档属性

名称 2020_2021学年高中数学第二章算法初步学案含解析(6份打包)北师大版必修3
格式 zip
文件大小 2.2MB
资源类型 教案
版本资源 北师大版
科目 数学
更新时间 2021-03-14 21:41:46

文档简介

1 算法的基本思想
考 纲 定 位
重 难 突 破
1.初步感受算法的思想,理解算法的含义.2.体会设计算法的基本思路.3.明确算法的特征.
重点:对算法概念、算法思想的理解.
难点:算法的应用.
授课提示:对应学生用书第23页
[自主梳理]
算法的含义、性质及作用
[双基自测]
1.下列不是算法的性质的是(  )
A.有序性
      
B.确定性
C.有穷性
D.唯一性
答案:D
2.算法的每一步都应该是确定的、能有效执行的,并且得到确定的结果,这是指算法的
(  )
A.有穷性
B.确定性
C.逻辑性
D.不唯一性
解析:算法的过程和每一步的结果都是确定的,即确定性.
答案:B
3.下列语句能称为算法的是(  )
①拨打本地电话的过程为:a.提起话筒;b.拨号;c.等通话信号;d.开始通话;e.结束通话.
②利用公式V=Sh,计算底面积为3,高为4的三棱柱的体积.
③x2-2x-3=0.
④求所有能被3整除的正数,即3,6,9,12,….
A.①②        B.①③
C.②④
D.①②④
解析:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.①②各表达了一种算法;③只是一个数学问题,不是明确的步骤;④中步骤是无穷的,与算法步骤的有限性矛盾.
答案:A
授课提示:对应学生用书第23页
探究一 算法的概念
[典例1] 下列对算法的理解不正确的是(  )
A.一个算法应包含有限的步骤,而不能是无限的
B.算法可以理解为由基本运算及规定的运算顺序构成的完整的解题步骤
C.算法中的每一步都应当有效地执行,并得到确定的结果
D.一个问题只能设计出一个算法
解析:
选项
判断
原因分析
A

算法的有限性指包含的步骤是有限的
B

算法的明确性是指每一步都是确定的
C

算法的每一步都是确定的,且每一步都应有确定的结果
D
×
对于同一个问题可以有不同的算法
答案:D
理解算法的关键点
(1)算法实际上是解决问题的一种程序性方法,它通常解决一类问题,用算法解决问题,体现了从特殊到一般的数学思想.
(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
1.以下关于算法的说法正确的是(  )
A.描述算法可以有不同的方式,可用形式语言也可用其他语言
B.算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列只能解决当前问题
C.算法过程要一步一步执行,每一步执行的操作必须确切,不能含糊不清,而且经过有限步或无限步后能得出结果
D.算法要求按部就班地执行,每一步可以有不同的结果
解析:由算法的概念可知,求解某一类问题的算法不是唯一的,故A正确;算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能解决一类问题,故B不正确;算法是有限步的,结果具有明确性,C不正确;算法的每一步操作必须是明确的,不能有歧义或模糊不清,故D不正确.故选A.
答案:A
探究二 数值型计算的算法设计
[典例2] 写出解方程x2-2x-3=0的算法设计.
[解析] 法一:算法步骤如下:
1.移项得x2-2x=3.①
2.①两边同加1并配方得(x-1)2=4.②
3.②两边开方得x-1=±2.③
4.解③得x=3或x=-1.
法二:1.计算方程的判别式并判断其符号:Δ=22+4×3=16>0:
2.将a=1,b=-2,c=-3代入求根公式x=得x1=3,x2=-1.
对于数值型计算问题的算法,可以借助数学公式采用数学计算的方法,将过程分解成清晰的步骤,使之条理化即可.但应注意多个数进行四则运算时应分步计算,依次进行,直到算出结果.
2.写出求1+2+3+4+5+6的一个算法.
解析:法一:1.计算1+2得3;
2.将第一步中的运算结果3与3相加得到6;
3.将第二步中的运算结果6与4相加得到10;
4.将第三步中的运算结果10与5相加得到15;
5.将第四步中的运算结果15与6相加得到21.
法二:1.将原式变形为(1+6)+(2+5)+(3+4)=3×7;
2.计算3×7;
3.得到运算结果.
探究三 实际生活中的算法设计
[典例3] 一个人带着三只狼和三只羚羊过河,只有一条船,该船最多可容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃羚羊.此人如何才能将动物平安转移过河?请设计一个算法.
[解析] 具体算法步骤如下:
1.人带两只狼过河,并自己返回.
2.人带一只狼过河,并自己返回.
3.人带两只羚羊过河,并带两只狼返回.
4.人带一只羚羊过河,并自己返回.
5.人带两只狼过河.
解决此类问题.需先建立过程模型,通过模型进行算法设计与描述,设计具体的数学问题的算法,实际上就是寻求一类问题的算法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能接受的“语言”准确地描述出来.
3.在解放战争中,有一名战士接到命令,要求在最短的时间内配制出三副炸药,但是由于条件艰苦,称量物品的天平只剩下50
g和5
g两个砝码,现有495
g硫磺,如何设计算法使称量的次数最少?需称量多少次?
解析:算法如下:
第一步,计算出495
g硫磺分成三等份,每份应为165
g.
第二步,用5
g砝码称出5
g硫磺.
第三步,用5
g砝码和5
g硫磺共同称出10
g硫磺.
第四步,用50
g砝码称出50
g硫磺.
第五步,用50
g砝码和50
g硫磺共同称出100
g硫磺.
第六步,把5
g、10
g、50
g、100
g硫磺混合,构成165
g硫磺,也就是一份硫磺.
第七步,用这一份硫磺再称出165
g硫磺,余下的作为一份.
由上述方法可以看出,这种算法共需要称量5次.
算法设计中的分类讨论思想
[典例] 给出解方程ax2+bx+c=0(a,b,c为实数)的一个算法.
[解析] 算法步骤如下:
1.当a=0,b=0,c=0时,解集为全体实数.
2.当a=0,b=0,c≠0时,原方程无实数根.
3.当a=0,b≠0时,原方程的解为x=-.
4.当a≠0且b2-4ac>0时,方程有两个不等实根,x1=,x2=.
5.当a≠0且b2-4ac=0时,方程有两个相等实根,x1=x2=-.
6.当a≠0且b2-4ac<0时,方程没有实数根.
[感悟提高] 在解决问题时由于条件的变化,问题的结果有多种情况,不能用同一标准或同一种方法去解决,这就需要用分类讨论的思想对条件情况进行讨论,本题分a=0和a≠0两种情况,而a=0和a≠0每种情况下又分三种情形.
[随堂训练] 对应学生用书第25页
1.下列描述不是解决问题的算法的是(  )
A.从中山到北京先坐汽车,再坐火车
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-4x+3=0有两个不等的实根
D.解不等式ax+3>0时,第一步移项,第二步讨论
解析:A选项:从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题,所以A是解决问题的算法;B选项:解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题,所以B是解决问题的算法;D选项:解不等式ax+3>0时,第一步移项化为ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,求出不等式的解集,解决了怎样求不等式解集的问题,所以D是解决问题的算法.故选C.
答案:C
2.想泡茶喝,当时的情况是:火已经生起了,凉水和茶叶也有了,开水没有,开水壶要洗,茶壶和茶杯要洗,下面给出了四种不同的算法过程,你认为最好的一种算法是(  )
A.洗开水壶,灌水,烧水,在等待水开时,洗茶壶、茶杯,拿茶叶,等水开了后泡茶喝
B.洗开水壶,洗茶壶和茶杯,拿茶叶,一切就绪后,灌水,烧水,坐等水开后泡茶喝
C.洗开水壶,灌水,烧水,坐等水开,等水开后,再拿茶叶,洗茶壶、茶杯,泡茶喝
D.洗开水壶,灌水,烧水,再拿茶叶,坐等水开,等水开后,再洗茶壶、茶杯,泡茶喝
解析:解决一个问题可以有多种算法,可以选择其中最优、最简单、步骤尽可能少的算法.选项中的四种算法都符合题意,但算法A要比其余的三种算法科学,所以选A.
答案:A
3.给出下列算法:
1.输入x的值.
2.当x>4时,计算y=x+2,否则执行下一步.
3.计算y=.
4.输出y.
当输入x=0时,输出y=________.
解析:由于x=0>4不成立,故计算y==2.
答案:2
4.设计一个算法,求出840和1
764的最大公约数.
解析:算法步骤如下:
第一步,将840进行质因数分解,得840=23×3×5×7.
第二步,将1
764进行质因数分解,得1
764=22×32×72.
第三步,确定它们的公共质因数:2,3,7.
第四步,确定公共质因数2,3,7的指数分别为2,1,1.
第五步,840和1
764的最大公约数为22×31×71=84.
PAGE2 算法框图的基本结构与设计
2.1 顺序结构与选择结构
考 纲 定 位
重 难 突 破
1.掌握算法框图中的两种算法结构——顺序结构、选择结构及其特点.2.通过具体的实例体会用算法框图表示算法的优点.3.会用算法框图表示简单的算法.
重点:理解并掌握顺序结构、选择结构.
难点:能正确选择并运用两种逻辑结构框图表示具体问题的算法.
授课提示:对应学生用书第25页
[自主梳理]
1.算法框图
在算法设计中,算法框图可以准确、清晰、直观地表达解决问题的思路和步骤.
2.算法的两种结构
顺序结构
选择结构
定义
按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构
在算法流程中,需要进行判断,判断的结果决定后面的步骤,像这样的结构通常称作选择结构
图形表示
3.基本框图及其表示的功能
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
判断框
判断某一个条件是否成立,成立时在出口处标明“是”;不成立时标明“否”
处理框
赋值、计算
流程线
连接图框
[双基自测]
1.任何程序框图中都不可缺少的是(  )
A.输入框       B.处理框
C.判断框
D.起止框
解析:任何一个算法都有开始和结束,因而任何程序框图必须有起止框.
答案:D
2.在程序框图中,算法中间要处理数据或计算,可分别写在不同的(  )
A.处理框中
B.判断框内
C.输入、输出框内
D.终端框内
解析:根据程序框图中各图形符号的作用,知A选项正确.
答案:A
3.如图所示的算法框图中,输入a1=3,a2=4,则输出的结果是(  )
A.12
B.7
C.34
D.43
解析:∵a1=3,a2=4,∴b=a1a2=3×4=12.
答案:A
授课提示:对应学生用书第26页
探究一 顺序结构的算法框图
[典例1] 已知点P(x0,y0)和直线l:Ax+By+C=0,求点P(x0,y0)到直线l的距离d,写出该问题的一个算法,并画出算法框图.
[解析] 算法如下:
1.输入点的坐标x0,y0及直线方程的系数A,B,C;
2.计算z1=Ax0+By0+C;
3.计算z2=A2+B2;
4.计算d=;
5.输出d.
算法框图如图所示:
顺序结构只须严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤“细化”就可以.“细化”指的是写出算法步骤、画出算法框图.
1.阅读如图所示的程序框图,根据程序框图和以下各小题的条件解决问题.
(1)若输入x的值分别是0和-1时,输出y的值分别是2和5,试求a,b的值.
(2)在(1)的条件下,要使输出的y的值不小于11,应使输入的x的值在什么范围内?
解析:(1)依题意可得
解得
(2)由(1)知y=3·-1,因此当输出的y的值不小于11时,有3·-1≥11,即≥4,解得x≤-2.
即输入的x的值的范围是(-∞,-2].
探究二 选择结构的算法框图
[典例2] 已知函数y=写出求该函数函数值的算法并画出算法框图.
[解析] 算法步骤如下:
1.输入x.
2.如果x>0,那么使y=-1;
如果x=0,那么使y=0;
如果x<0,那么使y=1;
3.输出函数值y.
算法框图如图所示:
(1)设计算法框图时,首先设计算法分析(自然语言),再将算法分析转化为算法框图(图形语言).如果已经非常熟练地掌握了画算法框图的方法,那么可以省略算法分析直接画出算法框图.在设计算法框图时,对于算法中分类讨论的步骤,通常设计成选择结构来解决.
(2)在处理分段函数问题的过程中,当x在不同的范围内取值时,函数解析式不同,因此当给出一个自变量x的值时,必须先判断x的取值范围,所以在算法框图中需要设计选择结构.
2.已知函数y=如图所示的是给定x的值,求其对应的函数值y的程序框图.
①处应填写________;②处应填写________.
解析:由框图可知只要满足①中的条件,则对应的函数解析式为y=2-x,故此处应填写x<2,则②处应填写将log2x记为y.
答案:x<2 将log2x记为y
探究三 算法框图的实际应用
[典例3] 设计房租收费的算法,其要求是:住房面积90
m2
以内,每平方米收费3元;住房面积超过90
m2时,超过部分,每平方米收费5元.画出算法框图,要求输入住房面积数,输出应付的房租.
[解析] 算法如下:
1.输入住房面积S.
2.根据面积选择计费方式:若S≤90,则租金为M=S×3;若S>90,则租金为M=270+(S-90)×5.
3.输出房租M的值.
算法框图如图所示:
对于实际问题的算法,解决的关键是读懂题意,建立合适的模型,找到问题的计算公式,然后选择合适的算法结构表示算法过程.
3.根据有关规定,从2019年1月1日起,某市儿童乘坐汽车免票标准按新标准执行.若儿童身高不超过1.2
m则免票;若身高超过1.2
m,但不超过1.5
m,可买半票;若超过1.5
m,则应买全票,试设计一个购票的算法,并画出相应的程序框图.
解析:算法步骤如下:
第一步,输入一个身高h.
第二步,判断h≤1.2是否成立,
若是,输出“免费乘车”并结束;否则执行第三步.
第三步,判断h≤1.5是否成立,
若是,输出“半票乘车”并结束;否则输出“全票乘车”并结束,
程序框图如图所示:
选择结构中应用题的解答
[典例] (本题满分12分)试设计算法和程序框图,解关于x的方程ax+b=0(a,b为常数).
[规范解答] 算法步骤如下:
1.输入a,b的值.…………………………………………………………………2分
2.判断a=0①是否成立,若成立,则执行第3步;若不成立,则令x=-,输出x,结束算法.
……………………………………………………………………4分
3.判断b=0②是否成立,若成立,则输出“方程的解为R”,结束算法;若不成立,则输出“无解”,结束算法.
……………………………………………6分
程序框图为:
……………………………………………………………………………………12分
[规范与警示] (1)①处易漏掉a=0,失分点;
②处漏掉此步,得分减半,关键点.
(2)在解含参数的方程时,常需要讨论,当方程两边同除以含参数的式子时,需按该式的值是否为0分类讨论.
(3)分类讨论的关键是确定分类的标准,另外讨论要做到不重不漏,如本题中的分类标准为a能否取0.
[随堂训练] 对应学生用书第27页
1.如图,是某算法流程图的一部分,其算法的逻辑结构为(  )
A.顺序结构      B.判断结构
C.选择结构
D.以上都不对
解析:由选择结构的特点可知.
答案:C
   
(第1题图)          (第2题图)
2.阅读如图所示的程序框图,若输出S的值为-7,则判断框内可填写(  )
A.i<3
B.i<4
C.i<5
D.i<6
解析:各次循环的结果如下表所示:
初始值
第一次循环
第二次循环
第三次循环
S
2
1
-2
-7
i
1
3
5
7
当S=-7时,i=7,要结束循环,判断框内可填写条件“i<6”.
答案:D
3.关于算法框图的图形符号的理解,正确的有________.
①任何一个算法框图都必须有起止框;
②输入框只能放在开始框之后,输出框只能放在结束框前;
③判断框是唯一具有超过一个退出点的图形符号;
④对于一个程序来说,判断框内的条件是唯一的.
解析:输入框可以放在需要输入的任何地方,所以②错;判断框内的条件不一定是唯一的,所以④错.
答案:①③
4.阅读如图所示的程序框图,回答问题:若a=50.6,b=0.65,c=log0.55,则输出的数是a,b,c中的________.
解析:因为50.6>1,0<0.65<1,log0.55<0,所以三个数中a最大,故应填a.
答案:a
PAGE2.2 变量与赋值
考 纲 定 位
重 难 突 破
1.掌握赋值语句的概念及表示形式.2.会用变量和赋值语句将具体问题的框图转化为算法语句.3.体会变量与赋值语句在算法中的重要作用.
重点:赋值语句的概念及表示形式.
难点:赋值语句的理解及灵活应用.
授课提示:对应学生用书第28页
[自主梳理]
变量与赋值的定义与作用
[双基自测]
1.下列关于赋值语句需要注意的事项的叙述中,不正确的是(  )
A.赋值号左边只能是变量名字,不能是表达式
B.赋值号左右不能对换
C.不能利用赋值语句进行代数式计算
D.赋值号与数学中的等号的意义相同
解析:赋值号的功能是把右边的变量的值赋给左边的变量,与数学中的等号意义不同.
答案:D
2.算法框图中“M=M+1”表示(  )
A.变量M与M+1相等
B.0=1
C.无意义
D.变量M增加1后,仍用变量M表示
解析:由赋值号的含义知D正确.
答案:D
3.下列关于赋值语句的说法错误的是(  )
A.赋值语句先计算出赋值号右边的表达式的值
B.赋值语句是把左边变量的值赋给赋值号右边的表达式
C.赋值语句是把右边表达式的值赋给赋值号左边的变量
D.赋值语句中的“=”和数学中的“=”不完全一样
解析:赋值语句的作用是把右边表达式的值赋给赋值号左边的变量.
答案:B
授课提示:对应学生用书第28页
探究一 赋值语句的格式
[典例1] 判断以下给出的赋值语句是否正确,为什么?
(1)赋值语句3=B;
(2)赋值语句x+y=0;
(3)赋值语句A=B=-2;
(4)赋值语句T=T
T.
[解析] (1)不正确,赋值语句中“=”号左边需为变量名;
(2)不正确,不能给一个表达式赋值;
(3)不正确,一个赋值语句只能给一个变量赋值;
(4)正确,该语句的功能是将当前T的值平方后再赋给变量T.
(1)赋值语句中的“=”是赋值号,其作用是将它右边的一个确定值赋给左边的一个变量,执行时先计算“=”右边的值,再将该值赋给左边的变量,因此,赋值语句具有计算和赋值双重功能.但不能利用赋值语句进行代数式的演算(如变形、化简、因式分解、解方程等),在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.
(2)一个赋值语句只能给一个变量赋值,如A=B=C=3是错误的.
1.下列给出的赋值语句中正确的是(  )
A.4=M 
B.
M=-M 
C.B=A=3 
D.x+y=0
解析:赋值语句是将“=”右边的表达式的值赋给“=”左边的变量,所以A,D错;赋值语句中只能给一个变量赋值,不能出现两个或两个以上的“=”,因此C错.
答案:B
探究二 赋值语句的算法功能
[典例2] 写出下列语句描述的算法的输出结果:
(1)a=5;    (2)a=1;
b=3;
b=2;
c=;
c=a-b;
d=c2;
b=a+c-b;
输出d.
输出a,b,c.
[解析] (1)∵c===4,
∴c2=42=16,即d=16.
∴该语句输出结果为16.
(2)∵c=1-2=-1,b=a+c-b=1-1-2=-2,
∴a=1,b=-2,c=-1.
∴该语句输出结果为:1,-2,-1.
在解决与赋值语句有关的题目时,一定要明确赋值语句的作用,尤其是涉及对变量多次赋值时,应以最后一次赋值为最后输出值.
2.写出下列语句描述的算法的输出结果.
a=10;
b=20;
c=30;
a=b;
b=c;
c=a;
输出a,b,c.
解析:由a=b及b=20知a=20,
又b=c及c=30知b=30,c=a及a=20知c=20,
∴a=20,b=30,c=20.
探究三 赋值语句的实际应用
[典例3] 已知某生某三科的成绩分别为80分、75分、95分,画出求这三科成绩的总分及平均分的算法框图.
[解析] 算法框图如图:
对于实际问题,要抓住运算的实质,即建立求解问题的函数模型.如本例实际上就是一个累加运算,解答本例要注意确定好变量并逐次赋值.
3.孙明的父亲开店卖作业本,大作文本每本0.8元,大演草本也是每本0.8元,笔记本是每本0.6元,方格本每本0.3元,请你帮助孙明的父亲设计一个收费算法框图.
解析:设卖出的各种作业本的数量分别为a1,a2,a3,a4,算法框图如图所示.
算法中的函数与方程思想
[典例] 如图所示的程序框图,当输入的x的值为0和4时,输出的值相等,根据该图和下列各小题的条件回答下面几个问题.
(1)该程序框图解决的是一个什么问题?
(2)当输入的x的值为3时,输出的f(x)的值为多大?
(3)要想使输出的值最大,输入的x的值应为多大?
(4)按照这个程序框图输出f(x)的值,当x的值大于2时,x值大的输出的f(x)值反而小,为什么?
(5)要想使输出的值等于3,输入的x的值应为多大?
(6)要想使输入的值与输出的值相等,输入的x的值应为多大?
[解析] (1)该程序框图解决的是求二次函数f(x)=-x2+mx的函数值的问题.
(2)当输入的x的值为0和4时,输出的值相等,
即f(0)=f(4).
因为f(0)=0,f(4)=-16+4m,
所以-16+4m=0,
所以m=4,所以f(x)=-x2+4x.
因为f(3)=-32+4×3=3,
所以当输入的x的值为3时,输出的f(x)的值为3.
(3)因为f(x)=-x2+4x=-(x-2)2+4,
当x=2时,f(x)max=4,
所以要想使输出的值最大,输入的x的值应为2.
(4)因为f(x)=-(x-2)2+4,
所以函数f(x)在[2,+∞)上是减函数.
所以在[2,+∞)上x值大的对应的函数值反而小,从而当输入的x的值大于2时,x值大的输出的f(x)值反而小.
(5)令f(x)=-x2+4x=3,解得x=1或x=3,
所以要想使输出的值等于3,
输入的x的值应为1或3.
(6)由f(x)=x,即-x2+4x=x,得x=0或x=3,所以要想使输入的值和输出的值相等,输入的x的值应为0或3.
[感悟提高] (1)本题涉及了一元二次方程与二次函数的问题,由解方程的思想确定字母的取值,同时根据二次函数的单调性研究函数值的大小,二次函数的单调性看开口方向和对称轴.
(2)本题在求解过程中用到了方程及函数的思想,同时要读懂程序框图的含义.
[随堂训练] 对应学生用书第30页
1.对赋值语句的描述正确的是(  )
①可以给变量提供初值
②将表达式的值赋给变量;
③不能给同一个变量重复赋值;
④可以给同一个变量重复赋值.
A.①②③       B.①②
C.②③④
D.①②④
解析:赋值语句可以给变量提供初值,故①正确;赋值语句是将表达式的值赋给变量,故②正确;赋值语句可以给同一个变量重复赋值,故③错误;④正确.故选D.
答案:D
2.如图所示的算法框图输出的结果为(  )
A.2,5        B.4,5
C.11,5
D.7,5
解析:执行顺序如下:a=2,b=5,c=a+b=7,a=c+4=11,所以输出a=11,b=5.
答案:C
3.某粮库3月4日存粮50
000
kg,3月5日调进30
000
kg,3月6日调出全部存粮的二分之一,编写一个算法计算存粮调出后剩余的库存数,并画出算法框图.
解析:粮库的库存是
逐日变化的,可以设置一个变量存放每天的库存数,我们只设一个变量a,每次将当天的库存统计好存入变量里,然后输出变量当前值,来说明当天的库存.算法设计如下,算法框图如图.
(1)输入a=50
000(3月4日库存数);
(2)输出a;
(3)a=a+30
000(3月5日库存数);
(4)输出a;
(5)a=(3月6日库存数);
(6)输出a.
PAGE2.3 循环结构
考 纲 定 位
重 难 突 破
1.掌握循环结构的有关概念.2.理解循环结构的两个基本模式,会用循环结构描述算法.3.体会循环结构在重复计算中的重要作用.
重点:用框图表示算法的循环结构.
难点:利用循环结构解决实际问题.
授课提示:对应学生用书第30页
[自主梳理]
1.循环结构的概念
如图所示框图:
其中第①部分是赋予循环变量初始值,预示循环开始,
第②部分称为循环体,反复执行.
第③部分判断是否继续执行循环体,称为循环的终止条件.
变量n控制着循环的开始和结束,称为循环变量.
2.循环结构的设计过程
设计循环结构之前需要确定的三件事:
(1)确定循环变量和初始条件.
(2)确定算法中反复执行的部分,即循环体.
(3)确定循环的终止条件.
循环结构的算法框图的基本模式,如图所示.
[双基自测]
1.根据指定条件决定是否重复执行一条或多条指令的控制结构称为(  )
A.选择结构     
B.循环结构
C.递归结构
D.顺序结构
解析:考查各种结构的特征.
答案:B
2.以下说法不正确的是(  )
A.顺序结构是由若干个依次执行的处理步骤组成的,每一个算法都离不开顺序结构
B.循环结构是在一些算法中从某处开始按照一定的条件,反复执行某些处理步骤,故循环结构一定包含条件结构
C.循环结构不一定包含选择结构
D.用算法框图表示的算法更形象、直观,容易理解
解析:循环结构中要对是否循环进行判断,所以一定包含选择结构.
答案:C
3.执行如图所示的程序框图,输出的S值为(  )
A.1
B.3
C.7
D.15
解析:由程序框图知,算法的功能是求S=1+21+22+…+2k的值.∵跳出循环体的k值为3,∴输出S=1+2+4=7.故选C.
答案:C
授课提示:对应学生用书第31页
探究一 利用循环结构解决累加、累乘问题
[典例1] 设计算法求+++…+的值,要求画出算法框图.
[解析] 算法如下:
1.S=0;
2.i=1;
3.S=S+;
4.i=i+2;
5.如果i>51,执行第6步;否则,返回重新执行第3步和第4步;
6.输出S.
算法框图如图所示:
对于加数众多,不易采用逐一相加的方法处理的问题,常通过循环结构解决,方法是引用两个变量i和S,其中i一般称为计数变量,用来计算和控制运算次数,S称为累积变量,它表示所求得的和或积,它是不断地将前一个结果与新数相加或相乘得到的,这两个变量的表示形式一般为i=i+m(m为每次增加的数值)和S=S+A(A为所加的数)或S=S
A(A为所乘的数).
1.设计一个算法,求13+23+…+993+1003的值,并画出算法框图.
解析:算法如下:
第一步,使S=0.
第二步,使i=1.
第三步,使S=S+i3.
第四步,使i=i+1.
第五步,若i≤100,则返回第三步;否则,输出S,算法结束.
算法框图如图所示:
探究二 循环变量的最值问题
[典例2] 写出一个求满足1×3×5×7×…×n>50
000的最小正整数n的算法,并画出相应的算法框图.
[解析] 算法如下:
1.S=1;
2.i=3;
3.若S≤50
000,那么S=S
i,i=i+2,重复第三步,否则执行下一步;
4.i=i-2;
5.输出i.
算法框图如图所示:
解决循环变量最值的步骤:
(1)根据题目条件写出算法并画出相应的框图.
(2)依据框图确定循环结束时,循环变量的取值.
(3)得出结论.
2.写出求1+2+3+…+n>20
000的最小正整数n的算法,并画出相应的算法框图.
解析:算法为:第一步,令n=0,S=0.
第二步,n=n+1.
第三步,S=S+n.
第四步,如果S>20
000,则输出n;否则,执行第二步.
该算法的算法框图如图所示:
探究三 循环结构在实际问题中的应用
[典例3] 给出某班50名学生的数学测试成绩,60分及60分以上的为及格,要求统计及格人数、及格人数的平均分、全班同学的平均分,画出框图,并用语句描述该算法.
[解析] 框图如图:
用语句描述为:
M=0
i=1
S=0
T=0
Do
输入 x;
If x≥60 Then
S=S+x
M=M+1
End If
T=T+x
i=i+1
Loop While i≤50
P=S/M
T=T/50
输出M,P,T.
解决此类问题的关键是读懂题目,建立合适的模型,找到解决问题的计算公式.
3.在电脑游戏中,“主角”的生命机会往往被预先设定.如某枪战游戏中,主角被设置生命5次,每次生命承受射击8次(被击中8次失去一次生命机会),假设射击为单发射击,试为“主角”耗用生命机会的过程设计一个算法框图.
解析:循环变量为“主角”的中枪数i,初始数为0,每被击中一枪,增加1.
循环体为“主角”中枪.
循环结束条件为“主角”所有生命机会共能承受40枪(第40枪被击中则游戏结束),算法框图如图.
弄错循环次数致误
[典例] 执行如图所示的程序框图,则输出的k的值是(  )
A.3    
B.4    
C.5    
D.6
[解析] 第一次运行得s=1+(1-1)2=1,k=2;第二次运行得s=1+(2-1)2=2,k=3;第三次运行得s=2+(3-1)2=6,k=4;第四次运行得s=6+(4-1)2=15,k=5;第五次运行得s=15+(5-1)2=31,满足条件,终止循环,所以输出的k的值是5.
[答案] C
[错因与防范] (1)本题易错选B或D,错因是循环条件弄错,多计一次或者少计一次而得到错误结果.
(2)解决程序框图问题要注意的三个常用变量:
①计数变量:用来记录某个事件发生的次数,如i=i+1.
②累加变量:用来计算数据之和,如S=S+i;
③累乘变量:用来计算数据之积,如p=p×i.
(3)使用循环结构寻数时,要明确数字的结构特征,决定循环的终止条件与数的结构特征的关系及循环次数.尤其是统计数时,注意要统计的数的出现次数与循环次数的区别.
[随堂训练] 对应学生用书第32页
1.阅读如图所示的算法框图,如果输出i=4,那么空白的判断框中应填入的条件是(  )
A.S<8      
B.S<9
C.S<11
D.S<10
解析:根据算法框图,i=2,S=2×2+1=5,不满足条件;i=3,S=2×3+2=8,不满足条件;i=4,S=2×4+1=9,此时输出i=4,所以填S<9.
答案:B
2.如图所示的算法框图输出的结果是________.
解析:当a=5时,S=1×5=5;
当a=4时,S=5×4=20;
当a=3时,不满足条件a≥4,跳出循环,
此时程序结束,故输出S=20.
答案:20
3.设计一个算法,求1+2+4+…+249的值,并画出算法框图.
解析:算法步骤:
第一步,令i=0,S=0.
第二步,令S=S+2i.
第三步,i=i+1.
第四步:判断i是否大于49,若成立,则输出S,结束算法;否则返回第二步重新执行.
程序框图如图所示.
PAGE3 几种基本语句
3.1 条件语句
考 纲 定 位
重 难 突 破
1.掌握条件语句的含义、格式.2.会利用条件语句将具体问题的框图转化为算法语句.3.会利用条件语句解决实际生活中的应用问题.
重点:条件语句的含义与格式.
难点:条件语句的应用.
授课提示:对应学生用书第33页
[自主梳理]
1.条件语句
条件语句是表示选择最常用的语句.
2.两种条件语句的算法框图及格式
If语句
复合If语句
算法框图
语句格式
If
条件
Then 语句1Else 语句2End
If
If
条件1
Then语句1ElseIf
条件2
Then 语句2Else  语句3End
IfEnd
If
[双基自测]
1.如图所示的程序框图应用什么语句来表达(  )
A.赋值语句      B.条件语句
C.输入语句
D.输出语句
解析:条件结构用条件语句来表达.
答案:B
2.条件语句的一般格式是
If A Then
B
Else
C
End
If
其中B表示的是(  )
A.满足条件A时执行的内容
B.条件语句
C.条件
D.不满足条件A时执行的内容
解析:格式中A表示条件,Then后面的B表示满足条件A时执行的内容,Else后面的C表示不满足条件A时执行的内容.
答案:A
3.当a=3时,下面的程序段输出的结果是(  )
输入a
If a<10 Then
y=2
a
Else
y=a
a
End
If
A.9
B.3
C.10
D.6
解析:∵a=3<10,∴y=2×3=6.
答案:D
授课提示:对应学生用书第33页
探究一 简单条件语句的应用
[典例1] 设计计算y=函数值的算法,并用相应的算法语句加以描述.
[解析] 算法如下:
1.输入x.
2.如果x≥0,则y=x+2;否则,执行第3步.
3.y=x2+2.
用算法语句描述为:
输入x;
If
 x≥0 Then
y=x+2
Else
y=x
x+2
End If
输出y.
使用条件语句应注意的问题:
(1)条件语句是一个整体,If,Then,Else,End
If都是“语句”的一部分,且If,End
If必须成对出现.
(2)Then和Else后不能直接跟语句,必须放到下一行,Else单独成行.
1.编写程序,输出两个不相等的实数a,b中的较大数,并画出程序框图.
解析:程序框图如图所示:
程序如下:
INPUT “a,b=”;a,bIF b>a THENa=bEND
IFPRINT aEND
探究二 复合If语句的应用
[典例2] 给出一个算法:
1.输入x;
2.若x<0,则y=x+1;否则执行第3步;
3.若x=0,则y=0;否则y=x;
4.输出y.
(1)指出该算法的功能;
(2)将该算法用框图表示出来;
(3)用基本语句写出该算法.
[解析] (1)该算法的功能是利用给出的x的值,求函数y=的值.
(2)框图如图所示:
(3)用基本语句描述为:
输入x;
If x<0 Then
 
y=x+1
Else
If  x=0 Then
 
 y=0
Else
 
 y=x
End
If
End
If
输出y.
1.当判断条件多于一个时,若重复应用条件语句,书写程序繁琐,可利用复合If语句书写.
2.在编写复合If语句中的“条件”时,要注意If和End
If的配对.
3.理解复合If语句时,要分清内层条件语句与外层条件语句,内层的条件结构是外层条件结构的一个分支.
2.已知程序:
INPUT “x=”;xIF x<-1 THENy=4
x-1ELSEIF x>=-1 AND x<=1 THENy=-5 ELSEy=-4
x-1 END
IFEND
IFPRINT yEND
说明其功能并画出程序框图.
解析:根据已知程序画出程序框图,如图所示.
其功能为求函数y=的值.
探究三 条件语句的实际应用
[典例3] 如图所示,在边长为16的正方形ABCD的边上有一动点P,点P沿边线由B→C→D→A(B为起点,A为终点)运动.若设P运动的路程为x,△APB的面积为y,试用基本语句描述一个算法,根据输入的x值,输出相应的y值.
[解析] 用基本语句描述的算法如下:
输入x;
If x≤0 OR x≥48 Then
输出“输入有误”
Else
If 0 
y=8
x
Else
 
If 
x≤32 Then
   
y=128
 
Else
   
y=8
(48-x)
 
End
If
End
If
End
If
输出y.
编写程序解决实际问题时,通常先建立数学模型,再根据所得数学模型确定算法分析和算法框图,最后再将算法框图转化为程序语句.需要分类讨论的问题,通常用条件语句来解决.
3.某市电力公司为了鼓励居民用电,采用分段计费的方法计算电费:每月用电不超过100度时,按每度0.57元计算;每月用电超过100度时,其中的100度仍按原标准收费,超过部分每度按0.50元计算.问:如何设计一个计算应交电费的算法?画出该算法的框图,并用算法语句描述此算法.
解析:设月用电x度时,应交电费y元,当x≤100和>100
时,写出y关于x的函数关系式为:
y=
算法框图如图所示:
用算法语句描述为:
输入x;
If x>100 Then
y=57+0.5
(x-100)
Else
y=0.57
x
End
If
输出y.
条件语句的叠加
[典例] (本题满分12分)已知a,b,c三个实数,设计一个程序,筛选出其中的全部负数.
[规范解答] 算法语句如下:
输入a,b,c;
If a<0 Then①
输出a.………………………………………………………………………………3分
End
If
If b<0 Then
输出b.
………………………………………………………………………………6分
End
If
If c<0 Then
输出c.
………………………………………………………………………………9分
End
If
If a≥0
And
b≥0
And
c≥0 Then
输出“无负数”.②
End
If1………………………………………………………………………………2分
[规范与警示] (1)①对a,b,c逐个判断,关键点;
②此种情况不可遗漏,失分点.
(2)算法中需要判断情况、分类执行时,如判断一个数的正负、比较两个数的大小、求分段函数的函数值等,都需要用到条件语句.
(3)条件语句是一个整体,If,Then,Else,End
If都是语句的一部分,且“If,End
If”必须成对出现.
[随堂训练] 对应学生用书第35页
1.条件语句中If的作用是(  )
A.判断表达式真假   B.执行表达式
C.表示表达式为真
D.表示表达式为假
解析:条件语句中If的作用是判断表达式真假.
答案:A
2.对于程序:
INPUT “a=”;aIF a>0 THEN a=2
a+3END IFb=-aPRINT bEND
若输入a=4,则输出的结果为(  )
A.11
B.-11
C.11或-11
D.4
解析:∵a=4>0,∴a=2×4+3=11,b=-a=-11.
答案:B
3.阅读以下程序:
INPUT xIF x>0 THENy=3
x+1ELSEy=-2
x+3END IFPRINT yEND
若输入x=5,则输出的y=________.
解析:运行程序,输入x=5,满足条件x>0,y=3×5+1=16,则输出y的值为16.
答案:16
4.儿童乘坐火车时,若身高不超过1.1
m,则不需要买票;若身高超过1.1
m但不超过1.4
m,则需买半票;若身高超过1.4
m,则需买全票,试设计一个买票的算法,并画出相应的程序框图及用If语句描述该算法.
解析:是否买票,买何种票,都是以身高作为条件进行判断的,此处形成条件结构嵌套.程序框图如图所示:
用If语句可以描述为:
输入身高h;
If h≤1.1 Then
输出“免票”
 Else
 If h≤1.4 Then
 输出“买半票”
 Else
 输出“买全票”
End
If
End
If
PAGE3.2 循环语句
考 纲 定 位
重 难 突 破
1.理解两种结构的循环语句——For语句和Do
Loop语句.2.掌握两种循环语句的一般形式并会应用.3.通过具体实例使学生明确两种循环语句的区别和联系.
重点:循环语句的格式和功能.
难点:循环次数的确定.
授课提示:对应学生用书第35页
[自主梳理]
循环语句的两种形式
适用范围
一般形式
For语句
For语句是表达循环结构最常见的语句之一,它适用于预先知道循环次数的循环结构.
For循环变量=初始值To终值循环体Next
Do
Loop语句
在一些循环结构中,预先不知道循环的次数,要根据其他形式的终止条件停止循环,在这种情况下,一般用Do__Loop语句来描述.
Do循环体Loop
While条件为真
[双基自测]
1.下列问题可以设计成循环语句计算的个数为(  )
①求1+3+32+…+39的和;
②交换a,b两个数的值;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0          B.1
C.2
D.3
解析:①和④用到循环语句,②用到输入、输出及赋值语句,③用到条件语句.
答案:C
2.下列说法正确的是(  )
A.在程序中,程序执行的顺序是按照语句排列的顺序执行的
B.条件语句就是满足条件就执行,不满足条件就不执行
C.循环语句是框图中循环结构的实现
D.循环结构不可以嵌套
解析:考查条件语句、循环语句的特点.
答案:C
3.下列关于For循环的说法错误的是(  )
A.在For循环中,循环表达式也称为循环体
B.在For循环中,步长为1,可以省略不写;若为其他值,则不可省略
C.理解For循环关键是理解为循环变量设定初值、步长、终值
D.在For循环中,“End”控制结束一次循环,开始一次新的循环
解析:根据For语句的格式与功能可知D错误.
答案:D
授课提示:对应学生用书第36页
探究一 For语句的应用
[典例1] 画出求1+++…+的值的算法框图,并用For语句描述该算法.
[解析] 算法框图为:
用For语句描述算法为:
S=0
For
i=1
To
1
000
S=S+1/i
Next
输出S.
使用For语句描述算法的一般步骤:
(1)确定循环次数,即确定循环变量的初始值和终值;
(2)把反复要做的工作,作为循环体放在For与Next之间;
(3)输出结果.
1.设计一个计算1++++…+的算法,并画出算法框图并用For语句描述该算法.
解析:原式=1++++…+,计数变量在指数位置上,累积变量与计数变量的初始值都可看作1,利用循环结构设计算法.
算法如下:
(1)S=1;
(2)i=1;
(3)S=S+;
(4)i=i+1;
(5)如果i≤20,则返回(3),重新执行(3)、(4)、(5),否则输出S.
相应算法框图及语句如下:
S=1
For
i=1
To
20
S=S+1/(3i)
Next
输出 S     
探究二 Do
Loop语句的应用
[典例2] 画出求满足1+3+5+…+n>2
011的最小自然数n的算法框图,并用相应的算法语句描述该算法.
[解析] 算法框图如图:
用Do
Loop语句描述为:
S=0
i=1
Do
S=S+i
i=i+2
Loop
While S≤2
011
输出i-2.
(1)Do
Loop语句至少执行一次循环体.
(2)Do
Loop语句可以不知道循环次数,但需要知道循环终止的条件.
(3)循环终止条件为假时终止循环,否则继续执行循环体.
2.求平方值小于1
000的最大整数,画出算法框图,并用Do
Loop语句描述这个算法.
解析:算法框图如图所示:
用Do
Loop语句描述算法为:
i=1
Do
S=i
i
i=i+1
Loop
While
S<1
000
i=i-2
输出i.
探究三 循环语句的综合应用
[典例3] 某高中男子体育小组的100
m赛跑的成绩(单位:s)如下:
12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7.
从这些成绩中搜索出小于12.1
s的成绩,画出算法框图,并用相应的算法语句描述该算法.
[解析] 算法框图为:
用算法语句描述如下:
For i=1 To 10
输入Gi
If Gi<12.1 Then
输出Gi
End
If
i=i+1
Next
解决此类问题应首先分析题意,构建数学模型,再将数学问题的求解过程步骤化、程序化.
3.某次对55个产品进行检验,测得55个质量数据不超过100克,请你用基本语句描述一个算法,用来统计质量在95~100克,90~94克以及小于90克产品的数量.
解析:用基本语句描述算法如下:
i=1
m=0
n=0
l=0
Do
输入S;
If S≥95 Then
 m=m+1
Else
 If S≥90 Then
   
n=n+1
 Else
   
l=l+1
 End
If
End
If
i=i+1
Loop
While i≤55
输出m,n,l.
因循环中的控制条件理解错误致误
[典例] 设计计算+++…+的值的算法语句.
[解析] 算法语句如下:
S=0
For i=1
To
18
m=
S=S+m
Next
输出S.
[错因与防范] (1)易出现For i=1
To
19(或To
17)共循环19次或17次造成结果错误.
(2)循环语句中的控制条件决定了循环次数,直接影响输出结果,这一点务必注意.
[随堂训练] 对应学生用书第37页
1.下列程序中的For语句终止循环时,S等于(  )
S=0
For M=1
To
10
S=S+M
Next
输出S
A.1    
B.5    
C.10    
D.55
解析:S=1+2+3+…+10=55.
答案:D
2.当x=2时,下面程序运行后输出的结果是(  )
输入x;
i=1
S=0
Do
S=S
x+1
i=i+1
Loop
While i≤4
输出S.
A.3
B.7
C.15
D.17
解析:0×2+1=1,1×2+1=3,3×2+1=7,7×2+1=15,
当i=5时,跳出循环体,即输出的S的值为15.
答案:C
3.以下程序
s=0
For x=-1 To 11
s=x2
Next
输出s
该程序输出结果是(  )
A.-1   
B.11   
C.100   
D.121
解析:该程序的执行过程为:
s=0,x=-1,s=(-1)×(-1)=1;x=0,s=0×0=0;x=1,s=1×1=1;…;x=11,s=11×11=121,
输出121.
答案:D
4.运行下面的语句,输出的值为________.
S=0
i=1
Do
S=S+i
i=i+1
Loop
While
S<18
输出i
解析:执行过程:
S=0,i=1;S=0+1=1,i=2;S=1+2=3,i=2+1=3;S=3+3=6,i=3+1=4;S=6+4=10,i=4+1=5;S=10+5=15,i=5+1=6;S=15+6=21,i=6+1=7;S=21<18,所以输出i=7.
答案:7
PAGE