(共35张PPT)
1.1 算法与程序框图
1.1.1 算法的概念
目标定位 重点难点
1.了解算法的含义及算法的思想.
2.会根据具体问题设计合理的算法步骤. 重点:解二元一次方程组等几个典型的算法设计.
难点:算法的含义、把自然语言转化为算法语言.
1.算法的概念
一定规则
明确
有限
计算机程序
12世纪的算法 指的是用阿拉伯数字进行算术运算的过程
数学中的算法 通常是指按照__________解决某一类问题的_____和_____的步骤
现代算法 通常可以编成___________,让计算机执行并解决问题
2.算法与计算机
计算机解决任何问题都要依赖于_____,只有将解决问题的过程分解为若干个____________,即_____,并用计算机能够接受的“_____”准确地描述出来,计算机才能够解决问题.
算法
明确的步骤
算法
语言
3.算法的设计
(1)算法设计的目的
设计算法的目的实际上是寻求__________的算法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个___________,然后用计算机能够接受的“语言”准确地描述出来,从而达到计算机执行的目的.
(2)算法设计的要求
①写出的算法必须能解决__________;
②要使算法尽量_____、步骤尽量___;
③要保证算法_____且计算机能够_____.
一类问题
明确的步骤
一类问题
简单
少
正确
执行
1.判断正误(在括号内打“√”或“×”)
(1)算法只能解决一个问题,不能重复使用.( )
(2)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.( )
【答案】(1)× (2)√
2.算法的有穷性是指( )
A.算法必须包含输出
B.算法中每个操作步骤都是可执行的
C.算法的步骤必须有限
D.以上说法均不正确
【答案】C
【解析】一个算法必须在有限步内结束,简单地说就是没有死循环,即算法的步骤必须有限,故选C.
【解析】第一步:去分母,得到3(x+2)-6=x-4.
第二步:去括号,得到3x+6-6=x-4.
第三步:移项,得到3x-x=-4.
第四步:合并同类项,得2x=-4.
第五步:化系数为1,得x=-2.
算法含义的正确理解
【例1】 下列关于算法的描述正确的是( )
A.算法与求解一个问题的方法相同
B.算法只能解决一个问题,不能重复使用
C.算法过程要一步一步执行,每步执行的操作必须确切
D.有的算法执行完后,可能无结果
【解题探究】依据算法的概念及特征逐项排除验证.
【答案】C
【解析】算法与求解一个问题的方法既有区别又有联系,故A项不对;算法能重复使用,故B项不对;每个算法执行后必须有结果,故D项不对;由算法的有序性和确定性可知C项正确.
1.算法实际上是一种程序性方法,它通常解决某一个或一类问题,在用算法解决问题时,显然体现了特殊与一般的数学思想.
2.算法的特点有:①有限性;②确定性;③顺序性与正确性;④不唯一性;⑤普遍性.解答有关算法的概念判断题应根据算法的这五大特点.
1.下列描述不是解决问题的算法的是( )
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;故选C.
数值性问题的算法
【例2】 写出求1+2+3+4+5+6的一个算法.
【解析】算法一
第一步,计算1+2得到3.
第二步,将第一步中的运算结果3与3相加得到6.
第三步,将第二步中的运算结果6与4相加得到10.
第四步,将第三步中的运算结果10与5相加得到15.
第五步,将第四步中的运算结果15与6相加得到21.
第六步,输出运算结果.
算法设计的步骤:
2.写出求1×2×3×4×5×6值的算法.
【解析】算法一采取逐个相乘的方法;算法二由于重复作乘法,可以设计作重复乘法运算的步骤.
算法一
第一步,计算1×2得到2.
第二步,将第一步的运算结果2乘3,得到6.
第三步,将第二步的运算结果6乘4,得到24.
第四步,将第三步的运算结果24乘5,得到120.
第五步,将第四步的运算结果120乘6,得到720.
算法二
第一步,输入值n=6.
第二步,令i=1,S=1.
第三步,判断“i≤n”是否成立?若不成立,输出S,结束算法;若成立,执行下一步.
第四步,令S的值乘i,仍用S表示,令i的值增加1,仍用i表示,返回第三步.
非数值性问题的算法
【例3】 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.
【解题探究】人和动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.
【解析】具体算法如下.
第一步,人带两只狼过河,并自己返回.
第二步,人带一只狼过河,自己返回.
第三步,人带两只羚羊过河,并带两只狼返回.
第四步,人带一只羊过河,自己返回.
第五步,人带两只狼过河.
算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤需要重复进行多次,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.
3.甲、乙、丙、丁四个人过一座简易木桥,这四个人过桥所用的时间分别是2分钟,4分钟,6分钟,8分钟,由于木桥质量原因,桥上同时最多只能有两个人.请你设计一个方案,使这4个人在最快的时间过桥,写清步骤,最后算出所需时间.
【解析】第一步,甲乙先上桥.
第二步,2分钟后甲过了桥同时丁上桥.
第三步,再过2分钟后乙过了桥同时丙上桥.
第四步,再过6分钟后丙、丁同时过了桥.
∴所需时间是2+2+6=10(分钟).
【示例】设计一个算法,将1 573分解成素因数的乘积.
【错解】算法如下.
第一步,判断1 573是否为素数:否.
第二步,寻找1 573的最小素因数:不是2,也不是3.
……
忽视算法的特性
【错因】第二步的结果是不确定的,“不是2,也不是3”,到底有多少是不确定的.而算法中的每一步都要有明确具体的结果,只有这样,才有最终的结果.
【正解】算法如下.
第一步,判断1 573是否为素数:否.
第二步,确定1 573的最小素因数11,即1 573=11×143.
第三步,判断143是否为素数:否.
第四步,确定143的最小素因数11,即143=11×13.
第五步,判断13是否为素数:是.
分解结果是1 573=11×11×13.
【警示】算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.
1.算法的特点
(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.
(2)确定性:算法中的每一步应该是确定的并且能有效地执行且能得到确定的结果,而不应当是模棱两可的.
(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.
(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.
(5)普遍性:很多具体的问题,都可以设计合理的算法去解决.
2.算法与数学问题解法的区别与联系
(1)联系
算法与解法是一般与特殊的关系,也是抽象与具体的关系.
(2)区别
算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.
1.以下关于算法的说法正确的是( )
A.描述算法可以有不同的方式,可用形式语言也可用其他语言
B.算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列只能解决当前问题
C.算法过程要一步一步执行,每一步执行的操作必须确切,不能含混不清,而且经过有限步或无限步后能得出结果
D.算法要求按部就班地做,每一步可以有不同的结果
【答案】A
【解析】由算法的概念可知:求解某一类问题的算法不是唯一的,故A正确;算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能解决一类问题,故B不正确;算法有有限步,结果明确,C是不正确的;算法的每一步操作必须是明确的,不能有歧义,故D不正确.故选A.
【答案】B
【解析】因为算法的步骤是有限的,所以②不能设计算法求解.
3.(2019年宁夏银川期中)下列叙述不能称为算法的是
( )
A.植树需要运苗、挖坑、栽苗、浇水这些步骤
B.按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100
C.从枣庄乘火车到徐州,从徐州乘飞机到广州
D.求所有能被3整除的正数,即3,6,9,12,…
【答案】D
【解析】所有能被3整除的正数有无限个,不能称为算法,故选D.
【答案】输出斜边长c的值
(共33张PPT)
1.1.2 程序框图与算法的基本逻辑结构
第1课时 程序框图、顺序结构
目标定位 重点难点
1.理解程序框图的含义.
2.掌握各类程序框的功能.
3.掌握算法的顺序结构. 重点:程序框图的画法.
难点:程序框图的画法.
1.程序框图
(1)程序框图又称________,是一种用_______、_______及___________来表示算法的图形.
(2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有________的流程线将程序框连接起来,表示算法步骤的_________.
流程图
程序框
流程线
文字说明
方向箭头
执行顺序
2.常见的程序框、流程线及各自表示的功能
表示一个算法的起始和结束
表示一个算法输入和输出的信息
判断框
连接程序框
连接点
3.顺序结构
(1)顺序结构的定义
由若干个_______________组成的,这是任何一个算法都离不开的基本结构.
(2)结构形式
依次执行的步骤
1.判断正误(在括号内打“√”或“×”)
(1)程序框图中的图形符号可以由个人来确定.( )
(2)输入框只能紧接开始框,输出框只能紧接结束框.( )
【答案】(1)× (2)×
【答案】B
【答案】C
【答案】C
程序框图的认识和理解
【例1】 下列对程序框图的图形符号的理解:
①任何一个程序框图都必须有起止框;②输入框只能放在输出框之前;③判断框是唯一具有超过一个退出点的图形符号;④对于一个程序框图来说,判断框内条件的写法是唯一的.
其中,正确的个数是( )
A.1 B.2
C.3 D.4
【答案】B
【解析】对于①,任何程序框图都必须有起始和结束,从而必须有起止框,故正确;对于②,输入、输出框可以用在算法中任何需要输入、输出的位置,故错误;对于③,判断框只有一个进入点,但一般有两个退出点,其他程序框只有一个退出点,故正确;对于④,判断框内条件的写法不是唯一的,故错误.
使用程序框的四点注意事项
1.使用标准的框图符号:终端框(起止框)、输入、输出框、处理框(执行框)、判断框都有各自专用的图形符号,不可更改.
2.起止框:任何程序框图不可缺少.
3.输入、输出框:可以用在算法中任何需要输入、输出的位置.
4.算法中间要处理的数据和计算,可分别写在不同的处理框内.
1.下列关于程序框的功能描述正确的是( )
A.(1)是处理框;(2)是判断框;(3)是终端框;(4)是输入、输出框
B.(1)是终端框;(2)是输入、输出框;(3)是处理框;(4)是判断框
C.(1)和(3)都是处理框;(2)是判断框;(4)是输入、输出框
D.(1)和(3)的功能相同;(2)和(4)的功能相同
【答案】B
【解析】根据程序框图的规定,(1)是终端框,(2)是输入、输出框,(3)是处理框,(4)是判断框.
用顺序结构表示算法
【例2】 写出求过点P1(3,5),P2(-1,2)的直线斜率的算法,并画出程序框图.
很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.
2.已知两个单元分别存放了变量x和y,试变换两个变量的值,并输出x和y,请写出算法并画出程序框图.
【解析】算法如下.
第一步,输入x,y.
第二步,把x的值赋给p.
第三步,把y的值赋给x.
第四步,把p的值赋给y.
第五步,输出x,y.
程序框图如下.
程序框图的应用
【例3】 根据如图所示的程序框图回答问题:
(1)此程序框图解决的是什么问题?
(2)当输入的x值为0和4时,输出的值相等,则当输入的x值为3时,输出的值为多少?
(3)在(2)的条件下,要使输出的值等于3,输入的x值应为多少?
(4)在(2)的条件下按照这个程序框图输出的f(x)值,当x的值大于2时,x值大的输出的f(x)值反而小,为什么?
【解题探究】由程序框图给出的信息及题意解决即可.
【解析】(1)该程序框图解决的是求二次函数f(x)=-x2+mx的函数值的问题.
(2)当输入的x的值为0和4时,输出的值相等,即-16+4m=0,解得m=4.从而当输入的x值为3时,-9+4×3=3,所以输出的值为3.
(3)令-x2+4x=3,解得x=1或=3,即要使输出的函数值等于3,输入的x的值应为1或3.
(4)因为f(x)=-(x-2)2+4,
所以函数f(x)在区间[2,+∞)内是减函数.
所以在区间[2,+∞)内,x值大的对应的函数值反而小,从而当输入的x的值大于2时,x值大的输出的f(x)值反而小.
解决此类问题的关键是“识图”,再结合有关知识解决.
3.如图,是解决某个问题而绘制的程序框图,仔细分析各框内的内容及图框之间的关系,回答下面的问题:
(1)图框①中x=2的含义是什么?
(2)图框②中y1=ax+b的含义是什么?
(3)图框④中y2=ax+b的含义是什么?
(4)该程序框图解决的是怎样的问题?
(5)当最终输出的结果是y1=3,y2=-2时,求常数a,b的值.
【解析】(1)图框①中x=2的含义是:把2赋值给变量x.
(2)图框②中y1=ax+b的含义是:该图框在执行①的前提下,即当x=2时,计算ax+b的值,并把这个值赋给y1.
(3)图框④中y2=ax+b的含义是:该图框在执行③的前提下,即当x=-3时,计算ax+b的值,并把这个值赋给y2.
(4)该程序框图解决的是求函数y=ax+b在x=2和x=-3时的函数值的问题.
(5)y1=3,即2a+b=3.⑤
y2=-2,即-3a+b=-2.⑥
由⑤⑥,得a=1,b=1.
【示例】设计程序框图,求半径为10的圆的面积.
【错解】程序框图如图1.
忽视程序框图的终端框
【错因】错解中的程序框图中缺少终端框,不是完整的.
【正解】程序框图如图2.
【警示】任何程序框图必含有两个终端框(一个开始,一个结束),一定有流程线.但并不是任何程序框图都含有输入、输出框,处理框和判断框以及连接点.
1.画程序框图实际上是将问题的算法用程序框图符号表示出来,所以首先要搞清楚需要解决什么问题,采用什么算法可以解决.
2.顺序结构描述的是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.
1.下列关于流程线的说法,不正确的是( )
A.流程线表示算法步骤执行的顺序,用来连接程序框
B.流程线只要是上下方向就表示自上向下执行可以不要箭头
C.流程线无论什么方向,总要按箭头的指向执行
D.流程线是带有箭头的线,它可以画成折线
【答案】 B
2.下列关于程序框图的说法正确的是( )
A.程序框图是描述算法的图形语言
B.在程序框图中,每个程序框只能有一个退出点
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.程序框图和流程图不是一个概念
【答案】A
【解析】判断框可以有两个退出点,B错误;相对于自然语言,用程序框图描述算法的优点主要就是直观、形象,容易理解,在步骤上简单了许多,C错误;程序框图就是流程图,D也是错误的.
3.在程序框图中,算法中间要处理数据或计算,可分别写在不同的( )
A.处理框内 B.判断框内
C.输入、输出框内 D.终端框内
【答案】A
【解析】由处理框的意义可知,对变量进行赋值,执行计算语句,处理数据,结果的传送都可以放在处理框内,故选A.
4.如图所示程序框图中,其中不含有的程序框是( )
A.终端框
B.输入、输出框
C.判断框
D.处理框
【答案】C
【解析】含有终端框,输入、输出框和处理框,不含有判断框.
(共33张PPT)
第2课时 条件结构
目标定位 重点难点
1.进一步熟悉程序框图的画法.
2.掌握条件结构的程序框图的画法.
3.能用条件结构框图描述实际问题. 重点:条件结构的程序框图的画法.
难点:条件结构的运行结构.
1.条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的________.条件结构就是处理这种过程的结构.
流向
2.条件结构程序框图两种形式及特征
一个
步骤A
1.下列关于条件结构的描述,正确的是( )
A.条件结构的出口有两个,这两个出口有时可以同时执行
B.条件结构的判断框内的条件必须是成立的
C.条件结构根据条件是否成立选择不同的分支执行
D.在条件结构的任何一个分支中,只能执行一个语句,而不能是多个
【答案】C
【答案】C
【解析】其中①③④都需要对条件作出判断,都需要用条件结构,②用顺序结构即可.
3.下列算法中,含有条件结构的是( )
A.求两个数的积
B.已知平面直角坐标系中一定点的坐标,求其与原点的距离
C.解一元二次方程
D.已知梯形两底和高求面积
【答案】C
【解析】解一元二次方程时,当判别式Δ<0时,方程无解,当Δ≥0时,方程有解,由于分情况,故用到条件结构.
4.如图所示的程序框图中,输入x=2,则输出的结果是( )
A.1 B.2
C.3 D.4
【答案】B
含条件结构的程序框图的运行
【例1】 已知如图所示的程序框图,若输入x=30,则输出的y值是( )
A.30 B.25
C.5 D.0
【答案】C
含条件结构的程序框图运行应注意的两点
1.理清所要实现的算法的结构特点和流程规则,分析其功能.
2.结合框图判断需要执行的分支,计算所要输出或输入的值.
设计含有条件结构的程序框图
【解题探究】该函数是分段函数,当x取不同范围内的值时,函数的表达式不同,因此当给出一个自变量x的值时,必须先判断x的范围,然后确定利用哪一段的函数表达式来求函数值.
【解析】算法如下.
第一步,输入自变量x的值.
第二步,判断x>0是否成立,若成立,计算y=1+x;否则,计算y=-x-3.
第三步,输出y.
程序框图如图所示.
凡是必须先根据条件作出判断然后再进行哪一个步骤的问题,在画程序框图时,必须引入一个判断框并应用条件结构.
2.设计求一个数的绝对值的算法并画出程序框图.
【解析】算法如下.
第一步,输入实数x.
第二步,若x≥0,则y=x;若x<0,则y=-x.
第三步,输出y.
程序框图如图所示.
嵌套式条件结构
【例3】 到银行办理汇款(不超过10万元),银行收取一定的手续费.汇款额度不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元.设计一个描述汇款额为x元,银行收取手续费y元的算法,并画出相应的程序框图.
第三步,若x≤5 000,则y=1%x;否则y=50.
第四步,输出y.
程序框图如图所示.
利用嵌套式条件结构解决算法问题时,要根据题目的要求引入多个判断框,而判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要逐个分析判断框内的条件.
【解析】算法如下.
第一步,输入自变量x的值.
第二步,判断x>0是否成立,若成立,计算y=1+x,执行第四步;否则,执行下一步.
第三步,判断x=0是否成立,若成立,令y=0;否则,计算y=-x-3.
第四步,输出y.
程序框图如图所示.
【示例】试设计算法和程序框图,解关于x的方程ax+b=0(a,b为常数).
【错解】本题易产生对条件的判断不全而产生错解.
【错因】这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作.
忽视对条件的判断
程序框图如下.
【警示】(1)条件结构是程序框图的重要组成部分.其特点是先判断后执行.
(2)在利用条件结构画程序框图时要注意两点:一是需要判断的条件是什么,二是条件判断后分别对应着什么样的结果.
1.对需要按给定的条件进行分析、比较和判断,并按判断的不同情况进行不同的操作的问题,设计算法时就要用到条件结构.
2.条件结构要先根据指定的条件进行判断,再由判断的结果决定选取执行两条分支路径中的某一条.
1.程序框图中,具有根据条件选择程序执行方向功能的是( )
A.处理框 B.输入、输出框
C.循环框 D.判断框
【答案】D
2.下列关于条件结构的描述,不正确的是( )
A.条件结构的出口有两个,但在执行时,只有一个出口是有效的
B.条件结构的判断条件要写在判断框内
C.双选择条件结构有两个出口,单选择条件结构只有一个出口
D.条件结构根据条件是否成立,选择不同的分支执行
【答案】C
3.输入-5,按图中所示程序框图运行后,输出的结果是( )
A.-5 B.0
C.-1 D.1
【答案】D
【解析】因x=-5,不满足x>0,所以在第一个判断框中执行“否”,在第2个判断框中,由于-5<0,执行“是”,所以得y=1.
4.如图是求实数x的绝对值的算法程序框图,则判断框①中可填________.
【答案】x≥0?(或x>0?)
【解析】因为满足条件直接输出x,否则输出-x,所以条件应该是“x≥0?”(或“x>0?”).
(共37张PPT)
第3课时 循环结构、程序框图的画法
目标定位 重点难点
1.掌握两种循环结构的程序框图的画法.
2.能进行两种循环结构程序框图间的转化.
3.能正确设置程序框图,解决实际问题. 重点:循环结构的概念、功能、要素、框图及程序框图的画法.
难点:描述和应用循环结构时,三要素的准确把握和正确表达.
1.循环结构的定义
在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为_________.
循环体
2.常见的两种循环结构
执行循环体
终止循环
执行循环体
终止循环
1.在循环结构中,每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止,这样的循环结构是( )
A.分支型循环 B.直到型循环
C.条件型循环 D.当型循环
【答案】D
2.如图所示的程序框图中,循环体是( )
A.① B.②
C.③ D.②③
【答案】B
3.如图所示的程序框图输出结果为s=1 320,则判断框中应填( )
A.i≥9?
B.i≥10?
C.i≤10?
D.i≤9?
【答案】B
【解析】1 320=12×11×10,此结构为当型循环结构,故判断框内应填i≥10?,从而输出12×11×10=1 320.
4.如图所示,程序框图中输出S的值为________.
【答案】94
【解析】该程序框图的运行过程是:i=1,S=1;i=1+1=2,S=2×(1+1)=4,i=2>5不成立;i=2+1=3,S=2×(4+1)=10,i=3>5不成立;i=3+1=4,S=2×(10+1)=22,i=4>5不成立;i=4+1=5,S=2×(22+1)=46,i=5>5不成立;i=5+1=6,S=2×(46+1)=94,i=6>5成立,输出S=94.
含循环结构程序框图的运行
【例1】 执行下面的程序框图,若输入的a,b,k分别为1,2,3,则输出的M=( )
【解题探究】解决好本题需要搞清楚两个问题:
1.弄清循环几次才结束?
2.弄清每次a,b,M的值.
【答案】D
运行含循环结构的程序框图的步骤
1.按顺序逐步运行.
2.写出每次运行后各个变量的结果.
3.一直写到满足条件(或不满足条件)退出循环,输出结果.
1.阅读如图所示的程序框图,运行相应的程序,则输出i的值为( )
A.2 B.3
C.4 D.5
【答案】C
【解析】模拟执行程序框图,可得S=10,i=0,i=1,S=9,不满足条件S≤1;i=2,S=7,不满足条件S≤1;i=3,S=4,不满足条件S≤1;i=4,S=0,满足条件S≤1,退出循环,输出i的值为4.故选C.
含循环结构程序框图的应用
【例2】 设计框图实现1+3+5+7+…+131的算法.
【解题探究】由于需加的数较多,所以要引入循环结构来实现累加.观察所加的数是一组有规律的数(每相邻两数相差2),那么可考虑在循环过程中,设一个变量i,用i=i+2来实现这些有规律的数.
【解析】这是一个累加问题,重复进行了多次加法,可以用循环结构描述,需引入累加变量s和计数变量i,这里每一次循环s与i的值都在改变.先用自然语言描述:
算法如下.
第一步,赋初值i=1,s=0.
第二步,s=s+i,i=i+2.
第三步,如果i≤131,则反复执行第二步;否则,执行下一步.
第四步,输出s.
程序框图如图所示.
1.应用循环结构必须具备的条件
(1)算法问题中涉及的运算进行了多次重复;
(2)参与运算的数前后有规律可循.
2.循环结构解决累加(乘)时应注意的问题
(1)一般要引入累加(乘)变量和计数变量;
(2)引入的变量要根据需要赋初值;
(3)在循环体中要对计数变量的值加以改变,对判断框内的变量的值也要改变.
【解析】程序框图如图所示.
方法一: 方法二:
程序框图的画法及其实际应用
【例3】 高中某班一共有40名学生,设计程序框图,统计班级数学成绩良好(90≥分数>80)和优秀(分数>90)的人数.
【解题探究】用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s,然后对s的值进行判断.设两个计数变量m,n,如果s>90,则m=m+1,如果80【解析】程序框图如图所示.
设计程序框图解决实际应用问题的步骤
1.审清题意,恰当设未知数.
2.建立数学模型,如函数、方程、不等式、累和、累积等数学问题.
3.设计算法步骤.
4.根据算法步骤画出程序框图.
3.某店一个月的收入和支出总共记录了N个数据a1,a2,…,aN,其中收入记为正数,支出记为负数.该店用如图所示的程序框图计算月总收入S和月净盈利V,那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的
( )
A.A>0?,V=S-T
B.A<0?,V=S-T
C.A>0?,V=S+T
D.A<0?,V=S+T
【答案】C
【解析】由程序框图可以看出,判断框中应填“A>0?”,因为当满足条件时右边执行S=S+A,即收入,故应填“A>0?”.而处理框中应填V=S+T,因为T为负数即支出,所以V=S+T,即收入减去支出.
【示例如图是一算法的程序框图,若此程序运行结果为s=720,则在判断框中应填入关于k的判断条件是( )
A.k≥6? B.k≥7?
C.k≥8? D.k≥9?
忽视对条件的判断而致误
【错解】B
【错因】本题是当不满足框中的条件时结束循环,当判断框中的条件满足时执行循环,故应从k=10开始按照递减的方式逐步进行,直到s的输出结果为720时循环终止.
【正解】s=720=1×10×9×8,所以循环体执行三次,则判断框中应填入关于k的判断条件是k≥8或k>7.故选C.
【警示】本题主要考查了当型循环结构,循环结构有两种形式:当型循环结构和直到型循环结构,当型循环是先判断后循环,直到型循环是先循环后判断,属于基础题.
对循环结构的理解:
①循环结构中必须包含条件结构,以保证在适当的时候终止循环.
②循环结构内不存在无终止的循环.
③循环结构实质上是判断和处理的结合,可以先判断,再处理,此时是当型循环结构;也可以先处理再判断,此时是直到型循环结构.
④循环结构中常用的几个变量:
计数变量:即计数器,用来记录执行循环体的次数,如i=i+1,n=n+1.
累加变量:即累加器,用来计算数据之和,如S=S+i.
累乘变量:即累乘器,用来计算数据之积,如P=P*i.
⑤在程序框图中,一般要根据实际情况先给这些变量赋初始值.一般情况下,计数变量的初始值为1,累加变量的初始值为0,累乘变量的初始值为1.
⑥循环过程非常适合计算机来处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,不过是一瞬间的事,且能保证每次的结果都正确.
1.执行如图所示的程序框图,输出的S值为( )
A.2 B.4
C.8 D.16
【答案】C
【解析】利用程序框图的算法特点求解.当k=0时,满足k<3,因此S=1×20=1;当k=1时,满足k<3,因此S=1×21=2;当k=2时,满足k<3,因此S=2×22=8;当k=3时,不满足k<3,因此输出S=8.
2.根据如图所示的程序框图,当输入x为6时,输出的y的值为( )
A.1 B.2
C.5 D.10
【答案】D
【解析】模拟执行程序框图,可得当输入x=6时,x=3,满足条件x≥0;x=0,满足条件x≥0;x=-3,不满足条件x≥0,y=10.输出y的值为10.故选D.
【答案】B
【解析】因为该循环体需要运行50次,i的初始值是1,间隔是1,所以i=50时不满足判断框内的条件,而i=51时满足判断框内条件,所以判断框内的条件可以填入i>50?.
4.执行如图所示的程序框图,若输出S的值为-20,则判断框内应填入( )
A.i>3? B.i<4?
C.i>4? D.i<5?
【答案】D
【解析】由程序框图可得,第一次循环:S=10-2=8,i=2;第二次循环:S=8-4=4,i=3;第三次循环:S=4-8=-4,i=4;第四次循环:S=-4-16=-20,i=5,结束循环.故条件框内应填写“i<5?”.
(共37张PPT)
1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
目标定位 重点难点
1.理解输入语句、输出语句、赋值语句的基本含义.
2.能用输入语句、输出语句、赋值语句编写简单的程序. 重点:会用输入语句、输出语句、赋值语句.
难点:正确理解输入语句、输出语句、赋值语句的作用.
输入语句
变量
PRINT语句
表达式
赋值号
注:①赋值号左边只能是变量名字,而不能是表达式.如:2=X是错误的.
②赋值号左右不能对换.如“A=B”“B=A”的运行结果是不同的.
③不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等).
④赋值号“=”与数学中的等号意义不同.
1.下列语言中,哪一个是输入语句( )
A.PRINT B.INPUT
C.IF D.LET
【答案】B
【答案】B
【解析】在程序语句中乘方要用“^ ”表示,所以A项不正确;乘号“*”不能省略,所以C项不正确;D项中应用SQR(x)表示,所以D项不正确;B选项是将变量A的相反数赋给变量A,则B项正确.
3.下列正确的语句的个数是( )
①输入语句 INPUT a+2
②赋值语句 x=x-5
③输出语句 PRINT M=2
A.0 B.1
C.2 D.3
【答案】B
【解析】①中输入语句只能给变量赋值,不能给表达式a+2赋值,所以①错误;②中x=x-5表示变量x减去5后再赋给x,即完成x=x-5后,x比原来的值小5,所以②正确;③中不能输出赋值语句,所以③错误.
4.判断下列给出的输入语句、输出语句和赋值语句是否正确,并说明理由.
(1)输入语句INPUT a;b;c
(2)输出语句PRINT A=4
(3)赋值语句3=B
(4)赋值语句A=B=-2
【解析】(1)错,变量之间应用“,”号隔开.
(2)错,PRINT语句不能用赋值号“=”.
(3)错,赋值语句中“=”号左右不能互换.
(4)错,一个赋值语句只能给一个变量赋值.
输入语句、输出语句
【例1】 (1)下列输出语句书写不正确的是( )
A.PRINT S
B.PRINT S=4
C.PRINT “S=”;S
D.PRINT (a+b+c)/3
(2)下列语句书写正确的是________(只填序号).
①INPUT x=3
②INPUT a,b,c
③PRINT a,b,c
④A=B=C=3
⑤i=i+1
【解题探究】1.输出语句有计算功能吗?
2.赋值语句中的等号与数学中的等号意义相同吗?
【答案】(1)B (2)②③⑤
【解析】(1)由输出语句的格式及功能知A,C,D正确,不能直接输出S=4,故选B.(2)对于①,不能直接输入x=3,书写格式不正确,故①错误;
对于②,省略了“提示内容”,书写正确,故②正确;
对于③,省略了“提示内容”,书写正确,故③正确;
对于④,根据赋值语句的格式,“=”左边应为单个变量,右边为表达式或具体数值,故④错误;
对于⑤,符合赋值语句的格式,且赋值语句具有计算功能,故⑤正确.
解决输入语句和输出语句要明确的三个问题
1.输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能),若输入多个数,各数之间用“,”隔开.
2.计算机执行到输入语句时,暂停,等候用户输入“提示内容”所提示的数据,输入后回车,则程序继续进行,“提示内容”及其后的“;”可省略.
3.输出语句可以输出常数,变量或表达式的值(输出语句有计算功能)或字符,程序中引号内的部分将原始呈现.
1.下列输入语句正确的是( )
A.INPUT 2,3,4
B.INPUT “x=”;x,“y=”;y
C.INPUT x,y,z
D.INPUT x=2
【答案】C
【解析】输入语句不能直接输入常量,其中的提示信息只能紧跟INPUT,且不能多次提示,故选C.
赋值语句
【解析】由程序可知y与x的关系为y=x2+2x,
(1)当x=3时,y=32+2×3=15.
即输入3时,程序执行的结果为15.
(2)若y=3,即x2+2x=3.解得x=1或x=-3.
即若程序执行结果为3,则输入的值为1或-3.
赋值语句给变量赋值时,有两种形式:一种是将具体的数值赋给左边的变量,一种是将表达式的值赋给左边的变量.对于第二种情况,要先明确表达式中各个变量的具体值,再对表达式进行计算,最后将计算结果赋给左边的变量.明确变量的取值与最后一次赋值有关.
【答案】C
【解析】选项A中程序执行后A=B=10,选项B中程序执行后A=B=10,选项C中程序执行后A=20,B=10,选项D中程序执行后A=B=10.
算法、框图和语句之间的相互转化
【例3】 以下是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.
【解题探究】该程序主要利用了输入语句、赋值语句和输出语句进行算法描述,只要按顺序从上到下将输入语句、赋值语句、输出语句表达的内容填入相应的程序框即可.
【解析】程序框图如图所示.
算法语句与程序框图以不同的形式展示给我们解决问题的方法,算法语句与程序框图之间是可以互化的.
1.程序中的输入语句、赋值语句、输出语句与程序框图中的输入框、处理框、输出框是一一对应的,如图所示.
2.注意在BASIC语言中常见运算符号的书写方式,明确它们的运算规则:先乘除,后加减;乘幂优先于乘除;函数优先于乘幂;同级运算从左向右按顺序进行;括号内最优先.
3.以下是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.
【解析】程序框图如图所示.
【示例】(2015年福建三明高一检测)若将两个数a=8,b=17交换,使a=17,b=8.下面语句正确的一组是( )
对赋值语句的意义理解不清
【错解】A或C
【正解】利用赋值语句交换两个变量的值可以引入中间变量,且程序运行时,每个变量的值是最后一次的赋值,故B满足题意.而对D,第一行a=c不符合赋值语句的格式,故D错误.对于A,C,因为没有引入中间变量,所以不满足题意.故选B.
【警示】1.准确理解赋值语句的意义
若多次给某一变量赋值,程序运行时,该变量的值是最后一次的赋值,其他值都被该值覆盖了.
2.交换两变量值的方法
要引入中间变量,并把两变量其中的一个值赋给中间变量.如本例的B答案.
1.输入时,“提示内容”是提示用户输入什么样的信息;输出时,含引号的内容会原样输出.
2.输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式.
3.提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开.
4.输出语句中可以包含运算.
5.赋值号左边只能是变量名字,而不能是表达式,如“2=x”是错误的.
1.在INPUT语句中,如果同时输入多个变量,变量之间的分隔符是( )
A.逗号 B.分号
C.空格 D.引号
【答案】A
2.下列给出的赋值语句正确的是( )
A.6=N
B.A=-A
C.5+c=a
D.x2-9=(x+3)(x-3)
【答案】B
【解析】按照赋值语句的要求,变量的值不能赋给常量,所以A错;左边只能是变量,不能是表达式,C错;不能进行代数式的演算,D错;B的意义是将-A的值赋给A,故B正确.
3.下列程序执行后,变量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,输出的a,b的值分别为20,15.
4.给出下列程序
输出的结果是________.
【答案】5
【解析】第一步,把3的值赋给a.
第二步,把a的值3赋给b,则b的值为3.
第三步,把b+2(即3+2=5)的值赋给b,此时b=5.
第四步,输出b的值.
(共35张PPT)
1.2.2 条件语句
目标定位 重点难点
1.理解学习基本算法语句的意义.
2.学会条件语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 重点:条件语句的基本用法.
难点:算法语句的写法.
1.条件语句
语句体
语句体1
语句体2
条件
语句体
END IF
条件
语句体1
语句体2
格式 格式一 格式二
功能 首先对IF后的________进行判断,如果(IF)条件符合,那么(THEN)执行________,否则执行________之后的语句 首先对IF后的________进行判断,如果(IF)条件符合,那么(THEN)执行________,否则(ELSE)执行________
1.条件语句对应的基本逻辑结构是( )
A.顺序结构 B.条件结构
C.循环结构 D.以上都不正确
【答案】B
2.下列关于条件语句的说法正确的是( )
A.条件语句中必须有ELSE和END IF
B.条件语句中可以没有END IF
C.条件语句中可以没有ELSE,但是必须有END IF
D.条件语句中可以没有END IF,但是必须有ELSE
【答案】C
【答案】①③
【解析】②直接用顺序结构即可,不需用条件语句;而①需要判断这个数的正负,③是分段函数求值问题,故需用到条件语句.
4.写出下列语句的运行结果:
输入a=-4,输出结果为________;输入a=9,输出结果为________.
【答案】负数 3
条件语句与条件结构
【例1】 编写一个程序,求实数x的绝对值.
【解题探究】首先写出算法,根据算法画出框图,从而写出条件语句.
程序框图如下图. 程序如下.
根据条件结构写条件语句时的关注点
1.选择语句格式.当判断语句的两个出口都有语句时,采用“IF-THEN-ELSE”语句;当判断语句的两个出口只有一个有语句时,采用“IF-THEN”语句.
2.确定条件和语句体.条件即为判断框内的条件,放在IF后,判断框中“是”后的处理框中的内容是THEN后的语句体1,“否”后的处理框中(如果有的话)的内容,是ELSE后的语句体2.
1.如图是某种算法的程序,回答下面的问题.
条件语句的嵌套
【解析】程序一(嵌套结构)
程序框图如下. 程序如下.
程序二(叠加结构)
程序框图如下. 程序如下.
使用条件语句嵌套应注意两点
1.适用范围:适用于判断条件多于一个时.此时,若重复应用条件语句,书写程序烦琐,可用条件语句的嵌套.
2.分清层次:编写条件时,要注意IF和END IF的配对,常常利用文字的缩进来表示嵌套的层次,以便于程序的阅读与理解.嵌套可以多于2个.
2.中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用(INT(t)是一个函数,用来取t的整数部分,删除小数部分).
【解析】程序如下.
理不清条件语句的嵌套
【错解】x≥10和END IF
【错因】①处没有正确理解条件语句条件的作用,②处忽视了嵌套条件语句的结构,有几个IF就得有几个END IF,以上两错导致程序无法运行.
【警示】1.认真审题,弄清题意
设计或完善程序时,一定要弄清程序的功能,即程序是解决什么问题的.如本例的分段函数问题,要注意不同的定义区间.
2.理清嵌套条件语句的结构
嵌套语句中至少有两个IF,有几个IF就有几个END IF与之配对,否则程序无法运行,另外要注意嵌套条件语句的层次性.如本例在②处应填写两个END IF.
1.条件语句的作用是在程序执行的过程中,根据判断是否满足约定的条件而决定是否需要转换到别处去.需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理.如判断一个数的正负,确定两个数的大小,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套.
2.编写程序的一般步骤.
(1)算法分析:根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法.
(2)画程序框图:依据算法分析,画出程序框图.
(3)写出程序:根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来.
1.条件语句的一般形式是“IF A THEN B ELSE C END IF”,其中C表示的是( )
A.满足条件时执行的内容
B.不满足条件时执行的内容
C.条件
D.条件语句
【答案】B
【解析】根据条件语句的格式可知:C表示不满足条件时执行的语句体,故选B.
2.对条件语句的描述正确的是( )
A.ELSE后面的语句不可以是条件语句
B.两个条件语句可以共用一个END IF语句
C.条件语句可以没有ELSE后的语句
D.条件语句中IF?THEN语句和ELSE后的语句必须同时存在
【答案】C
【解析】条件语句是处理条件分支逻辑结构的算法语句,表示形式有两种:①IF?THEN?ELSE?END IF格式,执行时,先对IF后的条件进行判断,若条件符合,执行THEN后的语句,否则执行ELSE后的语句.②IF?THEN?END IF格式,执行时,先对IF后的条件进行判断,若条件符合,执行THEN后的语句,否则结束条件语句,执行其他语句.故选C.
3.如图所示的程序是计算函数y=f(x)函数值的程序,若输入的x的值为4,则输出的y值为( )
A.17 B.3
C.-3 D.-17
【答案】C
4.阅读下列程序.
若输入x=5,输出________.
【答案】5
【解析】∵x=5≥4,∴y=5.∴输出5.
(共38张PPT)
1.2.3 循环语句
目标定位 重点难点
1.理解学习基本算法语句的意义.
2.学会循环语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 重点:循环语句的基本用法.
难点:循环语句的写法.
1.循环结构
循环结构有两种形式:当型循环结构和直到型循环结构.
(1)________循环结构,如图①所示.
当型
(2)________循环结构,如图②所示.
直到型
2.循环语句
(1)当型循环语句
当型(WHILE型)语句的一般格式为:
________ ________
________
________
(2)直到型循环语句
直到型(UNTIL型)语句的一般格式为:
________
________
________ ________ ________
WHILE
条件
循环体
WEND
DO
循环体
LOOP
UNTIL
条件
3.直到型循环语句与当型循环语句的区别与联系
循环语句 直到型循环语句 当型循环语句
区别 ①先执行一次循环体,再对条件进行判断,然后根据判断的结果决定是否继续执行循环体,称为“后测试型”循环 ①先对条件进行判断.根据判断的结果决定是否执行循环体,称为“前测试型”循环
②至少执行一次循环体 ②可能一次也不执行循环体
联系 ①当型循环语句与直到型循环语句本质上是相同的,可以相互转化
②对同一算法来说,当型循环和直到型循环的条件互为反条件
1.下列语句不属于基本算法语句的是( )
A.赋值语句 B.运算语句
C.条件语句 D.循环语句
【答案】B
2.关于WHILE语句的一般格式中,下列说法正确的是( )
A.总是执行循环体
B.执行一次循环体
C.满足条件时执行循环体
D.遇到WEND就结束
【答案】C
【解析】WHILE语句执行时,先判断条件,若条件成立,就执行循环体,再判断,为真,再执行,直到条件为假时结束循环.
3.下列循环语句,循环终止时,i等于( )
A.2 B.3
C.4 D.5
【答案】B
【解析】该循环语句是当型循环语句,当条件i<3开始不成立时,循环终止,则所求i=3.
4.给出的四个程序框图,其中满足WHILE语句结构的是( )
A.①② B.②③
C.②④ D.③④
【答案】B
【解析】WHILE(当型)循环是指先判断后执行,先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环.根据WHILE(当型)循环的定义,逐一对四个选项判断可知,②③满足条件.故选B.
UNTIL语句的应用(直到型)
【例1】 用UNTIL语句设计程序计算2+4+6+…+100.
【解题探究】设计程序前需要画出程序框图.
【解析】程序框图如下. 程序如下.
UNTIL语句的适用类型及执行方式
1.根据下列程序框图,把程序中所缺少的语句补充完整.
程序框图: 程序:
解:由程序框图可知利用了直到型循环结构,对应的语句为直到型循环语句,DO后面执行的为循环体,故①②处应分别为S=S+i^2,i=i+1,直到满足条件i>100为止,所以③处应为i>100.
WHILE语句的应用(当型)
【例2】 下面是利用直到型循环语句编写的程序,请把它改写为当型循环语句.
【解题探究】首先注意WHILE型循环语句的格式,然后搞清其中的条件与UNTIL型语句中的条件正好相反.
【解析】程序如下(当型循环语句).
WHILE语句的执行过程
计算机执行到WHILE语句时,先判断条件是否成立,如果成立,则执行WHILE和WEND之间的循环体;后返回WHILE语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程反复进行,直到某一次WHILE语句判断上述条件不成立为止,这时不再执行循环体,而是跳到WEND语句后,执行WEND后面的语句.
2.设计一个计算1×3×5×7×…×99的算法,编写算法程序.
【解析】算法如下.
第一步,s=1.
第二步,i=3.
第三步,s=s×i.
第四步,i=i+2.
第五步,如果i≤99,那么转到第三步.
第六步,输出s.
程序如下(WHILE型循环语句).
循环语句中控制条件的确定
【例3】 若1+3+5+…+n>10 000,设计一个程序,寻找满足条件的最小整数n.
【解题探究】我们可以用累加的方法,1+3+5+…,一个数一个数地向上加,直到加上一个数后和刚好大于10 000,则这个数即为寻找的最小整数.
【解析】(方法一)
程序框图如下. 程序如下.
(方法二)
程序框图如下. 程序如下.
对于循环结构中的三个要素(循环变量、循环体、循环终止条件)来说,循环变量与循环终止条件比较容易识别,而循环体是关键,要由题意及所给算式的特征,找出自变量的变化规律,注意结合循环终止条件解决,所以循环体要从整体把握,结合其他知识解决.
3.若下面的程序段输出结果是41,则横线处应填( )
A.i>4
B.i>=4
C.i<4
D.i<=4
【答案】D
【解析】模拟程序的运行结果如下:s=0,i=1;s=0×1+1=1,i=2;s=1×2+1=3,i=3;s=3×3+1=10,i=4;s=10×4+1=41,i=5;此时应条件不成立,跳出循环,输出s=41.故横线处可以填i<=4.故选D.
【示例】某商场第一年销售计算机5 000台,如果平均每年的销售量比上一年增加10%,那么从第一年起,到第几年可使总销量达到40 000台?写出解决此问题的程序.
读不懂题意致误
【错解】程序如下.
【错因】错解中的循环求出的S不是总销量,而是每年的年销量.用“m=m*(1+0.1)”表示累乘,求出每年销量;用“S=S+m”表示累加,求出总销量.
【正解】程序如下.
1.循环语句用两种形式的语句均可.
2.当型循环不满足条件就离开,而直到型循环一旦满足条件就离开.
3.所有程序最后都要用“END”.
1.下列对WHILE语句说法不正确的是( )
A.先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体
B.当条件不符合时,计算机不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句
C.WHILE型语句结构也叫当型循环
D.当型循环有时也称为“后测试型”循环
【答案】D
2.下列循环语句,循环终止时,i等于( )
A.3 B.4
C.5 D.6
【答案】C
【解析】该循环语句是直到型循环语句,当条件i>4开始成立时,循环终止,则i=5.
3.下列程序中循环体运行次数是( )
A.4 B.5
C.6 D.60
【答案】C
【解析】循环体第1次运行后,i=50,第2次运行后,i=60,第3次运行后,i=70,第4次运行后,i=80,第5次运行后,i=90,第6次运行后,i=100>90条件成立,循环终止,则共运行了6次.
4.将求1×2×3×4×5×6×7×8×9×10的程序补充完整:①________,②________.
a=10
b=1
WHILE __①__
b=b*a
a=__②__
WEND
PRINT “1×2×3×4×5×6×7×8×9×10=”;b
END
【答案】①a>0 ②a-1
【解析】a的初始值为10,故循环体中的值应该递减,即a从10减到1,循环的条件为a>0,当然也可以为a≥1.
(共40张PPT)
1.3 算法案例
目标定位 重点难点
1.理解古代数学中的算法案例,能用程序框图和基本算法语句表示出来.
2.引导学生得出自己设计的算法程序.
3.体会算法的基本思想,提高逻辑思维能力,发展有条理的思考与数学表达能力. 重点:引导学生得出自己设计的算法步骤、程序框图和算法程序.
难点:体会算法的基本思想,提高逻辑思维能力,发展有条理的思考与数学表达能力.
1.辗转相除法与更相减损术
除法
减法
循环结构
名称 辗转相除法 更相减损术
区别 ①以________为主.
②两个整数差值较大时运算次数较少.
③相除余数为零时得结果. ①以________为主.
②两个整数的差值较大时,运算次数较多.
③相减,两数相等得结果.
联系 ①都是求最大公约数的方法.
②二者的实质都是递归的过程.
③二者都要用__________来实现.
2.秦九韶算法
概念:求多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值时,常用秦九韶算法,这种算法的运算次数较少,是多项式求值比较先进的算法,其实质是转化为求n个________多项式的值,共进行________次乘法运算和________次加法运算.
3.进位制
人们为了计数和运算方便而约定的计数系统,“满k进一”就是________进制,k是基数(其中k是大于1的整数).
一次
n-1
n
k
1.怎样用短除法求最大公约数?
【解析】短除法求两个正整数的最大公约数的步骤:先用两个数公有的质因数连续去除,一直除到所得的商是两个互质数为止,然后把所有的除数连乘起来.
2.用辗转相除法求36与134的最大公约数,第一步是( )
A.134-36=98
B.134=36×3+26
C.先除以2,得到18与67
D.36=26×1+10
【答案】B
【解析】求36与134的最大公约数,第一步是134=36×3+26,第二步是36=26×1+10,故选B.
3.用辗转相除法求294和84的最大公约数时,需要做除法的次数是( )
A.1 B.2
C.3 D.4
【答案】B
【解析】本题考查辗转相除法的过程.294=84×3+42,84=42×2,故选B.
4.以下各数有可能是五进制数的是( )
A.15 B.106
C.731 D.21 340
【答案】D
【解析】五进制数中各个数字均是小于5的自然数,则仅有21 340满足.
辗转相除法和更相减损术的应用
【例1】 用辗转相除法或者更相减损术求三个数324,243, 135的最大公约数.
【解析】辗转相除法
324=243×1+81,243=81×3+0,
则324与243的最大公约数为81.
又135=81×1+54,81=54×1+27,
54=27×2+0,
则81与135的最大公约数为27.
所以,三个数324,243,135的最大公约数为27.
更相减损术
324-243=81,243-81=162,162-81=81,则324与243的最大公约数为81.
135-81=54,81-54=27,54-27=27,则81与135的最大公约数为27.
所以,三个数324,243,135的最大公约数为27.
更相减损术与辗转相除法的比较:尽管两种算法分别来源于东、西方古代数学名著,但是二者的算理却是相似的,有异曲同工之妙.主要区别在于辗转相除法进行的是除法运算,即辗转相除;而更相减损术进行的是减法运算,即辗转相减,但是实质都是一个不断的递归过程.
1.分别用辗转相除法和更相减损术求1 734和816的最大公约数.
【解析】辗转相除法
1 734=816×2+102,816=102×8(余0),
∴1 734与816的最大公约数是102.
更相减损术
因为两数皆为偶数,首先除以2得到867,408,再求867与408的最大公约数.
867-408=459,459-408=51,408-51=357,
357-51=306,306-51=255,255-51=204,
204-51=153,153-51=102,102-51=51.
∴1 734与816的最大公约数是51×2=102.
用秦九韶算法求多项式的值
【例2】 用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.
【解题探究】解决本题首先需要将原多项式化成f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x的形式,其次再弄清v0,v1,v2,…,v7分别是多少,再针对这些式子进行计算.
【解析】f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x,所以有
v0=7;
v1=7×3+6=27;
v2=27×3+5=86;
v3=86×3+4=262;
v4=262×3+3=789;
v5=789×3+2=2 369;
v6=2 369×3+1=7 108;
v7=7 108×3=21 324.
故当x=3时,多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x的值为21 324.
用秦九韶算法时要正确将多项式的形式进行改写,然后由内向外依次计算.当多项式函数中间出现空项时,要以系数为零的齐次项补充.
2.已知n次多项式Pn(x)=a0xn+a1xn-1+…+an-1x+an,如果在一种算法中,计算x(k=2,3,4,…,n)的值需要k-1次乘法,计算P3(x0)的值共需要9次运算(6次乘法,3次加法),那么计算P10(x0)的值共需要__________次运算.下面给出一种减少运算次数的算法:P0(x)=a0,Pk+1(x)=xPk(x)+ak+1(k=0,1,2,…,n-1).利用该算法,计算P3(x0)的值共需要6次运算(3次乘法,3次加法),计算P10(x0)的值共需要__________次运算.
【答案】65 20
把k进制数化为十进制数
【例3】 (1)把七进制数123化成十进制数为________.
(2)下列各数85(9),301(5),1 000(4)中最小的数是______.
【解题探究】1.七进制数从右边数第二位的数字若是k(k=0,1,2,3,4,5,6),其在十进制中表示的数是多少?
2.相同进制中,位数越多的数越大对吗?不同进制中的数如何比较大小?
【答案】(1)66 (2)1 000(4)
【解析】(1)123(7)=1×72+2×71+3×70=49+14+3=66.
(2)85(9)=8×91+5×90=72+5=77.
301(5)=3×52+0×51+1×50=75+1=76.
1000(4)=1×43+0×42+0×41+0×40=64.
所以1 000(4)最小.
1.k进制数化为十进制数的步骤
(1)把k进制数写成不同数位上的数字与k的幂的乘积之和的形式.
(2)按十进制数的运算规则运算出结果.
2.进位制的性质
(1)在k进制中,具有k个数字符号,它们是0,1,2,…,(k-1).
(2)在k进制中,由低位向高位是按“满k进一”的规则进行计数.
(3)不同进位制都是按位置原则计数的.
3.(1)101(2)转化为十进制数是( )
A.2 B.5
C.20 D.101
(2)下列最大数是( )
A.110(2) B.18
C.16(8) D.20(5)
【答案】(1)B (2)B
【解析】(1)101(2)=1×22+0×21+1×20=5.
(2)110(2)=1×22+1×21+0×20=6;16(8)=1×81+6×80=14;20(5)=2×51+0×50=10,则最大数是18.
把十进制数化为k进制数
【例4】 把89化为二进制数.
【解析】根据二进制数“满二进一”的原则,可以用2连续去除89或所得商,然后取余数.具体计算方法如下:
因为89=2×44+1,44=2×22+0,
22=2×11+0,11=2×5+1,
5=2×2+1,2=2×1+0,
1=2×0+1,
所以
89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+1
=2×(2×(2×(2×(22+1)+1)+0)+0)+1
=…
=1×26+0×25+1×24+1×23+0×22+0×21+1×20
=1 011 001(2).
这种算法叫做除2取余法,还可以用下面的除法算式表示:
把上式中各步所得的余数从下到上排列,得到89=1 011 001(2).
上述方法也可以推广为把十进制数化为k进制数的算法,称为除k取余法.
十进制数化为k进制数(除k取余法)的步骤
4.(1)(2015年黑龙江哈尔滨高一检测)把十进制数15化为二进制数为( )
A.1011 B.1001(2)
C.1111(2) D.1111
(2)把四进制数13 022化为六进制数为________.
【答案】(1)C (2)2 042(6)
【解析】(1)因为
所以15=1 111(2),故C正确.
(2)先把四进制数13 022化为十进制数.
13 022(4)=1×44+3×43+0×42+2×41+2×40=256+192+0+8+2=458.
【示例】下列结论正确的是( )
A.88(9)<210(6) B.62=124(5)
C.110(2)>10(3) D.32(4)=23(6)
【错解】A或B
不同进位制之间数的大小比较时忽略转化致误
【错因】对于选项A没有进行转化,而直接由210(6)是三位数,88(9)是两位数,三位数大于两位数,从而误选A;对于选项B省略了转化,因为10是5的2倍,从而误以为五进制数是十进制数的2倍,从而误选B.
对于B:因为124(5)=1×52+2×51+4×50=39≠62,所以B错误.
对于C:因为110(2)=1×22+1×21+0×20=6,
10(3)=1×31+0×30=3,6>3,所以C正确.
对于D:因为32(4)=3×41+2×40=14,
23(6)=2×61+3×60=15,14≠15.
所以D错误.故选C.
【警示】1.对于非十进制数之间的互化,通常是把这个数先转化为十进制数,然后再利用除k取余法,把十进制数转化为k进制数.而在使用除k取余法时要注意以下两点:(1)必须除到所得的商是0为止;(2)各步所得的余数必须从下到上排列;(3)切记在所求数的右下角标明基数.
2.注意进位制成倍数关系的两数的区别
k进制数并不是2k进制数的2倍,如十进制数化为五进制数时,并不是该十进制数的2倍,如本例中62≠124(5).
1.求最大公约数的方法要熟练使用,但一般不要求会编写相应的程序.
2.三个数的最大公约数求法一般是只求第一与第二个数的最大公约数,然后求这个最大公约数与第三个数的最大公约数.
3.秦九韶算法的优点是能减少计算量,对相应的程序框图不作具体要求.
4.进位制是十分重要的知识点,要求掌握不同进位制的转换.
1.下列有关辗转相除法的说法正确的是( )
A.它和更相减损术一样是求多项式值的一种方法
B.基本步骤是用较大的数m除以较小的数n得到除式m=nq+r,直至rC.基本步骤是用较大的数m除以较小的数n得到除式m=qn+r(0≤rD.以上说法均不正确
【答案】C
2.k进制数32 501(k),则k不可能是( )
A.5 B.6
C.7 D.8
【答案】A
【解析】k进制数中各个数字均小于k,则k≠5.
3.按照秦九韶算法求多项式f(x)=1.5x5+3.5x4-4.1x3-3.6x+6当x=0.5时的值的过程中,令v0=a5,v1=v0x+a4,…,v5=v4x+a0,则v4=( )
A.4.25 B.-1.975
C.-0.987 5 D.-4.093 75
【答案】D
【解析】由题意,v0=1.5,v1=1.5×0.5+3.5=4.25,v2=4.25×0.5-4.1=-1.975,v3=-1.975×0.5+0=-0.987 5,v4=-0.987 5×0.5-3.6=-4.093 75.
4.21(7)+13(4)=________.
【答案】22
【解析】21(7)=2×71+1×70=15,13(4)=1×41+3×40=7,则21(7)+13(4)=15+7=22.