(共26张PPT)
§1 算法的基本思想
1.算法的概念
算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用计算机帮助完成的.
【做一做1】 算法指的是( )
A.解决某一个具体问题的一系列步骤
B.数学问题的解题过程
C.解决某一类问题的一系列步骤
D.计算机程序
答案:C
2.算法的基本思想
在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.这种描述反映了算法的基本思想.
【做一做2】 关于一元二次方程x2-5x+6=0的求根问题,下列说法正确的是( )
A.只能设计一种算法
B.可以设计两种算法
C.不能设计算法
D.不能根据解题过程设计算法
解析:算法具有不唯一性,对于一个问题,我们可以设计不同的算法.
答案:B
3.算法的设计
(1)设计算法的基本步骤:
①认真分析问题,找出解决此类问题的一般数学方法;
②借助有关的变量或参数对算法加以表述;
③将解决问题的过程划分为若干步骤;
④用简练的语言将各个步骤表示出来.
(2)设计算法的基本要求:
①写出的算法必须能解决一类问题,并且能够重复使用;
②要使算法尽量简单,步骤尽量少;
③要保证算法正确,且计算机能够执行.
【做一做3】 给出下面一个算法:
1.给出三个数x,y,z.
2.计算M=x+y+z.
3.计算
4.得出每次计算结果.
则上述算法解决的是( )
A.求和问题 B.求余数问题
C.求平均数问题 D.先求和再求平均数问题
答案:D
思考辨析
判断下列说法是否正确,正确的在后面的括号里画“√”,错误的画“×”.
(1)只有数学问题才有算法. ( )
(2)算法只能用自然语言来描述. ( )
(3)同一个问题可以有不同的算法. ( )
(4)同一个问题的算法不同,结果必然不同. ( )
答案:(1)× (2)× (3)√ (4)×
探究一
探究二
探究三
思维辨析
当堂检测
对算法的理解
【例1】 (1)下列关于算法的描述正确的是( )
A.算法只能解决数学问题
B.算法执行后可以产生不同的结论
C.解决某一个具体问题,算法不同所得的结果不同
D.算法执行步骤的次数不可以很大,否则无法实施
(2)下列选项中,描述的不是算法的是( )
A.从芜湖到北京旅游,先坐汽车到南京,再坐动车抵达北京
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-1=0有两个实根
D.求1+2+3+4的值,先计算1+2=3,再计算3+3=6,6+4=10,最终结果为10
探究一
探究二
探究三
思维辨析
当堂检测
解析:(2)根据算法的概念、基本特征进行判断.
选项A,B,D都描述了解决问题的方法与步骤,可以看作是算法,而选项C只是陈述了一个事实,没说明怎么解决问题,故不是算法.
答案:(1)B (2)C
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟算法的特征
判断语句描述的是不是算法,关键看其是否满足和符合算法的基本特征,也就是算法要满足如下特征.
(1)确定性:算法中每一步都是确定的,并能有效地执行且得到最终确定的结果,也就是说其各个步骤的本质和次序均被明确、清楚地加以描述.对于相同的输入,只能得出相同的输出;
(2)有限性:对于一个算法来说,它的操作步骤必须是有限的,必须在有限的步骤之内解决问题;
(3)普遍性:一个算法通常能解决一类问题,可以多次重复使用,而不是仅仅解决一个单独的问题;
(4)不唯一性:由于解决一个问题的方法不一定是唯一的,因此解决一个问题时可设计不同的算法;
(5)输入与输出性:每一个算法都要根据输入的初始数据或给定的初始值才能正确执行它的后续步骤.利用算法解决问题时,一定有一个或多个结果输出,以达到求解问题的目的.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练1下面的结论正确的是( )
A.一个程序的算法步骤是可逆的
B.一个算法可以无止境地运算下去
C.完成一件事情的算法有且只有一种
D.设计算法要本着简单方便的原则
解析:选项A不正确,算法只需要每一步都可以顺序进行,并且结果唯一,不能保证可逆.选项B不正确,一个算法必须在有限步内完成,不然就不符合算法的有限性.选项C不正确,一般情况下,一个问题的解决办法不止一个.选项D正确,设计算法要尽量使程序运算简单,节约时间,故选D.
答案:D
探究一
探究二
探究三
思维辨析
当堂检测
数值性问题的算法设计
【例2】 设计一个算法,用该算法判断直线Ax+By+C=0与圆(x-x0)2+(y-y0)2=r2的位置关系.
分析:利用点到直线的距离公式,求出圆心到直线的距离,再与半径比较大小,确定所求的位置关系.
解:算法步骤如下:
1.输入圆心坐标(x0,y0),直线方程的系数A,B,C和半径r;
2.计算z1=Ax0+By0+C;
5.若d>r,则输出“相离”;若d=r,则输出“相切”;若d探究一
探究二
探究三
思维辨析
当堂检测
反思感悟1.数值性问题主要是指以数值计算、数据处理为主的问题,它通常需要借助数学中相关的公式或定理解决问题.
2.对于数值性算法,一般包括数据说明步骤(输入的信息、输出的结论)、数据处理步骤(计算、赋值)、逻辑判断步骤(真假判断)、重复步骤(循环特征),关键是先把解决问题的方法理清楚,再用算法语言按先后的逻辑关系表示即可.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练2设计一个求1×3×5×7×9×11值的算法,用p表示被乘数,i表示乘数.
解:算法步骤如下:
1.使p=1.
2.使i=3.
3.使p=p×i.
4.使i=i+2.
5.若i≤11,则返回到第3步继续执行;
否则输出p.
探究一
探究二
探究三
思维辨析
当堂检测
非数值计算性问题的算法设计
【例3】设计一个算法,能够在任意的3个整数a,b,c中求出最小值.
分析:可以有两种方法,一种是先比较a与b的大小,找到较小者,再将较小者与c比较大小,找到较小者,即得三个数中的最小值;另一种方法是先记a为最小数min,再依次将min与b,c比较,确定出最小值.
探究一
探究二
探究三
思维辨析
当堂检测
解法一算法步骤如下:
1.比较a与b的大小;
2.若a3.若a4.若b解法二算法步骤如下:
1.记三个数中的最小数为min,将a的值记为min;
2.若b3.若c4.输出min的值.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟1.非数值计算性问题主要是指排序、查找最值、变量的交换、文字处理等问题,求解此类问题需建立过程模型,也就是找到解决问题的方案,再把它细化成一步接一步的算法.
2.本例中求最小数的方法采用了筛选的方法,筛选过程中每一步都是比较两个数的大小,保证了筛选的可行性,这一方法也可用来求若干个数中的最大数或最小数等问题.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练3有两个杯子A,B分别盛放酒和水,要求将两个杯子中的液体互换,请设计一个算法.
解:算法步骤如下:
1.取一个空杯子C.
2.将A杯的酒倒在C杯内.
3.将B杯的水倒在A杯内.
4.将C杯的酒倒在B杯内.
探究一
探究二
探究三
思维辨析
当堂检测
对算法的含义及特征理解不到位而致误
【典例】 计算下列各式中S的值,能设计算法求解的是( )
A.①② B.①③ C.②③ D.①②③
错解D
正解在实际算法中n的值是具体确定的,算法会根据具体确定的n的值来求值计算,所以①③是正确的,而算法的步骤是有限的,即执行有限步骤后一定能解决问题,而②显然不符合有限性,所以②不正确.故选B.
探究一
探究二
探究三
思维辨析
当堂检测
纠错心得本例产生错误的根本原因是对算法的含义不理解,不明确算法的相关特征,特别是忽略了算法的有限性.因此在制定一个问题能否设计合理算法时,要弄清算法需要满足的基本特征.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练下列语句是算法的有( )
①从济南到巴黎,可以先乘动车到北京,再坐飞机抵达巴黎;
②利用公式S= ah,计算底为1、高为2的三角形的面积;
③ x>2x+4;
④求M(1,2)与N(-3,-5)两点连线所在直线的方程,可先求直线MN的斜率,再利用点斜式求得方程.
A.1个 B.2个 C.3个 D.4个
解析:解答本题的关键是准确把握算法的概念,然后对每个表述逐一判断得出结论.③是一个数学表达式,不是解决问题的操作步骤,①②④都是算法.
答案:C
探究一
探究二
探究三
思维辨析
当堂检测
1.下列不能看成算法的是( )
A.洗衣机的使用说明书
B.烹制红烧肉的菜谱
C.从山东济南乘火车到北京,再从北京乘飞机到伦敦
D.小明不会洗衣服
解析:只要按照步骤完成某一项任务就是一个算法,很明显A,B,C都是按照步骤完成某项任务的,而D中仅仅说明了一个事实,不是算法.
答案:D
探究一
探究二
探究三
思维辨析
当堂检测
2.对于算法:
1.输入n;
2.判断n是否等于2,若n=2,则n满足条件;若n>2,则执行下一步;
3.依次从2到(n-1)检验能不能整除n,若不能整除n,则执行下一步;若能整除n,则返回第1步;
4.输出n.
满足条件的n是( )
A.质数 B.奇数 C.偶数 D.约数
答案:A
探究一
探究二
探究三
思维辨析
当堂检测
3.已知一名学生的语文成绩为89分,数学成绩为96分,外语成绩为99分,求他的总分D和平均成绩E的一个算法为:
第一步,取A=89,B=96,C=99.
第二步, .
第三步, .
第四步,输出D,E.
解析:要计算平均分,应先计算出三科的总分.第二步应为:计算总分D=A+B+C.第三步应为:计算平均成绩 .
答案:计算总分D=A+B+C 计算平均成绩
探究一
探究二
探究三
思维辨析
当堂检测
4.给出下列问题:①用二分法求方程x2-5=0的近似正根;②给出圆的半径为4,求圆的周长;③给出直角三角形的一条直角边长和斜边长,求其面积;④找出100以内能被7整除的正整数.
其中可以设计算法实现的有 .(只填序号)
答案:①②③④
探究一
探究二
探究三
思维辨析
当堂检测
5.一个人带三只狼和三只羚羊过河,只有一条船,已知船可以容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.试设计一个安全渡河的算法.
解:算法步骤如下:
1.人带两只狼过河;
2.人自己返回;
3.人带一只狼过河;
4.人自己返回;
5.人带两只羚羊过河;
6.人带两只狼返回;
7.人带一只羚羊过河;
8.人自己返回;
9.人带两只狼过河.(共30张PPT)
2.1 顺序结构与选择结构
1.算法框图
(1)算法框图的概念
通常用一些通用的图形符号及文字说明构成一张图来表示算法,这种图形称为算法框图.
(2)算法框图的特点
算法框图可以准确、清晰、直观地表达解决问题的思路和步骤.
(3)几个基本的框图和它们各自表示的功能.
(4)算法框图的基本结构
算法框图有三种基本结构:顺序结构、选择结构和循环结构.
【做一做1】 下列关于算法框图的说法正确的是 ( )
①算法框图只有一个入口,也只有一个出口;
②算法框图中的每一部分都应有一条从入口到出口的路径通过它;
③流程线只要是从上到下方向就表示上下执行,可以不要箭头;
④连接点是用来连接两个算法框图的.
A.①②③ B.②③ C.①④ D.①②
解析:由框图符号及作用可知③④错误,流程线表示算法步骤执行的顺序,用来连接算法框图,是带箭头的直线或折线,应用时必须带箭头;连接点是连接同一个算法框图的不同部分的.
答案:D
规律总结画算法框图的规则
(1)使用标准的框图符号;
(2)框图一般按从上到下,从左到右的方向画;
(3)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;
(4)在图形符号内描述的语言要简练准确.
2.顺序结构
(1)定义:
按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.
(2)图形表示:
(3)特点:
①顺序结构是最简单的算法结构,它按自上而下的顺序依次执行,不会引起算法步骤的跳转.
②顺序结构在算法框图中的体现就是用流程线将算法框自上而下地连接起来、按顺序执行算法步骤.如图,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作.
【做一做2】 如图所示的算法框图,当输入x=2时,输出的结果是( )
A.4
B.5
C.6
D.13
答案:D
3.选择结构
(1)定义:在算法中,需要判断条件的真假,依据判断的结果决定后面的步骤,像这样的结构通常称为选择结构.
(2)图形表示:
(3)选择结构的嵌套的算法框图
【做一做3】 如图所示的算法框图,若输入-4,则输出结果为 .
答案:是负数
思考辨析
判断下列说法是否正确,正确的在后面的括号里画“√”,错误的画“×”.
(1)一个算法只能对应一个算法框图. ( )
(2)一个算法中必须同时有顺序结构和选择结构. ( )
(3)选择结构中必须要含有判断框. ( )
(4)选择结构被执行时,判断框的两个出口有且只有一个被执行,不可能两个出口同时被执行,也不可能两个出口都不被执行. ( )
答案:(1)× (2)× (3)√ (4)√
探究一
探究二
探究三
思维辨析
当堂检测
顺序结构的算法设计及算法框图
【例1】 阅读如图所示的算法框图,若输入a=10,则输出 .
解析:由算法框图知,输入a=10时,b=10-8=2,c=10-2=8,故输出的结果为8.
答案:8
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟1.顺序结构是任何一个算法都离不开的最基本、最简单的基本结构,其算法框图中不含有判断框.
2.对于套用公式求解问题往往运用顺序结构.编写顺序结构的算法,应写出公式,看公式中的条件是否满足,若不满足先求出需要的量,再将公式中涉及的量全部代入求值即可.
3.画顺序结构的算法框图时,一般按照“输入(赋值)—运算—输出”的顺序设计.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练1(2018甘肃兰州高一同步检测)如图所示,图①是计算图②中空白部分面积的一个算法框图,则“ ”处应填 .
探究一
探究二
探究三
思维辨析
当堂检测
选择结构的算法设计及算法框图
【例2】 设计输入一个数x,求分段函数 的函数值的算法框图.
分析分段函数求值,首先要判断自变量x的所在范围,然后选择对应解析式.首先写出其算法,然后利用算法框图表示相应的算法.
解算法如下:
1.输入x;
2.若x<0,则y=ex;
否则,y= ;
3.输出y.
算法框图如图所示.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟选择结构的一般模式如图①、图②所示.
(1)在图①所示的选择结构中,根据给定的条件P是否成立而选择执行A框或B框.请注意,无论条件P是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框、B框都不执行.无论走哪一条路径,在执行完A或B之后,都要脱离本选择结构.
(2)在A或B两个框中,可以有一个是空的(如图②),即不执行任何操作.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练2(1)给出以下四个问题:
①输入一个数x,输出它的相反数.
②求面积为6的正方形的周长.
③求三个数a,b,c中的最大数.
其中不需要用选择结构来描述其算法的有( )
A.1个 B.2个 C.3个 D.4个
(2)某居民区的物业部门每月向居民收取卫生费,计算方法如下:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,只需画出算法框图即可.
探究一
探究二
探究三
思维辨析
当堂检测
(1)答案:A
(2)解:依题意费用y与人数n之间的关系为
算法框图如图所示:
探究一
探究二
探究三
思维辨析
当堂检测
算法框图的应用
【例3】如图所示的算法框图,根据该图回答下面的问题:
探究一
探究二
探究三
思维辨析
当堂检测
(1)该算法框图解决的是一个什么问题
(2)当输入x的值为0和4时,输出的值相等.
①当输入x的值为3时,输出的值为多少
②要想使输出的值最大,输入x的值应为多少
③按照这个算法框图输出f(x)的值,当x的值都大于2时,x越大输出f(x)的值反而越小,为什么
④要想使输出的值等于3,输入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时,输出的值为3.
②∵f(x)=-x2+4x=-(x-2)2+4,当x=2时,f(x)max=4.
∴要想使输出的值最大,输入x的值应为2.
探究一
探究二
探究三
思维辨析
当堂检测
③∵f(x)=-(x-2)2+4,
∴函数f(x)在[2,+∞)内是减少的.
∴在[2,+∞)内,x越大对应的函数值反而越小,从而当输入x的值大于2时,x越大输出f(x)的值反而越小.
④令f(x)=3,即-x2+4x=3,
解得x=1或x=3,
∴要想使输出的值等于3,输入x的值应为1或3.
⑤由f(x)=x,即-x2+4x=x,
解得x=0或x=3.
∴要使输入的值与输出的值相等,输入x的值应为0或3.
反思感悟给出算法框图时,要准确理解框图中各个图形符号的含义及其功能,明确各个框、各部分的功能和作用,从而理解整个算法框图的意义,明确其对应算法的功能,有时要与函数的相关知识结合起来.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练3阅读如下的算法框图,判断下列说法:
①该框图中含有顺序结构和选择结构;
②该框图中只含有选择结构;
③当输入x=2时,输出结果为2;
④当输出结果为0时,输入x=-2.
其中正确的说法是 .
解析:由框图可知,该算法框图中含有顺序结构和选择结构,故①正确,②不正确;当x=2时,由于2>2不成立,应输出2+2=4,故③不正确;当输出结果为0时,由于0<2,因此x+2=0,即x=-2,故④正确.
答案:①④
探究一
探究二
探究三
思维辨析
当堂检测
忽视判断框内的条件而致误
【典例】 已知算法框图如下:
若输出y的值为4,则输入x的值为 .
探究一
探究二
探究三
思维辨析
当堂检测
纠错心得本题错误的根源在于忽视了判断框内的条件,要明确类似这种根据函数值求自变量x的问题注意对x的值进行取舍.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练如图所示的算法框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的( )
A.c>x B.x>c
C.c>b D.b>c
解析:第1个判断框比较a与b的大小,第2个判断框比较a与b中的较大者与c的关系,应为c>x.
答案:A
探究一
探究二
探究三
思维辨析
当堂检测
1.选择结构不同于顺序结构的一个特征是其一定含有 ( )
A.处理框 B.判断框
C.输入框 D.起止框
答案:B
2.如图所示的算法框图,能判断任意输入的数x的奇偶性,其中判断框内的条件是( )
A.m=0 B.x=0
C.x=1 D.m=1
答案:A
探究一
探究二
探究三
思维辨析
当堂检测
3.如图所示的算法框图,若输出的结果是S=7,则输入A的值为 .
解析:该算法框图的功能是输入A,计算2A+1的值.令2A+1=7,解得A=3.
答案:3
探究一
探究二
探究三
思维辨析
当堂检测
4.如图是一个算法框图,当输入的值为3时,输出的结果是 .
答案:8
探究一
探究二
探究三
思维辨析
当堂检测
5.若已知梯形上、下底边长和面积,求该梯形的高.
分析首先根据梯形面积公式列出方程,表示出梯形的高,然后根据高的表达式设计相应的算法,最后用算法框图语言表示相应的算法步骤.
解算法如下:
1.输入梯形的上、下底边长a,b和面积S.
2.计算a+b的值.
4.输出h.
算法框图如图所示:(共24张PPT)
2.2 变量与赋值
1.变量
(1)定义:在研究问题的过程中可以取不同数值的量称为变量.
(2)变量的表示:变量的名称一般由一个或几个英文字母组成,或者是由一个或几个字母后面跟着一个数字组成,如a,b,a1,a2,sum,mod等,不同的变量有不同的变量名.
2.赋值
(1)赋值:把B的值赋给变量A,这个过程称为赋值,记作A=B,其中“=”为赋值符号.
(2)赋值语句
①定义:在表述一个算法时,经常要引入变量,并赋给该变量一个值,用来表明赋给某一个变量一个具体的确定值的语句叫作赋值语句.
②赋值语句的一般格式:变量名=表达式.
赋值语句中的“=”号,称作赋值号.
③赋值语句的功能:先计算赋值号右边表达式的值,再把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.
【做一做】 (1)下列赋值语句正确的是( )
A.m+n=2 018 B.2 018=m
C.m+2 018=m D.m=m+2 018
(2)在变量赋值中,a=9,b=a,c=b,则c= .
答案:(1)D (2)9
思考辨析
判断下列说法是否正确,正确的在后面的括号里画“√”,错误的画“×”.
(1)在变量赋值中,把2 018赋给k,写作“2 018=k”. ( )
(2)在变量赋值中,若a=1,b=a,则b的结果为1. ( )
(3)一个变量可以对其多次赋值,其值是最后一次所赋予的值. ( )
(4)可以利用赋值进行代数式的演算,如下列赋值是合理的,y=x2-1=(x+1)(x-1). ( )
(5)赋值符号“=”不同于数学算式中的等号,A=A+1表示变量A的值增加1后还用A表示. ( )
答案:(1)× (2)√ (3)√ (4)× (5)√
探究一
探究二
探究三
思维辨析
当堂检测
对赋值语句的理解
【例1】 试判断下列哪些赋值语句是正确的 哪些是错误的
(1)4=m;
(2)A=B=3;
(3)x2-y2=(x+y)(x-y);
(4)m+n=15;
(5)x=x.
解:(1)赋值号的左边只能是变量,不能是数字,故错误.
(2)赋值语句只能给一个变量赋值,不能出现两个或多个赋值号,故错误.
(3)赋值号的左边只能是变量,不能是表达式,故错误.
(4)赋值号的左边不能是表达式,故错误.
(5)符合赋值语句的格式要求,将变量x的值重新赋给变量x,故正确.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟赋值语句给变量赋值要注意两个关键点
(1)格式要正确.变量一定在赋值号的左边,右边可以是常量,也可以是表达式.
(2)终值看最后.如果算法中给同一个变量多次赋值,那么这个变量的最终值是最后一次所赋的值.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练1赋值语句n=n+1的意思是( )
A.n等于n+1
B.n+1等于n
C.将n的值赋给n+1
D.将n的原值加1再赋给n,即n的值增加1
解析:赋值语句中的“=”与数学中的“=”是完全不同的,赋值语句中的“=”左右两边的值不能互换,左边表示变量,右边表示变量或表达式.本题中式子表示的意义是将n的值加1再赋给n,即n的值增加1.
答案:D
探究一
探究二
探究三
思维辨析
当堂检测
赋值语句的应用
【例2】 设计一个算法,使得任意输入的3个整数按从大到小的顺序输出,写出算法步骤,并画出算法框图.
分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使a≥b≥c,重新排列的过程需要利用赋值语句,比较大小时要运用选择结构.
探究一
探究二
探究三
思维辨析
当堂检测
解:算法步骤如下:
1.输入3个整数a,b,c;
2.将a与b比较,并把小者赋值给b,大者赋值给a;
3.将a与c比较,并把小者赋值给c,大者赋值给a,此时a已是三者中最大的;
4.将b与c比较,并把小者赋值给c,大者赋值给b,此时a,b,c已按从大到小的顺序排列好;
5.按顺序输出a,b,c.
算法框图如图所示.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟1.解决含赋值语句的算法框图的输出结果等问题时,要明确赋值语句的作用,当含有多个变量、多个赋值语句、对同一变量多次赋值时,要理解各变量之间的关系,以最后一次赋值为最终输出的值.
2.运用赋值语句表达算法时,可以节省变量,使算法更加简洁,但要注意当需要交换两个变量的值时,一般要通过引入第三个变量来实现.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练2阅读如图所示的算法框图,若输出的结果为2,则①处的处理框内应填的是 ( )
A.x=2
B.b=2
C.x=1
D.a=5
答案:C
探究一
探究二
探究三
思维辨析
当堂检测
变量与赋值在实际问题中的应用
【例3】某商场购进6 000 kg大米,第一天售出库存的三分之二,同时又购进3 000 kg,第二天售出库存的四分之三,同时又购进2 600 kg,第三天售出库存的五分之四,同时又购进3 000 kg,编写一个算法,计算该商场第四天开始销售前库存大米的重量.画出算法框图.
分析:商场中大米的库存是逐日变化的,可以设置一个变量存放每天的库存数,我们只设一个变量a,每次将当天的库存统计好存入变量里,然后输出变量的当前值.
探究一
探究二
探究三
思维辨析
当堂检测
解:算法步骤如下:
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟用算法解决实际问题时,首先要根据实际问题的特点,选择相应的数学公式,然后引进恰当的变量,寻求变量之间的关系,最后借助赋值语句描述算法.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练3某商场进行优惠促销:若购物金额x在500元以上,打8折;若购物金额x在300元以上500元以下(不包括300元,包括500元),打9折;否则,不打折.设计算法和算法框图,要求输入购物金额为x,即能输出实际交款额y.
探究一
探究二
探究三
思维辨析
当堂检测
解:算法步骤如下:
1.输入购物金额x;
2.判断x≤300是否成立,若成立,则y=x;否则,执行3;
3.判断x≤500是否成立,若成立,则y=0.9x;否则,y=0.8x;
4.输出y,结束算法.
算法框图如图所示:
探究一
探究二
探究三
思维辨析
当堂检测
对多次赋值理解不清致误
【典例】 阅读方框中的算法步骤.
1.x=3,y=2;
2.x=x2,y=3y;
3.输出x,y;
4.x=x+1,y=y-1;
5.输出x,y.
运行结果是 和 .
错解第二步中,x=32=9,y=3×2=6.
输出9,6;
第四步中,x=3+1=4,y=2-1=1.
输出4,1.
探究一
探究二
探究三
思维辨析
当堂检测
正解第二步中,x=32=9,y=3×2=6,
输出9,6;
第四步中,x=9+1=10,y=6-1=5,
输出10,5.
故运行结果是9,6和10,5.
纠错心得本例错误的根本原因是忽视第一次赋值的结果,要清楚,当变量在第二次赋值的时候是在初始数据的基础上得到的,如果只用初始值,将产生错误结果.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练计算机执行下面的程序后,输出的a,b的值分别是( )
a=1;
b=3;
a=a+b;
b=a-b;
输出a,b.
A.1,3 B.4,1 C.4,-2 D.1,4
答案:B
探究一
探究二
探究三
思维辨析
当堂检测
1.“x=3*5”,“x=x+1”是某一程序中的先后相邻的两个语句,则下列说法正确的是( )
①x=3*5的意思是x=3×5=15,此式与算术中的式子是一样的;
②x=3*5是将数值15赋给x;
③x=3*5可以写为3*5=x;
④x=x+1在执行时赋值号右边x的值是15,执行后左边x的值是16.
A.①③ B.②④ C.①④ D.②③
答案:B
2.将两数a=8,b=17交换,使a=17,b=8,则下面赋值语句正确的一组是( )
c=b; a=c;
a=b; b=a; b=a; c=b;
b=a; a=c; a=b; b=a;
A B C D
答案:B
探究一
探究二
探究三
思维辨析
当堂检测
3.执行如图所示算法框图,输出的M= .
答案:10
探究一
探究二
探究三
思维辨析
当堂检测
4.下面的语句执行后输出的结果为 .
A=2;
B=3;
B=A*A;
A=A+B;
B=B+A;
输出A,B.
解析:执行过程如下:A=2,B=3 B=2×2=4 A=2+4=6 B=4+6=10,故输出A,B的值分别为6,10.
答案:6,10
探究一
探究二
探究三
思维辨析
当堂检测
5.金融业是现代生活中不可或缺的行业,与我们有着密切的关系.某人现有5 000元人民币,他按照定期一年的存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为3.25%,试求5年后这个人连本带息可以取出多少钱 用算法解决问题,画出算法框图.
解:设这个人在n(n=1,2,3,4,5)年后连本带息可以取出a元,算法步骤如下:
1.a=5 000;
2.a=a(1+3.25%);
3.a=a(1+3.25%);
4.a=a(1+3.25%);
5.a=a(1+3.25%);
6.a=a(1+3.25%);
7.输出a.
算法框图如图所示.(共30张PPT)
2.3 循环结构
1.循环结构
(1)定义:按照一定条件,反复执行某些步骤的算法结构称为循环结构.
(2)相关概念:反复执行的部分,称为循环体;控制着循环的开始和结束的变量,称为循环变量;
用来判断是否继续执行循环体的条件,称为循环的终止条件.
(3)三要素:循环的初始状态、循环体、循环的终止条件.
2.循环结构的设计
用循环结构来描述算法,在画算法框图之前,需要确定的三件事:
(1)确定循环变量和初始条件;
(2)确定算法中反复执行的部分,即循环体;
(3)确定循环的终止条件.
3.循环结构的算法框图的基本模式
【做一做1】 算法框图中的三种基本逻辑结构是( )
A.顺序结构、选择结构和循环结构
B.输入输出结构、判断结构和循环结构
C.输入输出结构、选择结构和循环结构
D.顺序结构、判断结构和循环结构
答案:A
【做一做2】 如图是一个算法框图,则输出a的值是 .
答案:log23
规律总结算法的三种基本结构的比较
思考辨析
判断下列说法是否正确,正确的在后面的括号里画“√”,错误的画“×”.
(1)循环结构不一定包含选择结构. ( )
(2)每一个算法都离不开顺序结构. ( )
(3)循环结构是在一些算法中从某处开始按照一定条件,反复执行某些处理步骤,因此循环结构一定包含选择结构. ( )
(4)循环结构不能是永不终止的“死循环”,一定要在某一个条件下终止循环. ( )
答案:(1)× (2)√ (3)√ (4)√
探究一
探究二
探究三
思想方法
当堂检测
循环结构算法框图的识图问题
【例1】 (1)执行如图所示的算法框图,其输出的结果是( )
A.3 B.4
C.5 D.8
探究一
探究二
探究三
思想方法
当堂检测
(2)如图所示,给出的是计算13+23+33+…+n3的值的一个算法框图,其中判断框内应填入的条件是( )
A.i≤n
B.i≥n
C.iD.i>n
探究一
探究二
探究三
思想方法
当堂检测
解析:(1)由算法框图依次可得,x=1,y=1→x=2,y=2→x=4, y=3→x=8,y=4→输出y=4,故选B.
(2)由算法框图可知,当循环终止条件满足时跳出循环,而要计算的是13+23+33+…+n3的值,所以计数变量i=n时应执行循环体,i=n+1时应跳出循环,故应填入的条件是i>n,故选D.
答案:(1)B (2)D
探究一
探究二
探究三
思想方法
当堂检测
反思感悟已知含循环结构的算法框图,分析其算法功能,确定其输出结果,或完善其缺少的内容是一类重要问题,解决这类问题时,应注意以下几点:
(1)明确循环变量、计数变量、循环体分别是什么,尤其要弄清楚循环的次数以及循环终止的条件分别是什么;
(2)若循环执行的次数较少,则可将算法执行过程一一列举、分析获得结果;若循环执行的次数较大,则应考查循环过程中相关变量取值的周期性.
探究一
探究二
探究三
思想方法
当堂检测
变式训练1执行下边的算法框图,若输入的a,b的值分别为0和9,则输出的i的值为 .
探究一
探究二
探究三
思想方法
当堂检测
解析:第一次循环:a=1,b=8;第二次循环:a=3,b=6;
第三次循环:a=6,b=3;满足条件,结束循环,此时,i=3.
循环结构抓住结束点是关键.
答案:3
探究一
探究二
探究三
思想方法
当堂检测
利用循环结构解决累加、累乘的算法设计问题
【例2】 设计一个计算1+2+…+100的值的算法,并画出算法框图.
分析本例题是累加问题,确定计数变量与累计变量后先写出算法,再用框图表示即可.
解算法:
1.令i=1,S=0;
2.S=S+i;
3.i=i+1;
4.若i>100不成立,则返回第二步;
否则,输出S,结束算法.
算法框图如右:
探究一
探究二
探究三
思想方法
当堂检测
反思感悟1.如果算法问题中涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的变化规律,就可以引入变量(称之为循环变量),构成循环结构.
2.在循环结构中,要注意根据条件设计合理的计数变量、累加变量、累乘变量等,特别要求条件的表述要恰当、准确,累加变量的初始值一般取0,累乘变量的初始值一般取1.
探究一
探究二
探究三
思想方法
当堂检测
变式训练2设计求99×97×95×…×3×1的值的算法,并画出相应的算法框图.
解:算法步骤如下:
1.s=1;
2.i=99;
3.若i≥1,则执行第4步;否则,执行第6步;
4.s=s·i;
5.i=i-2;返回第3步;
6.输出s.
算法框图如图所示.
探究一
探究二
探究三
思想方法
当堂检测
循环结构在实际问题中的应用
【例3】某工厂2018年生产小轿车200万辆,技术革新后预计每年的生产能力比上一年增加5%,问:最早哪一年该厂生产的小轿车数量超过300万辆 写出解决该问题的一个算法,并画出相应的算法框图.
分析:由题意,2018年的年产量为200万辆,以后每年的年产量都等于上一年的年产量乘(1+5%),考虑利用循环结构设计算法.
探究一
探究二
探究三
思想方法
当堂检测
解:算法步骤如下:
1.令n=0,a=200,r=0.05;
2.n=n+1;
3.T=ar(计算年增量);
4.a=a+T(计算年产量);
5.若a≤300,则返回重新执行第2步、
第3步、第4步、第5步,否则执行第6步;
6.N=2 018+n;
7.输出N.
算法框图如图所示.
探究一
探究二
探究三
思想方法
当堂检测
反思感悟利用含循环结构的算法框图解决实际问题的方法
探究一
探究二
探究三
思想方法
当堂检测
变式训练3某班共有学生54人,在一次数学测试中(满分100分),试设计算法筛选出优秀的成绩(85分以上为优秀),并画出程序框图.
解:计数变量用n表示,学生的成绩用r表示.
算法步骤如下:
1.把计数变量n的初始值设为1;
2.输入一个成绩r,比较r与85的大小,
若r>85,则输出r,然后执行下一步;
若r≤85,执行下一步;
3.使计数变量n的值增加1;
4.判断n与54的大小,若n≤54,返回第二步;
若n>54,结束.
程序框图如图所示.
探究一
探究二
探究三
思想方法
当堂检测
程序框图的综合应用
【典例】 画出满足12+22+32+…+n2>2 0182的最小正整数n的算法框图.
分析:不等式左侧是连续正整数的平方和,可用累加法,再根据和的特点设计循环结构进行求解.
解:
探究一
探究二
探究三
思想方法
当堂检测
方法点睛1.无论是累计变量还是循环变量,它们的初始值对循环体都起到了非常重要的作用,因此在解题时,一定要及时检验循环结束时各变量的即时值.
2.注意循环体中处理框与判断框的先后顺序,否则,程序框图的算法功能很可能就要发生变化,不能实现预定的算法结果.
探究一
探究二
探究三
思想方法
当堂检测
变式训练某地区有荒山2 200公顷,从2 018年开始每年年初在荒山上植树造林,第一年植树100公顷,以后每年比上一年多植树50公顷.如图,某同学设计了一个算法框图计算到哪一年可以将荒山全部绿化(假定所植树全部成活),则框图中①处应填上 .
探究一
探究二
探究三
思想方法
当堂检测
解析:由题意知,荒山的面积是终止循环的条件.故①处应填入S≥2 200.
答案:S≥2 200
探究一
探究二
探究三
思想方法
当堂检测
1.在如图所示的算法框图中,属于循环结构的是( )
A.①② B.②③
C.③④ D.②④
解析:①是顺序结构;②中只是对条件的判断,不会重复出现操作;③④属于循环结构.
答案:C
探究一
探究二
探究三
思想方法
当堂检测
2.阅读下面的算法框图,运行相应的程序,则输出i的值为 ( )
A.2 B.3 C.4 D.5
解析:S=10,i=0,
i=i+1=1,S=S-i=10-1=9,不满足S≤1,
i=i+1=2,S=S-i=9-2=7,不满足S≤1,
i=i+1=3,S=S-i=7-3=4,不满足S≤1,
i=i+1=4,S=S-i=4-4=0,满足S≤1,
输出i=4.
答案:C
探究一
探究二
探究三
思想方法
当堂检测
3.已知算法框图如图所示,其输出结果是 .
解析:a=1,a=2×1+1=3,a>100不成立;a=2×3+1=7,a>100不成立;a=2×7+1=15,a>100不成立;a=2×15+1=31,a>100不成立;a=2×31+1=63,a>100不成立;a=2×63+1=127,a>100成立,输出a=127.
答案:127
探究一
探究二
探究三
思想方法
当堂检测
4.某篮球运动员6场比赛得分如下表.(注:第n场比赛得分为an)
在对上述数据进行分析时,一部分计算如算法框图所示(其中 是这6个数据的平均数),则输出的s的值为 .
探究一
探究二
探究三
思想方法
当堂检测(共31张PPT)
3.1 条件语句
1.条件语句
在算法中,选择结构是一种基本结构,条件语句是表达选择结构最常用的语句.
2.If语句
形如下面的框图描述的算法都可以用If语句进行表示.
其一般形式是:
If 条件 Then
语句1
Else
语句2
End If
【做一做1】 条件语句的一般格式是
If A Then
B
Else
C
End If
其中B表示的是( )
A.满足条件A时执行的内容
B.条件语句
C.条件
D.不满足条件A时执行的内容
解析:语句中的A表示条件,Else后面的C表示不满足条件A时执行的内容,而在Then后面的B表示满足条件A时执行的内容,故选A.
答案:A
3.复合If语句
(1)格式:
If 条件1 Then
语句1
Else
If 条件2 Then
语句2
Else
语句3
End If
End If
(2)对应的算法框图如图所示.
输入x;
If x<=-1 Then
①
Else
If ② Then
y=x
Else
y=0
End If
End If
输出y.
则①处填 ,②处填 .
答案:y=-x x>2
思考辨析
判断下列说法是否正确,正确的在后面的括号里画“√”,错误的画“×”.
(1)一个完整的条件语句,可以出现多个End If.( )
(2)使用复合条件语句时,每一个条件语句都以“If”开头,以“End If”结束,程序中有几个“If”就有几个“End If”与之对应. ( )
(3)如果复合条件语句中有两个“End If”,那么最后一个“End If”是与最上面的第一个“If”对应的. ( )
答案:(1)√ (2)√ (3)√
探究一
探究二
探究三
思维辨析
当堂检测
对含有条件语句的算法的理解
【例1】 (1)当a=3时,下面的算法语句段输出的结果是( )
输入a;
If a<10 Then
y=2*a
Else
y=a*a
End If
输出y.
A.9 B.3 C.10 D.6
探究一
探究二
探究三
思维辨析
当堂检测
(2)算法程序如下:
输入x;
If x>1 Then
y=x+1/2
Else
y=2*x+1
End If.
输出y.
如果输出y的值为1,那么输入x的值为 .
探究一
探究二
探究三
思维辨析
当堂检测
解析:(1)因为a=3<10,所以y=2a=2×3=6,故选D.
若x≤1,则由y=2x+1=1,得x=0满足x≤1.
故输入x的值为0.
答案:(1)D (2)0
反思感悟给出一个用条件语句描述的算法,确定其运行结果、指出其算法功能或补充算法语句时,首先要明确If语句、复合If语句的格式要求,其次要理解条件语句的执行原理.还要特别注意对条件表达式的理解与分析.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练1已知分段函数 编写算法语句,输入x的值,输出相应的y的值.
解算法语句如下:
输入x
If x<=10 Then
y=2*x∧2
Else
y=3 * x-10
End If
输出y.
探究一
探究二
探究三
思维辨析
当堂检测
用If语句描述算法
【例2】 (1)任意输入一个实数,如果它大于零,就输出它的倒数;否则,就输出它的相反数,试用算法语句描述该问题的算法.
(2)某电信部门规定:拨打市内电话时,如果通话时间不超过3分,则收取通话费0.2元;如果通话时间超过3分,则超过部分以0.1元/分收取通话费(t以整分计,不足1分的按1分计).试用语句描述该算法.
分析:问题显然与选择结构有关,故用条件语句描述算法.
探究一
探究二
探究三
思维辨析
当堂检测
解:(1)算法语句如下:
输入a;
If a>0 Then
y=1/a
Else
y=-a
End If
输出y.
探究一
探究二
探究三
思维辨析
当堂检测
(2)设c表示通话费用(单位:元),t表示通话时间(单位:分),
用条件语句可以表示为:
输入t;
If t<=3 Then
c=0.2
Else
c=0.2+0.1*(t-3)
End If
输出c.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟1.If语句主要用来描述含有选择结构的算法,即条件语句是与选择结构相对应的.
2.条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小、求分段函数的函数值等,在用条件语句的时候,一定要注意条件语句的格式要求.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练2算法步骤如下:
1.输入x;
2.判断x≤0是否成立,若成立,则z=-1;若不成立,则z=1;
3.z=z+1;
4.输出z.
试将上面算法用算法语句表示.
解:用语句描述为:
输入x;
If x<=0 Then
z=-1
Else
z=1
End If
z=z+1
输出z.
探究一
探究二
探究三
思维辨析
当堂检测
用复合If语句描述算法
【例3】叙述下面算法框图(如图所示)所表示的含义,并且用复合If语句描述该算法.
分析:首先要理解算法框图的含义,根据对x值的判断输出不同的结果,可知它表示的是一个分段函数的求值,进而可以使用复合If语句写出相应结果.
探究一
探究二
探究三
思维辨析
当堂检测
解:算法框图的含义是:求分段函数的值.函数解析式为
用If复合语句可以表示为:
输入x;
If x>=0 Then
y=3*x-1
Else
If x<-4 Then
y=4*x
Else
y=-1
End If
End If
输出y.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟使用复合If语句的注意事项及解决问题的步骤
1.使用复合If语句的注意事项
(1)使用范围:判断条件多于一个时.
(2)分清层次:编写条件语句时,要注意If和End If的配对使用及书写的格式.
2.利用复合If语句解决问题的步骤
(1)构思出解决问题的一个算法(可用自然语言).
(2)画出程序框图,形象直观地描述算法.
(3)根据框图写算法语句,即逐步把框图中的算法步骤用算法语句表达出来.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练3下面是计算某种税款的算法过程,其算法如下:
1.输入金额x(注x≤5 000);
2.如果x≤2 000,那么y=0;
如果2 000那么y=0.05(x-2 000);
否则y=25+0.1(x-2 500);
3.输出税款y,结束.
请写出该算法的算法框图和相应的算法语句.
探究一
探究二
探究三
思维辨析
当堂检测
解:算法框图如图:
算法语句为:
输入x;
If x<=2 000 Then
y=0
Else
If x<=2 500 Then
y=0.05*(x-2 000)
Else
y=25+0.1*(x-2 500)
End If
End If
输出y.
探究一
探究二
探究三
思维辨析
当堂检测
设计条件语句时不严谨而致误
错解输入x;
If x<10 Then
y=3*x
Else
If x<20 Then
y=2*x
Else
y=x
End If
输出y.
探究一
探究二
探究三
思维辨析
当堂检测
正解输入x;
If x>0 And x<10 Then
y=3*x
Else
If x<20 Then
y=2*x
Else
y=x
End If
End If
输出y.
探究一
探究二
探究三
思维辨析
当堂检测
纠错心得本题一共出现了两处错误,一是误认为输入的是正数,忽略了条件“x>0”;二是忽视了复合条件语句的结构,漏掉了一个“End If”,要知道有几个“If”就有几个“End If”与之配对,否则程序无法运行.
探究一
探究二
探究三
思维辨析
当堂检测
解:算法框图如图所示.
算法语句如下:
输入a,b;
If a>=b Then
y=a-b
Else
y=b-a
End If
输出y.
探究一
探究二
探究三
思维辨析
当堂检测
1.下列求函数值的算法中需要用到条件语句的函数为 ( )
A.f(x)=x2-1
B.y=x3-1
D.f(x)=2x
解析:求分段函数的函数值,需要用到条件语句.
答案:C
探究一
探究二
探究三
思维辨析
当堂检测
2.若输入t=4,则执行下面算法语句后输出的结果为 ( )
输入t;
If t<=4 Then
c=0.2+3.8*(4-t)
Else
c=0.2+0.1*(t-3)
End If
输出c.
A.4 B.0.2 C.0.1 D.0.3
解析:因为t=4,所以c=0.2+3.8(4-4)=0.2,故输出的结果为0.2.
答案:B
探究一
探究二
探究三
思维辨析
当堂检测
3.若执行下面算法语句后输出的结果是3,则输入x的值是( )
输入x;
If x>0 Then
y=x
Else
y=-x
End If
输出y.
A.0 B.3
C.-3 D.3或-3
解析:若x=3,则y=3;若x=-3,则y=-(-3)=3.
答案:D
探究一
探究二
探究三
思维辨析
当堂检测
4.输入x;
If x<4 Then
y=x
Else
If x<10 Then
y=2*x-6
Else
y=3*x-12
End If
End If
输出y.
若输入12,则输出结果为( )
A.12 B.18 C.19 D.24
探究一
探究二
探究三
思维辨析
当堂检测
解析:因为x=12,12>4且12>10,
所以y=3×12-12=24.
答案:D
探究一
探究二
探究三
思维辨析
当堂检测
5.用算法语句描述下列算法框图对应的算法.
解:用If语句可以表示为:
输入a;
If a>=0 Then
y=a2
输出y
Else
输出“是负数”
End If(共31张PPT)
3.2 循环语句
1.For语句
(1)一般形式:
For循环变量=初始值To终值
循环体Next
(2)功能:适用于预先知道循环次数的循环结构.
【做一做1】 下列语句运行的结果是( )
For A=1 To 100
A=A+1
Next
输出A.
A.99 B.100 C.101 D.102
答案:C
2.Do Loop语句
(1)一般形式:
Do
循环体
Loop While条件为真
(2)功能:适用于预先不知道循环次数的循环结构.
(3)执行流程:先进入循环体,执行一次循环体后,检查While后的条件是否被满足,“是”则继续执行循环体,“否”则退出循环体.
(4)Do Loop语句对应的基本框图:
【做一做2】 给出下列算法语句:
S=1
i=12
Do
S=S+i
i=i-1
Loop While i≥9
输出S.
其输出的结果为 .
解析:输出的S为S=1+12+11+10+9=43.
答案:43
规律总结For语句与Do Loop语句的比较
For循环语句和Do Loop循环语句都能表达含有循环结构的算法,但是它们在表达方式和功能上又有一定的区别,它们的区别主要表现为以下几点:
(1)书写格式不同.
(2)作用不同.For循环语句主要适用于预先知道循环次数的循环结构;如果预先不知道循环次数,那么使用Do Loop循环语句.当然,预先知道循环次数时,也可用Do Loop语句.
(3)For循环语句循环条件在前,首先判断循环条件再执行,如果条件不满足,那么一次也不执行;而Do Loop循环语句循环条件在后,即使开始条件不满足也要执行一次.
(4)用For循环语句编写程序时要注意设定好循环变量的初始值、终值、循环变量的改变量,应避免出现多一次循环或少一次循环的情况;用Do Loop循环语句编写程序时,一定要注意表达式的写法,当表达式为真时,继续执行循环体,当表达式为假时,结束循环,防止出现表达式正好相反的错误.
思考辨析
判断下列说法是否正确,正确的在后面的括号里画“√”,错误的画“×”.
(1)比较a,b两个数的大小的算法可用循环语句来描述. ( )
(2)求1+3+32+…+32 018的和的算法可用循环语句来描述. ( )
(3)For语句适用于任何循环结构. ( )
(4)For语句与Do Loop语句之间可以相互转化. ( )
(5)循环语句中循环体是反复执行的,直至循环结束. ( )
答案:(1)× (2)√ (3)× (4)× (5)√
探究一
探究二
探究三
思维辨析
当堂检测
For语句及其应用
【例1】 (1)算法语句:
S=0
For i=1 To 1 000
S=S+i
Next
其中For i=1 To 1 000的作用是( )
A.表示一个数字从1到1 000
B.表示从2一直加到1 000
C.表示从1开始循环到1 000
D.表示i从1开始以1为步长累加到1 000
(2)设计算法计算12+22+32+…+2 0182,使用For语句描述该算法,并画出算法框图.
探究一
探究二
探究三
思维辨析
当堂检测
(1)答案:D
(2)解:用i表示循环次数,用S表示总和,算法步骤如下:
①令S的初始值为0,i的初始值为1;
②i从1开始循环到2 018,S=S+i2;
③循环结束后,输出S.
算法框图如图所示.
用For语句表示如下:
S=0
For i=1 To 2 018
S=S+i*i
Next
输出S.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟利用for语句实现循环结构的三个关键点
(1)确定变量的初值,即进行初始化操作.
(2)确定循环的次数.
(3)确定循环体的内容.
利用for语句编写算法语句的注意点
(1)循环体要正确,尤其要注意循环体中的变量是否齐全.
(2)循环条件要正确,条件与初始值要对应.
(3)算法语句的格式要正确,循环结束时要有Next.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练1下列算法语句执行后,输出的结果为 .
S=0
For i=1 To 10
S=S+i
Next
输出S.
解析:由For语句的功能知该算法语句执行后,输出的是式子: 0+1+2+3+…+10的值,因此S=0+1+2+3+…+10=55.故输出结果为55.
答案:55
探究一
探究二
探究三
思维辨析
当堂检测
Do Loop语句及其应用
【例2】 (1)下列算法语句:
A=2
B=1
Do
B=A*B
A=A+1
Loop While A<=5
输出B.
则输出B的值为 .
(2)用基本语句描述一个算法,求满足1+3+5+…+n>1 028的最小自然数n.
探究一
探究二
探究三
思维辨析
当堂检测
(1)解析:由算法语句知,该算法功能是求1×2×3×4×5的值并输出.
答案:120
(2)解:由于预先无法确定循环的次数,须用Do Loop语句设计算法.可设计循环变量,令其初始值为1,每次增量为2,再设计累加变量,当其和大于1 028时停止循环.
用Do Loop语句描述为:
i=1
sum=0
Do
sum=sum+i
i=i+2
Loop While sum<=1 028
i=i-2
输出i.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟1.在Do Loop语句中,每一次重复后,都需要检验While后的条件是否满足,一旦不满足条件,循环停止.
2.对于例2(2)中,在循环语句后面有一个赋值语句i=i-2,其作用是正确得到满足1+3+5+…+n>1 028的最小自然数n.因为当前i的取值已经比满足1+3+5+…+n>1 028的最小自然数多出了2.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练2(1)执行下面的算法语句,输出的结果是( )
i=1
S=0
Do
S=S*2+1
i=i+1
Loop While i<=4
输出S.
A.7 B.9 C.15 D.17
探究一
探究二
探究三
思维辨析
当堂检测
(2)下面求1+4+7+…+2 016的值的算法语句中,正整数m的最大值为 .
S=0
i=1
Do
S=S+i
i=i+3
Loop While i输出S.
答案:(1)C
(2)2 019
探究一
探究二
探究三
思维辨析
当堂检测
循环语句与条件语句的综合应用
【例3】高一(3)班共有54名同学参加了数学竞赛,现在有这54名同学的竞赛分数.请设计一个算法,要求计算竞赛成绩优秀的同学的平均分数并输出(规定90分以上为优秀),画出算法框图,并用基本语句描述该算法.
探究一
探究二
探究三
思维辨析
当堂检测
解:算法框图如图所示.
用基本语句描述算法如下:
S=0
m=0
For i=1 To 54
输入xi
If xi>90 Then
S=S+x
m=m+1
End If
Next
a=S/m
输出a.
探究一
探究二
探究三
思维辨析
当堂检测
反思感悟应用循环语句编写算法时应注意的问题
(1)在循环体中一定要改变控制条件的变量的值,否则会出现“死循环”,并且循环体每执行一次,控制条件中的变量就应更逼近满足跳出循环体的条件;
(2)与条件语句一样,循环语句也可以嵌套,但应注意内层与外层的对应关系;
(3)在编写算法语句时应注意跳出循环时对边界数值的检查,防止漏项或多项,可通过几次循环加以验证.
探究一
探究二
探究三
思维辨析
当堂检测
变式训练3某商场第一年销售平板电脑5 000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30 000台 写出算法语句,并画出解决此问题的算法框图.
解:算法语句如下:
m=5 000
S=0
i=0
Do
S=S+m
m=m*(1+0.1)
i=i+1
Loop While S<30 000
输出i-1.
算法框图如图所示.
探究一
探究二
探究三
思维辨析
当堂检测
未处理好累加中的首项而致误
【典例】下面是描述求满足1×3+2×4+3×5+4×6+…+n(n+2)<4 028的最大自然数n的算法语句,试补充完整.
S=0
i=1
Do
(1)
Loop While S<4 028
(2)
输出i
探究一
探究二
探究三
思维辨析
当堂检测
错解根据题意(1)处是循环体,应填
i=i+1
S=S+i*(i+2)
(2)处是所求的最大自然数,
所以应填i=i+1.
正解根据题意(1)处是循环体,应填
S=S+i*(i+2)
i=i+1
(2)处是所求的最大自然数,即累计变量,在满足条件时i的值已经加上1,所以输出的应是i-2,故应填i=i-2.
答案:(1)S=S+i*(i+2)
i=i+1
(2)i=i-2
探究一
探究二
探究三
思维辨析
当堂检测
纠错心得本例错误的根本原因是在(1)处没有很好地明确S=1×3+2×4+3×5+…+n(n+2)的首项是1×3,而导致丢失1×3这一项;(2)处是先计算S后i变成i+1,当S≥4 028时,此时i=i+1,应减去2后输出才是正确结论.
探究一
探究二
探究三
思维辨析
当堂检测
(1)图中空白的判断框内应填 ,执行框内应填 .
(2)写出与算法框图相对应的算法语句.
解:(1)判断框:i>2 018或i≥2 019
探究一
探究二
探究三
思维辨析
当堂检测
1.下列问题可以用循环语句描述其算法的个数为( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量的值,输出函数值;
④求平方值小于100的最大整数.
A.0个 B.1个 C.2个 D.3个
答案:C
2.若For i=-10 To 19为某一循环语句中的一个步骤,则循环的次数为( )
A.29次 B.30次 C.28次 D.19次
解析:循环次数为:(终值-初始值)+1=30.
答案:B
探究一
探究二
探究三
思维辨析
当堂检测
3.如图所示,给出的四个算法框图中,满足Do Loop语句格式的是( )
答案:D
探究一
探究二
探究三
思维辨析
当堂检测
4.已知下列语句:
i=1
Do
i=i+1
Loop While i*i<100
i=i-1
输出i.
最后输出的结果是( )
A.i-1 B.100 C.9 D.10
解析:由循环语句及赋值语句可知,当i*i≥100时跳出循环体,此时i=10,故最后输出的结果为9.
答案:C
探究一
探究二
探究三
思维辨析
当堂检测
5.试分别用For语句和Do Loop语句设计求1×3×5×…×99值的算法语句.
探究一
探究二
探究三
思维辨析
当堂检测
解:用For语句描述为:
S=1
For i=1 To 99
S=S*i
i=i+2
Next
输出S.
用Do Loop语句描述为:
S=1
i=1
Do
S=S*i
i=i+2
Loop While i<=99
输出S.(共44张PPT)
本 章 整 合
专题一
专题二
算法框图及其应用
算法框图是算法的一种表示形式,具有直观、形象的特点.高考对算法的考查主要就是考查算法框图的相关问题,主要包括以下几个方面:一是根据算法框图确定输出结果;二是确定算法框图所对应算法的功能;三是根据算法框图的运行结果确定所输入变量的值;四是补充算法框图中缺少的内容.
专题一
专题二
1.确定输出结果
【例1】 执行下边的算法框图,输出的结果是 .
专题一
专题二
分析:算法框图主要为顺序结构,注意赋值的含义.
解析:由算法框图知:a=8,b=7 a=8+7=15 b=15-7=8
c=15×8=120 a=120.故输出a=120.
答案:120
专题一
专题二
变式训练1执行如图所示的算法框图,若输入的a值为1,则输出的k值为( )
A.1
B.2
C.3
D.4
解析:由算法框图可知,输入a=1,则k=0,b=1;进入循环体,a=- , a=b不成立,k=1,a=-2,a=b不成立,k=2,a=1,此时a=b=1,输出k,则k=2,故选B.
答案:B
专题一
专题二
【例2】 读下面的算法框图,若输入x的值为-5,则输出的结果是 .
分析:该算法主要运用选择结构设计,注意对输入x的值进行判断.
答案:-1
专题一
专题二
变式训练2执行如图所示的算法框图,输出的结果为( )
A.(-2,2) B.(-4,0) C.(-4,-4) D.(0,-8)
专题一
专题二
解析:x=1,y=1,k=0,
进入循环:s=1-1=0,t=1+1=2,x=0,y=2,k=0+1=1<3;
s=0-2=-2,t=0+2=2,
x=-2,y=2,k=1+1=2<3;s=-2-2=-4,t=-2+2=0,x=-4,y=0,
k=2+1=3≥3,跳出循环,输出(x,y),即(-4,0).
答案:B
专题一
专题二
2.确定算法框图所描述的算法功能
【例3】 下列算法框图所描述的算法功能是 .
解析:由算法框图可知:当S=1×3×5×7×…×k≥10 000时,跳出循环,这时i=k+2,输出k+2的值.因此该算法的功能是输出满足条件1×3×5×7×…×k≥10 000时,k+2的最小值.
答案:输出满足1×3×5×7×…×k≥10 000时,k+2的最小值
专题一
专题二
专题一
专题二
答案:C
专题一
专题二
专题一
专题二
答案:C
专题一
专题二
变式训练4阅读如图所示的算法框图,若输出y的值为 ,则输入实数x的值为 .
专题一
专题二
4.补充算法框图缺少的内容
【例5】 在给出的计算 的值的一个算法框图中,①处和②处应填的语句是( )
A.n=n+2,i>15
B.n=n+2,i=15
C.n=n+1,i=15
D.n=n+1,i>15
解析:这是由循环结构设计的算法框图.
①处应该是对变量n的值进行递增赋值,
即n=n+2;②处应该是进行条件判断,参
与求和共15项,故②处应填i>15.
答案:A
专题一
专题二
变式训练5在某音乐唱片超市里,每张唱片售价12元,顾客若购买5张以上(含5张)唱片,则按照九折收费;若购买10张以上(含10张)唱片,则按照八折收费.请将下面计费的算法框图补充完整.
专题一
专题二
答案:①x<5 ②x<10 ③10.8x
专题一
专题二
算法与其他知识的融合
算法是一个重要的数学知识交汇点,它可以与其他数学知识充分地融合在一起,体现知识之间的内在联系.算法与函数、方程、不等式、统计等知识都有密切的联系.
专题一
专题二
1.算法与函数融合
【例6】 某算法框图如图所示,现输入如下四个函数,则可以输出的函数是( )
解析:由算法框图知输出的函数应该既是奇函数,又存在零点.A项中函数是偶函数,排除A;B项中函数是奇函数,但没有零点,排除B;C项函数是奇函数,也存在零点x=0;D项中的函数f(x)=x3+x2显然不是奇函数.故选C.
答案:C
专题一
专题二
【例7】 在如图所示的算法框图中,若输出y值的范围是[0,10],则输入x的范围是 .
分析:这是一个计算分段函数值的算法框图,写出这个分段函数,根据函数值的范围确定自变量的范围即可.
专题一
专题二
答案:[-7,9]
专题一
专题二
2.算法与不等式融合
【例8】 执行如图所示的算法框图,若输出k=2,则输入x的取值范围是 .
分析:本题中的算法框图含有循环结构.由k是计数变量,且当x>115时输出k的值为2,可以列出关于x的不等式组,求之即可.
专题一
专题二
答案:(28,57]
专题一
专题二
变式训练6执行如图所示的算法框图,输出的n为 .
专题一
专题二
答案:4
专题一
专题二
3.算法与统计的融合
【例9】 为了保证人民生命和财产安全,呼吁社会各界共同关注科学睡眠,杜绝疲劳驾驶,某网站针对睡眠问题做了持续一周的在线调查,共有200人参加调查,现将数据整理分组如题中表格所示.
专题一
专题二
(1)画出频率分布直方图;
(2)为了对数据进行分析,采用了计算机辅助计算.分析中一部分计算见算法框图,求输出的S的值,并说明S的统计意义.
专题一
专题二
解:(1)频率分布直方图如图所示.
(2)首先要理解题中算法框图的含义,输入mi,fi的值后,由赋值语句:S=S+mi·fi可知,算法进入一个求和状态.即S=4.5×0.04+5.5×0.26+6.5×0.30+7.5×0.28+8.5×0.10+9.5×0.02=6.70.
则输出的S为6.70.
S的统计意义即是指参加调查者的平均睡眠时间.
考点1 顺序结构与选择结构
1.(2017山东高考)执行两次下图所示的算法框图,若第一次输入的x的值为7,第二次输入的x的值为9,则第一次、第二次输出的a的值分别为( )
A.0,0 B.1,1
C.0,1 D.1,0
解析:若输入x=7,则b=2(b2x)→输出a=1;若输入x=9,则b=2(b2答案:D
2.(2013课标全国Ⅰ高考)执行右面的算法框图,如果输入的t∈[-1,3],则输出的s属于( )
A.[-3,4] B.[-5,2]
C.[-4,3] D.[-2,5]
解析:当-1≤t<1时,s=3t,则s∈[-3,3).
当1≤t≤3时,s=4t-t2.
∵该函数的对称轴为t=2,
∴该函数在[1,2]上单调递增,在[2,3]上单调递减.
∴smax=4,smin=3.
∴s∈[3,4].
综上知s∈[-3,4].
故选A.
答案:A
考点2 循环结构
3.(2018全国2高考)为计算 ,设计了右侧的算法框图,则在空白框中应填入( )
A.i=i+1
B.i=i+2
C.i=i+3
D.i=i+4
答案:B
4.(2018天津高考)阅读右边的算法框图,运行相应的程序,若输入N的值为20,则输出T的值为( )
A.1
B.2
C.3
D.4
答案:B
5.(2017全国3高考)执行下面的算法框图,为使输出S的值小于91,则输入的正整数N的最小值为( )
A.5 B.4
C.3 D.2
解析:程序运行过程如下表所示:
此时S=90<91首次满足条件,程序需在t=3时跳出循环,即N=2为满足条件的最小值,故选D.
答案:D
6.(2017全国2高考)执行右面的算法框图,如果输入的a=-1,则输出的S=( )
A.2 B.3
C.4 D.5
解析:算法框图运行如下:
a=-1,S=0,K=1,进入循环,
S=0+(-1)×1=-1,a=1,K=2;
S=-1+1×2=1,a=-1,K=3;
S=1+(-1)×3=-2,a=1,K=4;
S=-2+1×4=2,a=-1,K=5;
S=2+(-1)×5=-3,a=1,K=6;
S=-3+1×6=3,a=-1,K=7,
此时退出循环,输出S=3.故选B.
答案:B
A.A>1 000和n=n+1
B.A>1 000和n=n+2
C.A≤1 000和n=n+1
D.A≤1 000和n=n+2
答案:D
8.(2016全国乙高考)执行如图所示的算法框图,如果输入的x=0, y=1,n=1,则输出x,y的值满足( )
A.y=2x B.y=3x
C.y=4x D.y=5x
解析:由题图可知,x=0,y=1,n=1,执行如下循环:
x=0,y=1,n=2;
答案:C
9.(2016全国甲高考)中国古代有计算多项式值的秦九韶算法,如图是实现该算法的算法框图,执行该算法框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=( )
A.7 B.12
C.17 D.34
解析:由题意,得x=2,n=2,k=0,s=0,
输入a=2,则s=0×2+2=2,k=1,继续循环;
输入a=2,则s=2×2+2=6,k=2,继续循环;
输入a=5,s=6×2+5=17,k=3>2,退出循环,
输出17.故选C.
答案:C
10.(2015课标全国Ⅱ高考)如图所示的算法框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该算法框图,若输入的a,b分别为14,18,则输出的a=( )
A.0 B.2 C.4 D.14
解析:由算法框图,得(14,18)→(14,4)→(10,4)→(6,4)→(2,4)→(2,2),则输出的a=2.
答案:B
考点3 基本语句
11.(2013陕西高考)根据下列算法语句,当输入x为60时,输出y的值为( )
A.25 B.30 C.31 D.61
答案:C