1.2.1 输入语句、输出语句和赋值语句
[提出问题]
已知小明同学在一次期中考试中语文、数学、英语学科成绩分别为120,126,110.
问题1:画出求三科平均分的框图.
提示:如图所示:
问题2:该问题能用计算机处理吗?如何操作?
提示:能.应将算法过程转化成计算机理解的语言.
[导入新知]
三种算法语句的格式及功能
名称
格式
功能
输入语句
INPUT“提示内容”;变量,其中“提示内容”一般是提示用户输入什么样的信息
把程序中新输入的值赋给变量
输出语句
PRINT“提示内容”;表达式
在计算机的屏幕上输出常量、变量的值和系统信息
赋值语句
变量=表达式
将表达式所代表的值赋给变量.一般先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量
[化解疑难]
1.对输入语句的理解
(1)又称“键盘输入语句”,在程序运行过程中,计算机用户由键盘输入数,而不是需要在写程序时指定.
(2)输入语句要求输入的值是具体的常量.
(3)“提示内容”一般是提示用户输入什么样的信息,必须加双引号,提示内容会原原本本地在计算机屏幕上显示,提示内容与变量之间要用分号隔开,当然“提示内容”及后面的分号也可省略,直接输入数据.
(4)输入语句没有计算功能.
2.对输出语句的理解
(1)又称“打印语句”,将表达式的值在屏幕上显示出来;
(2)表达式可以是变量,计算公式或系统信息;
(3)一个语句可以输出多个表达式,不同的表达式之间可用逗号分隔;
(4)有计算功能,能直接输出计算公式的值.
3.对赋值语句的理解
(1)赋值语句中的“=”是赋值号,其作用是将它右边的一个确定值赋给左边的一个变量,执行时先计算“=”右边的值,再将该值赋给左边的变量,因此,赋值语句具有计算和赋值双重功能.但不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等),如y=x2-1=(x-1)(x+1),这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.
(2)可以对一个变量多次赋值,每次赋的新值将取代变量中的原有值.
(3)赋值号两侧的内容不能随意互换,如A=B与B=A是不同的.
(4)赋值号的左侧只能是一个变量.
(5)一个赋值语句只能给一个变量赋值,如A=B=C=3是错误的.
输入和输出语句
[例1] (1)利用输入语句可以给多个变量赋值,下面能实现这一功能的语句是( )
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
(2)编写一个程序,给定圆的半径,求圆的周长和面积(取π≈3.14),要求输入圆的半径r的值,输出圆的周长L和面积S.
[解] (1)选B 提示内容与输入内容之间要用“;”隔开,故A错;提示内容在前,输入内容在后,故C错;输入语句用“INPUT”而非“PRINT”,故D错.
(2)程序如下:
[类题通法]
利用输入、输出语句编程应注意的问题
(1)输入语句没有计算功能,只能输入常量;而输出语句有计算功能,可以输出常量、变量或表达式的值以及字符.
(2)“提示内容”和变量之间用分号隔开,若输入(出)多个数,各数之间应用逗号隔开,“提示内容”可以省略.
(3)程序中运算符号要规范,输出语句不能输出一个等式,这是易错点.
[活学活用]
下列程序若输出的结果为3,则输入的x值可能是( )
A.1
B.-3
C.-1
D.1或-3
解析:选D 根据条件可知,x2+2x=3,解得x=1或-3.
赋值语句
[例2] (1)看下面赋值语句的写法:
①x=2
y+z;②x=3,y=4,z=5;?
③x+y=7;④y=3.14
5;⑤y=x+z=3+4.?
其中写法正确的有( )
A.1个
B.2个
C.3个
D.4个
(2)阅读下列程序,并指出当a=3,b=-5时的计算结果:
① ② ③
输出结果:①a=________,b=________;
②a=________,b=________;
③a=________,b=________.
[解析] (1)①②④正确,③⑤错误.
(2)在程序①中,将a+b=-2的值赋给X,将a-b=8的值赋给Y,然后将(X+Y)/2的值3赋给a,将(X-Y)/2的值-5赋给b;在程序②中,将a+b=-2的值赋给a,将a-b=3的值赋给b(注意,此时a的值为-2),然后将(a+b)/2的值0.5赋给a,将(a-b)/2的值-1.25赋给b(注意,此时a的值为0.5);在程序③中,将a+b=-2的值赋给a,将a-b=3的值赋给b(注意,此时a的值为-2),然后将(a-b)/2的值-2.5赋给a,将(a+b)/2的值0.25赋给b(注意,此时a的值为-2.5).
[答案] (1)C (2)①3 -5 ②0.5 -1.25
③-2.5 0.25
[类题通法]
1.赋值语句的几种常见形式
(1)赋予变量常数值,如a=1.
(2)赋予变量其他变量或表达式的值,如b=a,b=2a+1.
(3)变量自身的值在原值上加常数或变量,如i=i+1,i=i+S.
2.根据程序求输出结果应注意以下两点
(1)根据给出的算法语句写结果,应抓住输入、输出语句和赋值语句的特点,按语句的计算、赋值功能依次执行.
(2)注意在算法语言中常见运算符号的书写方式,明确它们的运算规则:先乘除,后加减;乘幂优先于乘除;同级运算从左向右按顺序进行;括号内最优先.
[活学活用]
1.下列给出的赋值语句正确的是( )
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正确.
2.设A=10,B=20,则可以实现A,B的值互换的程序是( )
A.
B.
C.
D.
解析:选C A中程序执行后A=B=10,B中程序执行后A=B=10,C中程序执行后A=20,B=10,D中程序执行后A=B=10.
算法语句与程序框图的转换
[例3] 读下面的程序,根据程序画出程序框图.
[解] 程序框图如图所示:
[类题通法]
算法语句与程序框图的关系
(1)顺序结构的程序框图利用输入语句、输出语句和赋值语句即可完成.其中输入、输出框对应输入语句和输出语句,执行框对应赋值语句.
(2)由程序画程序框图是上述过程的逆过程,只需把输入语句、输出语句与输入、输出框对应转化,将赋值语句与执行框对应转化即可.
[活学活用]
用算法语句写出下面程序框图的程序.
解:程序如下:
[典例] 下列程序语言中表达式的值正确的是( )
A.6
?SQR(4)+3^
2
2=154
B.3
(5+4)+?SQR(9)^2=17
C.(5+3
(12-7))/4=5
D.(2+3)
5-4+2
3
SQR(4)^2=72
[解析] A中错误之处是违背运算顺序的规定,正确含义为:6×+32×2=30;B中正确含义为3×(5+4)+()2=36;C的含义是[5+3×(12-7)]÷4=5;D中的含义为(2+3)×5-4+2×3×()2=45.
[答案] C
[易错防范]
1.计算机中的程序运算顺序与一般数学的运算顺序相同,但运算符号的书写方式不同,此处极易混淆.
2.数学符号与程序符号对照表
数学符号
程序符号
×(代数运算中的乘法运算符号)
(程序里面表示乘法的运算符号)
÷(代数运算中的除法运算符号)
/(程序里面表示除法的运算符号)
[](代数中取整运算,如[5÷3]=1)
\(程序里面表示取整运算如5\3=1)
ab(代数运算中指数运算符号)
a^
b(程序里面表示指数的运算符号)
≤(代数中小于等于符号)
<=(程序里面表示小于等于的符号)
≥(代数中大于等于符号)
>=(程序里面表示大于等于的符号)
≠(代数中不等号符号)
<>(程序里面表示不等于的符号)
|x|(代数运算中的取绝对值)
ABS(x)(程序里面取绝对值的函数)
(代数运算中求算术平方根)
SQR(x)(程序里面取算术平方根的函数)
且(逻辑中的“且”运算)
AND(程序里面表示逻辑中的“且”运算)
或(逻辑中的“或”运算)
OR(程序里面表示逻辑中的“或”运算)
[成功破障]
运行下面的程序,若输入x=1,则输出结果y=________.
解析:由程序知x=2,x=2×3=6,
y=x2+6=62+6=42.
答案:42
[随堂即时演练]
1.下列给出的输入输出语句正确的是( )
①输入语句INPUT a,b,c,d,e;
②输入语句INPUT X=1;
③输出语句PRINT A=4;
④输出语句PRINT 10,3
2,2/3.
A.
①②
B.②③
C.③④
D.①④
解析:选D ①INPUT语句可以给多个变量赋值,变量之间用“,”隔开;②INPUT语句中只能是变量,而不能是表达式;③PRINT语句中不用赋值号“=”;④PRINT语句可以输出常量、表达式的值.
2.下列算法:①z=x;②x=y;③y=z;④输出x,y.关于算法的作用,叙述正确的是( )
A.交换了原来的x,y
B.让x与y相等
C.变量z与x,y相等
D.x,y仍是原来的值
解析:选A 本算法利用了中间变量z,使x,y的值进行了互换.
3.计算机执行下面的程序后,输出的结果为________.
解析:∵a=1,b=2,
∴a=1+2=3,b=3-2=1.
答案:3,1
4.下面的程序的功能是求所输入的两个正数的平方和,已知最后输出的结果为3.46,试据此将程序补充完整:①________,②________.
解析:由于程序的功能是求所输入的两个数的平方和,所以,S=x+x;又由于最后输出的结果是3.46,所以3.46=1.12+x,解得x=2.25.又x2是正数,所以x2=1.5.
答案:①1.5 ②x1^2+x2^2
5.如下是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.
解:程序框图如图所示:
[课时达标检测]
一、选择题
1.下列给出的输入、输出语句正确的是( )
①INPUT a;b;c ②INPUT x=3
③PRINT A=4 ④PRINT 20,3
2
A.
①②
B.②③
C.③④
D.④
答案:D
2.下列给出的赋值语句中正确的是( )
A.x+3=y-2
B.d=d+2
C.0=x
D.x-y=5
答案:B
3.执行下列算法语句后的结果(x
MOD
y表示整数x除以整数y的余数)为( )
(运行时从键盘上输入16和5)
A.A=80,B=1,C=401
B.A=80,B=3,C=403
C.A=80,B=3.2,C=403.2
D.A=80,B=3.2,C=404
答案:A
4.将两个数a=25,b=9交换,使a=9,b=25,下面语句正确的一组是( )
A B C
D
答案:C
5.程序:
若输入的是2,则输出的值是( )
A.16
B.120
C.240
D.360
答案:C
二、填空题
6.
(1)程序Ⅰ的运行结果为________;
(2)若程序Ⅱ与程序Ⅰ运行结果相同,则程序Ⅱ输入的值为________.
解析:(1)程序Ⅰ中,x=x+2=2,
x=x+3=2+3=5,
故输出x的值是5.
(2)程序Ⅱ的功能是求y=x2+6x+10的函数值,
由题意知程序Ⅱ中y=5,
∴x2+6x+10=5,
即x=-1或-5.
输入的值为-1或-5.
答案:(1)5 (2)-1或-5
7.程序:
若输入的是3,则运行结果是________.
解析:先对M,N进行赋值运算,第一句输入3时,将3赋给了M;第二句,将3赋给N;第三句,将12赋给M;第四句,将18赋给P;第五句,将54赋给Q;第六句,输出M,N,P,Q的值.
答案:12,3,18,54
8.结合下图,下面程序输出的结果为________.
解析:该程序功能是求一个边长为a的正方形,去掉一个边长为b的小正方形后剩余的面积(即阴影部分面积),最后输出S2的值为a2-b2.
答案:a2-b2
三、解答题
9.已知函数f(x)=3x-1,求f[f(2)]的值.编写一个程序,解决上述问题.
解:程序如下:
10.某城市规定,在法定工作时间内每小时的工资是8元,在法定工作时间外每小时的加班工资为16元,某人在一周内工作60小时,其中加班20小时.编写程序,计算这个人这一周所得的工资.
解:算法如下:
第一步,输入法定工作时间.
第二步,输入加班工作时间.
第三步,计算法定工作时间所得工资.
第四步,计算加班工作时间所得工资.
第五步,计算这个人这一周所得的工资.
第六步,输出这个人这一周所得的工资.
程序框图如图所示:
程序如下:
11.以下是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.
解:程序框图如图所示:1.1.2 程序框图与算法的基本逻辑结构
第一课时 程序框图、顺序结构
程序框图
[提出问题]
计算1×2+3×4+5×6+…+99×100.
问题1:能否设计一个算法,计算这个式子的值?
提示:可以.
问题2:你能采用更简洁的方式表述上述算法过程吗?如何表示?
提示:可以,利用程序框图.
[导入新知]
1.定义
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
2.表示
在程序框图中,算法的一个步骤通常用一个或几个程序框的组合来表示;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
3.常见的程序框及其功能
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线
连接程序框
连接点
连接程序框图的两部分
[化解疑难]
程序框图中图形符号的应用
(1)终端框(起止框)是任何程序框图都不可缺少的,表示程序的开始和结束.一个完整的程序框图首末两端必须是终端框.
(2)输入、输出框表示数据的输入或结果的输出,可用在算法中任何需要输入、输出的位置,有时不止一个.
(3)处理框可以用于对变量赋值.另外,算法中处理数据需要的算式、公式等,也可以写在用以处理数据的处理框内.
(4)当算法要求对两个不同的结果进行判断时,需要将实现判断的条件写在判断框内.
(5)一个算法步骤到另一个算法步骤用流程线连接.如果一个流程图需要分开来画,要在断开处画上连接点,并标出连接的号码.
顺序结构
[提出问题]
问题1:若下图中a,b分别表示某矩形的长和宽,则该框图所表示的算法功能是什么?
提示:计算矩形的面积.
问题2:计算机执行上述算法解决问题时,其执行顺序有何特点?
提示:按照顺序从上到下依次进行.
[导入新知]
顺序结构
概念
图示
顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.
[化解疑难]
顺序结构的特点
语句与语句之间、框与框之间是按照从上到下的顺序进行的.上图所示虚框内是一个顺序结构,其中“步骤n”和“步骤n+1”两个框是按顺序执行的,即只有在执行完“步骤n”后,才能接着执行“步骤n+1”.
对程序框图的认识和理解
[例1] (1)关于程序框图的框图符号的理解,正确的有( )
①任何一个程序框图都必须有起止框;②输入框、输出框可以在算法中任何需要输入、输出的位置出现;③判断框是唯一具有超过一个退出点的框图符号;④对于一个程序来说,判断框内的条件是唯一的.
A.1个
B.2个
C.3个
D.4个
(2)下列说法正确的是( )
A.程序框图中的图形符号可以由个人来确定
B.也可以用来执行计算语句
C.输入框只能紧接在起始框之后
D.长方形框是执行框,可用来对变量赋值,也可用来计算
[解析] (1)任何一个程序都有开始和结束,从而必须有起止框;输入、输出框可以在算法中任何需要输入、输出的位置出现,判断框内的条件不是唯一的,如a>b?也可以写为“a≤b”?.但其后步骤需相应调整,故①②③正确,④错误.
(2)程序框是由通用图形符号构成,并且有特殊含义,A不正确;菱形框是判断框,只能用来判断,所以B不正确;输入框可用在算法中任何需要输入的位置,所以C也不正确;由程序框的功能可知D项正确.
[答案] (1)C (2)D
[类题通法]
1.画程序框图的规则
(1)使用标准的程序框图的图形符号.
(2)程序框图一般按照从上到下、从左到右的顺序画.
(3)一个完整的程序框图必须有终端框,用于表示一个算法的开始和结束.
(4)除判断框外,大多程序框图的图形符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的框图符号.
(5)一种判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另外一种是多分支判断,可能有几种不同的结果.
(6)在程序框图的图形符号内,用于描述的语言要简练、清楚.
2.规则的记法
以上规则简记为:框图符号标准化;框内语言精练化;框间流程方向化,从上到下,从左到右勿颠倒;起止框不可少,判断框搞特殊:一进口,两出口.
[活学活用]
1.在程序框图中,表示判断框的图形符号的是( )
解析:选C 四个选项中的程序框依次为处理框,输入、输出框,判断框和起止框.
2.下列关于程序框图的说法正确的是( )
A.程序框图是描述算法的图形语言
B.在程序框图中,一个判断框最多只能有两个退出点
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.程序框图和流程图不是一个概念
解析:选A 由于存在一种多分支判断,所以一个判断框可能有多个退出点,所以B选项是错误的;相对于自然语言,用程序框图描述算法的优点主要就是直观、形象,容易理解,在步骤上简单了许多,所以C选项是错误的;程序框图就是流程图,所以D选项也是错误的.
用顺序结构表示算法
[例2] 求底面边长为4,侧棱长为5的正四棱锥的侧面积及体积,为该问题设计算法,并画出程序框图.
[解] 算法一:第一步,a=4,c=5.
第二步,R=a.
第三步,h=
,S=a2.
第四步,V=Sh.
第五步,h′=
第六步,S=2ah′.
第七步,输出S,V.
程序框图如图所示:
算法二:第一步,a=4,c=5.
第二步,S=2a
.
第三步,V=a2.
第四步,输出S,V.
程序框图如图所示:
[类题通法]
应用顺序结构表示算法的步骤
(1)认真审题,理清题意,明确解决方法;
(2)明确解题步骤;
(3)用数学语言描述算法,明确输入量、计算过程、输出量;
(4)用程序框图表示算法过程.
[活学活用]
已知点P0(x0,y0)和直线l:Ax+By+C=0,写出求点P0到直线l的距离d的算法及程序框图.
解:用数学语言描述算法:
第一步,输入点的横、纵坐标x0,y0,
输入直线方程的系数,即常数A,B,C.
第二步,计算z1=Ax0+By0+C.
第三步,计算z2=A2+B2.
第四步,计算d=
.
第五步,输出d.
程序框图:
与顺序结构有关的读图问题
[例3] 如图所示是解决某个问题而绘制的程序框图.仔细分析各图框内的内容及图框之间的关系,回答下面的问题:
(1)图框①中x=2的含义是什么?
(2)图框②中y1=ax+b的含义是什么?
(3)图框④中y2=ax+b的含义是什么?
(4)该程序框图解决的是怎样的一个问题?
(5)若最终输出的结果y1=3,y2=-2.当x取5时输出的结果5a+b的值应该是多大?
(6)在(5)的前提下,输入的x值越大,输出的ax+b是不是越大?为什么?
(7)在(5)的前提下,当输入的x值为多大时,输出结果等于0
[解] (1)图框①中x=2表示把2赋给变量x.
(2)图框②中y1=ax+b的含义:该图框在执行①的前提下,即当x=2时计算ax+b的值,并把这个值赋给y1.
(3)图框④中y2=ax+b的含义:该图框在执行③的前提下,即当x=-3时计算ax+b的值,并把这个值赋给y2.
(4)该程序框图解决的是求函数f(x)=ax+b的函数值的问题.其中输入的是自变量x的值,输出的是x对应的函数值.
(5)y1=3,即2a+b=3.
y2=-2,即-3a+b=-2.
得a=1,b=1.
∴f(x)=x+1.
∴x取5时,5a+b=5×1+1=6.
(6)输入的x值越大,输出的函数值ax+b越大,因为f(x)=x+1是R上的增函数.
(7)令f(x)=x+1=0,得x=-1,因而当输入的x值为-1时,输出的函数值为0.
[类题通法]
由程序框图识别算法功能应注意的问题
根据算法功能求输出结果,或根据输出结果求框图中某一步骤,应注意以下几点:
(1)要明确各框图符号的含义及作用;
(2)要明确框图的方向流程;
(3)要正确认图,即根据框图说明该算法所要解决的问题.
其中明确算法功能是解决此类问题的关键.
[活学活用]
1.根据如图程序框图,若输入m的值是3,则输出的y的值是________.
解析:若输入m的值是3,则p=8,y=8+5=13,
故输出y的值为13.
答案:13
2.已知在平面直角坐标系中有一个圆心在坐标原点,半径为c的圆,(a,b)为任一点,则如图所示的程序框图表示的算法的作用是________.
解析:∵x=表示点(a,b)到原点(0,0)的距离,∴该算法的功能是计算点(a,b)到原点的距离与圆的半径之差.
答案:计算点(a,b)到原点的距离与圆的半径之差
[典例] 设计一个算法,已知函数y=2x的图象上,任意给定两点的横坐标x1和x2(x1≠x2),求过这两点的直线的斜率,并画出程序框图.
[解题流程]
[规范解答]
算法如下:
第一步,输入x1,x2.
第二步,计算y1=2x1.
第三步,计算y2=2x2.
第四步,计算k=.
第五步,输出k.
程序框图:
[类题通法]
程序框图的画法
画程序框图一般分三步:
(1)第一步,用自然语言表述算法步骤(又称算法分析);
(2)第二步,确定每一个算法步骤所含的逻辑结
构,并用相应的程序框图表示;
(3)第三步,将所有步骤的程序框图用流程线连接起来,并加上终端框,得到整个表示算法的程序框图.
[活学活用]
已知一个直角三角形的两条直角边长分别为a,b,求该直角三角形内切圆的面积.试设计求解该问题的算法,并画出程序框图.
解:算法步骤如下:
第一步,输入a,b.
第二步,计算c=
.
第三步,计算r=(a+b-c).
第四步,计算S=πr2.
第五步,输出面积S.
相应程序框图如图:
[随堂即时演练]
1.对程序框图叙述正确的是( )
A.表示一个算法的起始和结束,程序框是
B.表示一个算法输入和输出的信息,程序框是
C.表示一个算法的起始和结束,程序框是
D.表示一个算法输入和输出的信息,程序框是
解析:选C 由程序框的算法功能可知,选项C正确.
2.下列所画程序框图是已知直角三角形两直角边a,b求斜边c的算法,其中正确的是( )
解析:选C 根据顺序结构的要求,先输入,后计算,再结合直角三角形的三边关系可知C正确.
3.若R=8,则如图所示的程序框图运行后的结果为a=________.
解析:R=8→b==2→a=2b=4.
答案:4
4.如图是求长方体的体积和表面积的一个程序框图,补充完整,横线处应填______________________.
解析:根据题意,长方体的长、宽、高应从键盘输入,故横线处应填写输入框
答案:
5.写出求函数y=2x+3图象上任意一点到原点的距离的算法,并画出相应的程序框图.
解:算法如下:
第一步,输入横坐标的值x.
第二步,计算y=2x+3.
第三步,计算d=
.
第四步,输出d.
程序框图如图所示:
[课时达标检测]
一、选择题
1.下列关于程序框图的说法正确的是( )
①程序框图只有一个入口,也只有一个出口;
②程序框图中的每一部分都应有一条从入口到出口的路径通过它;
③流程线只要是上下方向就表示上下执行,可以不要箭头;
④连接点是用来连接两个程序框图的.
A.①②③
B.②③
C.①④
D.①②
答案:D
2.下列是程序框图中的一部分,表示恰当的是( )
答案:A
3.如图所示的程序框图,若输入x=3,则输出y的值为( )
A.33
B.34
C.40
D.45
答案:B
4.如图所示的程序框图,若输出的结果为2,则①处的执行框内应填的是( )
A.x=2
B.b=2
C.x=1
D.a=5
答案:C
5.如图所示的是一个算法的程序框图,已知a1=3,输出的b=7,则a2等于( )
A.9
B.10
C.11
D.12
答案:C
二、填空题
6.执行如图所示的程序框图,输出ω的值为________.
解析:ω=5×10+8×2=50+16=66.
答案:66
7.已知点P(x0,y0),直线l:x+2y-3=0,求点P到直线l的距离的一个算法程序框图如图所示,则在①处应填________.
解析:应填上点到直线的距离公式.
答案:d=
8.如图所示程序框图,则输出X的值是________.
解析:X=1+3+5=9.
答案:9
三、解答题
9.已知一个圆的周长为a,求这个圆的面积.试设计该问题的算法,并画出程序框图.
解:由圆的周长及面积公式可得.
算法如下:
第一步,输入a的值.
第二步,计算r=的值.
第三步,计算S=πr2的值.
第四步,输出结果.
相应的程序框图如右图:
10.如图所示的程序框图,根据该图和下列各小题的条件回答下面的几个小题.
(1)该程序框图解决的是一个什么问题?
(2)当输入的x的值为0和4时,输出的值相等,问:当输入的x的值为3时,输出的值为多大?
(3)在(2)的条件下要想使输出的值最大,输入的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)最大值=4.
所以要想使输出的值最大,输入的x的值应为2.1.2.3 循环语句
[提出问题]
相传古代印度国王舍罕要褒赏他聪明能干的宰相达依尔(国际象棋的发明者),问他想要什么,达依尔回答说:“国王只要在象棋棋盘的第1个格子里放1粒麦子,第2个格子里放2粒,第3个格子里放4粒,以后按此比例每格加一倍,一直放到第64个格子(国际象棋棋盘是8×8=64格),我就感恩不尽,其他的我什么也不要了.”国王想:“这还不容易!”让人扛来一袋麦子,但不到一会儿就全用完了,再扛来一袋很快又没有了,结果全印度的粮食全部用完还不够.国王纳闷,怎样也算不清这笔账.
问题1:设计出国王计算多少粒麦子的算法.
提示:算法步骤如下:
第一步,令i=0,S=0.
第二步,P=2i,S=S+P,i=i+1.
第三步,若i≤63,则返回第二步.
否则,执行第四步.
第四步,输出S.
问题2:根据“问题1”中的算法画出程序框图.
提示:如图所示:
问题3:若仅采用前面我们所学习的算法语句,还能编写出其对应的程序吗?
提示:不能.
[导入新知]
循环语句的格式、功能
直到型
当型
程序结构框图
格式
DO循环体LOOP_UNTIL 条件
WHILE 条件循环体WEND
执行步骤
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体直到某一次条件符合为止.这时不再执行循环体,跳出循环体执行UNTIL语句之后的语句
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND之后的语句
[化解疑难]
1.两种循环语句的区别
执行的顺序不同
执行UNTIL语句时,先执行循环体,再判断条件,直到条件满足;执行WHILE语句时,先判断条件,再执行循环体,直到条件不满足
条件的内容不同
UNTIL语句中的条件是循环结束的条件,满足此条件时,执行循环体后面的语句,不满足时执行循环体;WHILE语句中的条件是执行循环体的条件,满足此条件时,执行循环体,否则执行循环体后面的语句
循环体的执行次数不同
由于UNTIL语句是先执行循环体再判断条件,因此,任何一个UNTIL语句中,循环体至少要执行一次,直到条件满足;而WHILE语句是先判断条件,因此,循环体可能一次也不执行就退出循环体
2.两种循环语句的联系
两种语句都可以实现计算机反复执行循环体的目的,只是表达形式不同.一般地,WHILE语句和UNTIL语句可以相互转化.
UNTIL语句的应用
[例1] (1)根据下列程序框图,把程序中所缺少的语句补充完整.
程序框图
程序:
(2)设计算法求2+4+6+…+100的值,要求画出程序框图,写出用基本语句编写的程序.
[解] (1)由程序框图可知利用了直到型循环结构,对应的语句为直到型循环语句,DO后面执行的为循环体,故①②处应分别为S=S+i^2,i=i+1,直到满足条件i>100为止,所以③处应为i>100.
(2)程序框图如图所示:
答案:(1)①S=S+i^2 ②i=i+1 ③i>100
[类题通法]
1.UNTIL语句的适用类型
直到型循环又称“后测试”循环,也就是我们所讲的“先执行后测试”“先循环后判断”.
2.使用UNTIL语句应关注两点
(1)DO语句只是循环的开始标记,遇到DO语句,程序只是记住这个标记,其他什么也不做,接着执行后面的循环体,在执行一次循环体后,再检查LOOP
UNTIL语句中的条件是否成立,如果不成立,就重复执行循环体,直到条件符合时退出循环.
(2)在循环体内,应注意务必有相应的语句使“条件”改变,保证能终止循环,否则循环将无休止地进行下去.
[活学活用]
在下面的程序运行中,计算机输出的结果是________.
解析:根据题意,程序对20每次减3,直至小于0为止,当循环到第6次时,x=2,此时仍不符合循环条件,故x变为-1,至此x<0,满足循环条件,结束循环.
答案:-1
WHILE语句的应用
[例2] (1)下列程序运行后输出的结果为( )
A.1
B.3
C.5
D.7
(2)给出的30个数,1,2,4,7,11,…,其规律是第1个数是1,第2个数比第1个数大1,第3个数比第二个数大2,第4个数比第3个数大3,…,依次类推,要求计算这30个数的和,写出程序.
[解] (1)选C 该程序的执行过程是i=1,i=1<5是;
i=1+2=3,i=3<5是;
i=3+2=5,i=5<5否.
输出i的值为5.
(2)程序:
[类题通法]
1.WHILE语句的适用类型
当型循环也叫“前测试”循环,也就是我们所讲的“先测试后执行”“先判断后执行”.
2.使用WHILE语句应关注五点
(1)当型循环以WHILE开头,以WEND作为结束标志.WEND是WHILE
END的缩写,表示“WHILE循环到此结束”.
(2)一般来讲,WHILE语句与UNTIL语句可以相互转化.
(3)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
(4)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行循环结构后面的语句.
(5)WHILE语句由于先判断条件,再执行循环体,因此,循环体可能一次也不执行就退出循环结构.
[活学活用]
读程序,回答下列问题:
(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)当
循环语句的综合应用
[例3] 下面程序的功能是输出1~100间的所有偶数.
程序:
(1)试将上面的程序补充完整;
(2)改写为WHILE
型循环语句.
[解] (1)①m=0 ②i=i+1
(2)改写为WHILE型循环程序如下:
[类题通法]
应用循环语句解决问题应关注两点
(1)对于累加求和问题及累乘求积问题,需用到循环结构,解题的关键是设立累加变量S及控制循环次数的计数变量,可以用当型循环语句或直到型循环语句来设计程序.
(2)在WHILE语句中是当条件满足时执行循环体,而在UNTIL语句中是当条件不满足时执行循环体,二者是有区别的,在用两种循环语句编写程序时应注意条件的不同,它们的表达方法恰好是相反的.
[活学活用]
1.读下面甲、乙两个程序:
程序甲 程序乙
对甲、乙两个程序和输出的结果表述正确的是( )
A.程序不同,结果相同
B.程序不同,结果不同
C.程序相同,结果相同
D.程序相同,结果不同
解析:选A 执行甲、乙程序后可知都是计算1+2+3+4+…+1
000的值.
2.编写程序,计算函数f(x)=x2-3x+5,当x=1,2,3,…,20时的函数值.
解:程序如下:
5.循环语句的应用
[典例] 试编写程序,求满足1+3+5+…+n>10
000的最小自然数n.
[解题流程]
方法二:直到型循环:
[类题通法]
循环语句编写程序的“条件三步曲”
(1)给循环语句中的变量赋初始值:n=1,S=0;
(2)找出在程序中反复执行的部分,即循环体:
S=S+n,n=n+2;
(3)找出控制循环的条件:本题中终止循环的条件是S>10
000(或S≤10
000).
[活学活用]
设计程序求使1×2×…×n<10
000成立的最大正整数n,并画出程序框图.
解:
[随堂即时演练]
1.关于循环语句的说法不正确的是( )
A.算法中的循环结构由WHILE语句来实现
B.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句
C.一般来说UNTIL语句和WHILE语句可以互相转换
D.算法中的循环结构由循环语句来实现
解析:选A 算法中的循环结构由循环语句来实现,循环语句包括UNTIL语句和WHILE语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A是错误的,其余都正确.
2.设计一个计算1×3×5×7×9×11×13的算法.下面给出了程序的一部分,则在横线①上不能填入的数是( )
A.13
B.13.5
C.14
D.14.5
解析:选A 程序运行过程中,各变量值如下表所示:
第1次循环:S=1×3,i=5,
第2次循环:S=1×3×5,i=7,
第3次循环:S=1×3×5×7,i=9,
第4次循环:S=1×3×5×7×9,i=11,
第5次循环:S=1×3×5×7×9×11,i=13,
第6次循环:S=1×3×5×7×9×11×13,i=15,
退出循环.
故应填入的数要大于13且小于等于15,则在横线①上不能填入的数是13,故选A.
3.已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为________________.
解析:因为输出的结果是360,即S=1×6×5×4×3,需执行4次,S需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3.
答案:i<3
4.对于下面一个程序:
运行后输出的结果为________.
解析:执行过程如下:M=5,N=0;
当N=0<15时,N=0+5=5,M=5-1=4;
当N=5<15时,N=5+4=9,M=4-1=3;
当N=9<15时,N=9+3=12,M=3-1=2;
当N=12<15时,N=12+2=14,M=2-1=1;
当N=14<15时,N=14+1=15,M=1-1=0;
当N=15时不小于15,终止循环,最后输出M的值为0.
答案:0
5.设计算法求+++…+的值.要求画出程序框图,写出用基本语句编写的程序.
解:这是一个累加求和问题,共1
007项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.
程序框图如图所示:
程序如下:
[课时达标检测]
一、选择题
1.下列问题,设计程序求解时,要用到循环语句的有( )
①输入每个同学的数学成绩,求全班同学的平均分;
②求分段函数的函数值;
③求连续100个自然数的平方和;
④输入100个数,从中找出最大的数.
A.1个
B.2个
C.3个
D.4个
答案:C
2.下面为一个求20个数的平均数的程序,在横线上应填充的语句为( )
A.i>20
B.i<20
C.i>=20
D.i<=20
答案:A
3.有以下程序段,其中描述正确的是( )
A.循环体语句执行10次
B.循环体是无限循环
C.循环体语句一次也不执行
D.循环体语句只执行一次
答案:C
4.以下程序( )
A.输出结果是1
B.能执行一次
C.能执行10次
D.是“死循环”,有语法错误
答案:D
5.下面两个程序最后输出的“S”分别等于( )
A.17,17
B.21,21
C.21,17
D.14,21
答案:C
二、填空题
6.下面的程序执行后输出的结果是________.
解析:第一次执行循环体:S=5,n=4;
第二次执行循环体:S=9,n=3;
第三次执行循环体:S=12,n=2,此时S≥10,循环终止,故输出n=2.
答案:2
7.下列程序运行后,输出的值为________.
解析:由程序知i2≥2
000时,
i的最小值为45,又把i-1=44的值赋给i,∴i=44.
答案:44
8.将求1×2×3×4×5×6×7×8×9×10的程序补充完整:①________,②________.
解析:a的初始值为10,故循环体中的值应该递减,即a从10减到1,循环的条件为a>0,当然也可以为a≥1.
答案:①a>0 ②a-1
三、解答题
9.给出一个算法的程序框图(如图所示).
(1)说明该程序的功能;
(2)请用WHILE型循环语句写出程序.
解:(1)该程序的功能是求1+++…+的值.
(2)程序如下:
10.某商场第一年销售计算机5
000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30
000台?画出解决此问题的程序框图,并写出程序.
解:程序框图如图所示:
程序:1.3
算法案例
辗转相除法与更相减损术
[提出问题]
问题1:如何求18与54的最大公约数?
提示:短除法.
问题2:要求6
750与3
492的最大公约数,上述法还好用吗?
提示:数值太大,短除法不方便用.
问题3:还有没有其他方法,可用来解决“问题2”中的问题?
提示:有.
[导入新知]
1.辗转相除法
(1)辗转相除法,又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.
(2)辗转相除法的算法步骤:
第一步,给定两个正整数m,n.
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;否则返回第二步.
2.更相减损术
(1)更相减损术是我国古代数学专著《九章算术》中介绍的一种求两个正整数的最大公约数的算法.
(2)其基本过程是:
第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
[化解疑难]
辗转相除法与更相减损术的比较
两种方法
辗转相除法
更相减损术
计算法则
除法
减法
终止条件
余数为0
减数与差相等
最大公约数的选取
最后一步中的除数
最后一步中的减数
计算次数
步骤较少,运算复杂
步骤较多,运算简单
相同点
同为求两个正整数最大公约数的方法,都是递归过程
秦九韶算法
[提出问题]
已知多项式f(x)=x5+3x4-3x3+4x2-x-1.
问题1:求f(1).
提示:f(1)=1+3-3+4-1-1=3.
问题2:若求f(39),再代入运算出现什么情况?
提示:运算量太大,不易运算.
问题3:当x的值较大时,有没有更好的方法求函数值呢?
提示:有.可将f(x)转化为求一次多项式的值.
[导入新知]
秦九韶算法的算法原理
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:
f(x)=anxn+an-1xn-1+…+a1x+a0
=(anxn-1+an-1xn-2+…+a1)x+a0
=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0
=…
=(…((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)的值就转化为求n个一次多项式的值.
[化解疑难]
秦九韶算法的步骤
进位制
[提出问题]
问题1:今天是星期二,那么20天后是星期几?
提示:20天后是星期一.
问题2:每周七天,逢七便又是一循环,这与我们所学过的十进制,逢十进一是否有相似之处?
提示:其实一周七天,与十进制一样,相当于逢七进一,是七进制论法.
[导入新知]
1.进位制
(1)概念:进位制是为了计数和运算方便而约定的记数系统,“满几进一”就是几进制.
(2)基数:几进制的基数就是几.
2.不同进位制之间的互化
(1)k进制化为十进制的方法:
anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k+a0(an,an-1,…,a1,a0∈N,0<an<k,0≤an-1,…,a1,a0<k).
(2)十进制化为k进制的方法——除k取余数.
[化解疑难]
常见的进位制
(1)二进制:①只使用0和1两个数字;②满二进一,如1+1=10.
(2)八进制:①使用0,1,2,3,4,5,6,7八个不同的数字;②满八进一,如7+1=10.
(3)十六进制:①使用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这十六个不同的数码,其中A,B,C,D,E,F分别代表十进制中的10,11,12,13,14,15;②满十六进一,如F+1=2+E=10.
求最大公约数
[例1] 分别用辗转相除法和更相减损术求779与209的最大公约数.
[解] (1)辗转相除法:
779=209×3+152,
209=152×1+57,
152=57×2+38,
57=38×1+19,
38=19×2.
所以,779与209的最大公约数为19.
(2)更相减损术:
779-209=570, 152-57=95,
570-209=361,
95-57=38,
361-209=152,
57-38=19,
209-152=57,
38-19=19.
所以779和209的最大公约数为19.
[类题通法]
1.用辗转相除法求最大公约数的步骤
2.用更相减损术求最大公约数的步骤
第一步,给定两个正整数m,n(m>n且m,n不全是偶数).
第二步,计算m-n所得的差k.
第三步,比较n与k的大小,其中大者用m表示,小者用n表示.
第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.
[活学活用]
用辗转相除法和更相减损术求1
515与600的最大公约数,需要运算的次数分别为( )
A.4,15
B.5,14
C.5,13
D.4,12
解析:选B 辗转相除法:1515=600×2+315;600=315×1+285,315=285×1+30,285=30×9+15,30=15×2,故最大公约数为15,且需计算5次.用更相减损术法:1515-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次.
秦九韶算法及其应用
[例2] 用秦九韶算法求多项式f(x)=6x6+5x5+4x4+3x3+2x2+x当x=2时的值.
[解] f(x)=(((((6x+5)x+4)x+3)x+2)x+1)x,
当x=2时,有
v0=6,
v1=6×2+5=17,
v2=17×2+4=38,
v3=38×2+3=79,
v4=79×2+2=160,
v5=160×2+1=321,
v6=321×2=642,
故当x=2时,多项式f(x)=6x6+5x5+4x4+3x3+2x2+x的值为642.
[类题通法]
秦九韶算法原理及注意事项
(1)秦九韶算法的原理是
(k=1,2,…,n).
(2)在运用秦九韶算法进行计算时,应注意每一步的运算结果,像这种一环扣一环的运算,如果错一步,那么下一步,一直到最后一步就会全部算错,同学们在计算这种题时应格外小心.
[活学活用]
用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1.当x=0.4时的值时,需要做乘法和加法的次数分别是( )
A.6,6
B.5,6
C.5,5
D.6,5
解析:选A f(x)=(((((3x+4)x+5)x+6)x+7)x+8)x+1,所以需要进行6次乘法和6次加法.
进位制
[例3] (1)将101
111
011(2)转化为十进制数;
(2)将235(7)转化为十进制数;
(3)将137(10)转化为六进制数;
(4)将53(8)转化为二进制数.
[解] (1)101
111
011(2)=1×28+0×27+1×26+1×25+1×24+1×23+0×22+1×21+1×20=379(10).
(2)235(7)=2×72+3×71+5×70=124(10).
(3)∵137=3×62+4×6+5,
∴137(10)=345(6).
(4)53(8)=5×81+3×80=43(10).
∴53(8)=101
011(2).
[类题通法]
1.k进制数化为十进制数的步骤
(1)把k进制数写成不同数位上的数字与k的幂的乘积之和的形式.
(2)按十进制数的运算规则运算出结果.
2.十进制数化为k进制数(除k取余法)的步骤
[活学活用]
若六进制数13m502(6)化为十进制数等于12
710,求数字m的值.
解:因为13m502(6)
=1×65+3×64+m×63+5×62+0×61+2×60
=216m+11
846,
令216m+11
846=12
710,
所以m=4.
[典例] 利用秦九韶算法求f(x)=x5+x3+x2+x+1当x=3时的值( )
A.121
B.283
C.321
D.239
[解析] 原多项式可化为:
f(x)=((((x+0)x+1)x+1)x+1)x+1.
当x=3时,
v0=1,v1=1×3+0=3,v2=3×3+1=10,
v3=10×3+1=31,v4=31×3+1=94,
v5=94×3+1=283.
所以,当x=3时f(3)=283.
[答案] B
[易错防范]
当多项式中间出现空项时,用秦九韶算法求函数值要补上系数为0的相应项,否则,本题极易出现如下所示的错误算法,从而误选A.
∵f(x)=(((x+1)x+1)x+1)x+1,
∴当x=3时,
v0=1,v1=3+1=4,
v2=4×3+1=13,
v3=13×3+1=40,
v4=40×3+1=120+1=121,
所以当x=3时,f(3)=121.
[成功破障]
用秦九韶算法求多项式f(x)=x5+0.11x3-0.15x-0.04当x=0.3时的值.
解:根据秦九韶算法,将f(x)写为:
f(x)=((((x+0)x+0.11)x+0)x-0.15)x-0.04.
按照从内到外的顺序,依次计算一次多项式当x=0.3时的值:
v0=1;
v1=v0×0.3+0=0.3;
v2=v1×0.3+0.11=0.2;
v3=v2×0.3+0=0.06;
v4=v3×0.3-0.15=-0.132;
v5=v4×0.3-0.04=-0.079
6.
所以,当x=0.3时,多项式的值为-0.079
6.
[随堂即时演练]
1.在对16和12求最大公约数时,整个操作如下:16-12=4,12-4=8,8-4=4.由此可以看出12和16的最大公约数是( )
A.4
B.12
C.16
D.8
解析:选A 根据更相减损术的方法判断.
2.用秦九韶算法求多项式f(x)=1+2x+x2-3x3+2x4在x=-1时的值,v2的结果是( )
A.-4
B.-1
C.5
D.6
解析:选D n=4,a4=2,a3=-3,a2=1,a1=2,a0=1,由秦九韶算法的递推关系式得v0=2,v1=v0x+a3=-5,v2=v1x+a2=6.
3.将51化为二进制数得________.
解析:
答案:110
011(2)
4.用辗转相除法求294和84的最大公约数时,需要做除法的次数是________.
解析:294=84×3+42,
84=42×2.
答案:2
5.将1
234(5)转化为八进制数.
解:将1
234(5)转化为十进制数:
1
234(5)=1×53+2×52+3×51+4×50=194.
再将十进制数194转化为八进制数:
所以1
234(5)=302(8).
[课时达标检测]
一、选择题
1.4
830与3
289的最大公约数为( )
A.23
B.35
C.11
D.13
答案:A
2.用秦九韶算法求多项式f(x)=4x5-x2+2当x=3的值时,需要进行乘法运算和加减运算的次数分别为( )
A.4,2
B.5,3
C.5,2
D.6,2
答案:C
3.用辗转相除法求72与120的最大公约数时,需要做除法的次数为( )
A.4
B.3
C.5
D.6
答案:B
4.用更相减损术求459与357的最大公约数,需要做减法的次数为( )
A.4
B.5
C.6
D.7
答案:B
5.下列各数,化为十进制后,最大的为( )
A.101
010(2)
B.111(5)
C.32(8)
D.54(6)
答案:A
二、填空题
6.用更相减损术求三个数168,54,264的最大公约数为________.
解析:为简化运算,先将3个数用2约简为84,27,132.由更相减损术,先求84与27的最大公约数.84-27=57,57-27=30,30-27=3,27-3=24,24-3=21,21-3=18,18-3=15,15-3=12,12-3=9,9-3=6,6-3=3.故84与27的最大公约数为3.
再求3与132的最大公约数,易知132=3×44,所以3与132的最大公约数就是3.
故84,27,132的最大公约数为3;168,54,264的最大公约数为6.
答案:6
7.三位七进制数表示的最大的十进制数是______.
解析:最大的三位七进制数表示的十进制数最大,最大的三位七进制数为666(7),则666(7)=6×72+6×71+6×70=342.
答案:342
8.按照秦九韶算法求多项式f(x)=1.5x5+3.5x4-4.1x3-3.6x+6当x=0.5时的值的过程中,令v0=a5,v1=v0x+a4,…,v5=v4x+a0,则v4=________.
解析:由题意,有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.093
75
三、解答题
9.10x1(2)=y02(3),求x、y的值.
解:因为10x1(2)=1×20+x×21+0×22+1×23=9+2x,y02(3)=2×30+y×32=9y+2,所以9+2x=9y+2且x∈,y∈,所以x=1,y=1.
10.用秦九韶算法计算当x=2时,多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64的值.
解:将f(x)改写为
f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64,
v0=1,v1=1×2-12=-10,v2=-10×2+60=40,
v3=40×2-160=-80,v4=-80×2+240=80,
v5=80×2-192=-32,v6=-32×2+64=0.
所以f(2)=0,即x=2时,原多项式的值为0.
11.用秦九韶算法求多项式f(x)=5x5+7x4+6x3+3x2+x+1,当x=3时的值.
解:f(x)=5x5+7x4+6x3+3x2+x+1
=(5x4+7x3+6x2+3x+1)x+1
=((5x3+7x2+6x+3)x+1)x+1
=(((5x2+7x+6)x+3)x+1)x+1
=((((5x+7)x+6)x+3)x+1)x+1
∴f(3)=((((5×3+7)×3+6)×3+3)×3+1)×3+1
=1
975.第三课时 循环结构、程序框图的画法
循环结构的概念
[提出问题]
用二分法求方程f(x)=0近似解的算法共分以下五步:
第一步,确定有解区间[a,b](f(a)·f(b)<0).
第二步,取区间[a,b]的中点x=.
第三步,计算函数f(x)在中点处的函数值.
第四步,判断函数值f
是否为0.
(1)如果为0,x=就是方程的解,问题得到解决;
(2)若f
不为0,分两种情况:
若f(a)·f
<0,确定新的有解区间为;
若f(a)·f
>0,确定新的有解区间为.
第五步,判断新的有解区间的长度是否小于精确度.
①如果新的有解区间长度大于精确度,则在新的有解区间上重复上述步骤;
②如果新的有解区间长度小于或等于精确度,则取新的有解区间的中点为方程的近似解.
问题1:该算法问题与前面所学的算法有什么不同?
提示:该算法需要重复执行某个步骤(第四步),之前学过的算法则不需要重复执行某个步骤.
问题2:该算法若用框图表示,只有顺序结构与条件结构可以吗?
提示:不可以.
问题3:在该算法中,要重复多次操作,那么控制重复操作的条件及重复的内容是什么?
提示:控制重复操作的条件是f≠0及有解区间长度大于精确度,重复的内容是
f(a)·f的符号及有解区间的长度.
问题4:该算法能用程序框图表示吗?
提示:能.
[导入新知]
循环结构的概念及相关内容
[化解疑难]
1.循环结构的特点
(1)重复性:在一个循环结构中,总有一个过程要重复一系列的步骤若干次,而且每次的操作完全相同.
(2)判断性:每个循环结构都包含一个判断条件,它决定这个循环的执行与终止.
(3)函数性:循环变量在构造循环结构中起了关键作用,一般蕴含着函数的思想.
2.理解循环结构应注意的两点
(1)循环结构中必须包含条件结构,以保证在适当时候终止循环.
(2)循环结构内不存在无终止的循环,即不存在死循环.
循环结构的分类及特征
[提出问题]
问题1:在“知识点一”用二分法求方程f(x)=0近似解的算法中,是先执行循环体,还是先判断条件?
提示:先执行循环体,后判断条件.
问题2:能否适当改变使其先判断条件,后执行循环体?
提示:能.
[导入新知]
循环结构的分类及特征
名称
直到型循环
当型循环
结构
特征
先执行循环体,后判断条件,若条件不满足,则执行循环体,否则终止循环
先判断条件,若条件满足,则执行循环体,否则终止循环
[化解疑难]
两种循环结构的区别和联系
类型
特征
何时终止循环
循环体执行次数
联系
当型
先判断,后执行
条件不满足时
可能一次也不执行
可以相互转化,条件互补
直到型
先执行,后判断
条件满足时
至少执行一次
利用循环结构解决累加(乘)问题
[例1] (1)如图所示,程序框图的输出结果是( )
A.
B.
C.
D.
(2)设计求1×2×3×4×…×2
015×2
016×2
017的一个算法,并画出程序框图.
[解] (1)选D 第一次循环:n=2<8,S=,n=4;
第二次循环:n=4<8,S=+,n=6;
第三次循环:n=6<8,S=++,n=8;
第四次循环:n=8<8不成立,输出S=++=,故选D.
(2)算法如下:
第一步,设M的值为1.
第二步,设i的值为2.
第三步,若i≤2
017,则执行第四步;否则,执行第六步.
第四步,计算M乘i并将结果赋给M.
第五步,计算i加1并将结果赋给i,返回执行第三步.
第六步,输出M的值并结束算法.
程序框图如图:
[类题通法]
利用循环结构应注意的问题
(1)如果算法问题里涉及的运算进行多次重复的操作,且先后参与运算的各数之间有相同的变化规律,就可以引入循环变量参与运算,构成循环结构.
(2)在循环结构中,要注意根据条件设置合理的计数变量,累加(乘)变量,同时条件的表述要恰当、精确.
(3)累加变量的初值一般为0,而累乘变量的初值一般为1,累加(乘)和计数一般是同步进行的,累加(乘)一次,计数一次.
[活学活用]
编写一个计算12+32+52+…+9992的算法,并画出程序框图.
解:据题意算法如下:
第一步,令S=0.
第二步,令i=1.
第三步,S=S+i2.
第四步,i=i+2.
第五步,若i>1
000,则执行第六步;
否则,返回第三步.
第六步,输出S.
程序框图如右图:
利用循环结构求满足条件的最值问题
[例2] 求满足1++++…+>2的最小正整数n,写出算法,并画出程序框图.
[解] 算法:第一步,S=0.
第二步,i=1.
第三步,S=S+.
第四步,i=i+1.
第五步,若S≤2,则返回第三步;否则输出i-1,循环结束.
程序框图如图:
[类题通法]
求满足条件的最值问题的实质及注意事项
(1)实质:利用计算机的快速运算功能,对所有满足条件的变量逐一测试,直到产生第一个不满足条件的值时结束循环.
(2)注意事项:
①要明确数字的结构特征,决定循环的终止条件与数的结构特征的关系及循环次数;
②注意要统计的数出现的次数与循环次数的区别;
③要特别注意判断框中循环变量的取值限止,是“>”“<”还是“≥”“≤”,它们的意义是不同的.
[活学活用]
如图所示的程序框图表示的算法功能是________.
解析:由程序框图分析,题目是累乘问题,并且输出的是计数变量,所以其功能是输出使得1×3×5×7×…×(2n-1)≥10
000的最小奇数.
答案:输出使得1×3×5×7×…×(2n-1)≥10
000的最小奇数
循环结构的实际应用
[例3] (1)某店一个月的收入和支出总共记录了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
(2)某工厂2016年生产轿车20万辆,技术革新后预计每年的产量比上一年增加5%,问最早哪一年生产的轿车超过30万辆?试设计算法并画出相应的程序框图.
[解] (1)选C 由程序框图可以看出,判断框中应填“A>0?”,因为当满足条件时右边执行S=S+A,即收入,故应填“A>0?”.而处理框中应填V=S+T,因为T为负数即支出,所以V=S+T,即收入减去支出.
(2)算法如下:第一步,n=2014.
第二步,a=20.
第三步,T=0.05a.
第四步,a=a+T.
第五步,n=n+1.
第六步,若a>30,输出n;否则,执行第三步.
程序框图如图所示:
[类题通法]
利用循环结构解决应用问题的方法
[活学活用]
某篮球队6名主力队员在最近三场比赛中投进的三分球个数如表所示:
队员i
1
2
3
4
5
6
三分球个数
a1
a2
a3
a4
a5
a6
如图是统计该6名队员在最近三场比赛中投进的三分球总数的程序框图,则图中判断框应填________,输出的S=________.
解析:题干中是统计该6名队员在最近三场比赛中投进的三分球总数的程序框图,故题图中判断框应填“i≤6?”,输出的S=a1+a2+…+a6.
答案:i≤6? a1+a2+…+a6
[典例] 有一列数1,1,2,3,5,8,…,其规律是从第3个数开始,后一个数等于前两个数的和,画出计算这列数前20个数的和的程序框图.
[解题流程]
[类题通法]
循环结构的应用
(1)在应用两种循环结构时主要注意三个问题的书写:
①循环变量及其初始值;
②循环体;
③循环终止的条件.
(2)绘制循环结构的程序框图时,要注意:
①流程线上要有标记顺序的箭头;
②判断框后面的流程线上应根据情况标注“是”或“否”.
(3)构造循环结构,一般按照确定循环体→初始化变量→设定循环控制条件的顺序来构造.
[活学活用]
给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示),请在图中判断框(1)处和执行框(2)处填
上合适的语句,使之能完成该题的算法功能.
解:该算法使用了当型循环结构.因为是求30个数的和,故循环体应执行30次,其中i是计数变量.因此判断框内的条件应该用来限制计数变量i,故应填写“i≤30?”.算法中的变量p表示参与求和的各个数,由于它也是变化的,且满足第i个数比其前一个数大i-1,第i+1个数比其前一个数大i,故应有p=p+i.
即(1)处应填“i≤30?”;(2)处应填“p=p+i”.
[随堂即时演练]
1.(全国卷Ⅰ)执行如图所示的程序框图,如果输入的t=0.01,则输出的n=( )
A.5
B.6
C.7
D.8
解析:选C 运行第一次:S=1-==0.5,m=0.25,n=1,S>0.01;
运行第二次:S=0.5-0.25=0.25,m=0.125,n=2,S>0.01;
运行第三次:S=0.25-0.125=0.125,m=0.062
5,n=3,S>0.01;
运行第四次:S=0.125-0.062
5=0.062
5,m=0.031
25,n=4,S>0.01;
运行第五次:S=0.031
25,m=0.015
625,n=5,S>0.01;
运行第六次:S=0.015
625,m=0.007
812
5,n=6,S>0.01;
运行第七次:S=0.007
812
5,m=0.003
906
25,n=7,S<0.01.
输出n=7.故选C.
2.执行如图所示的程序框图,若输出的b的值为16,则图中判断框内①处应填( )
A.3
B.4
C.5
D.12
解析:选A 按照程序框图依次执行:初始a=1,b=1;第一次循环后,b=21=2,a=1+1=2;第二次循环后,b=22=4,a=2+1=3;第三次循环后,b=24=16,a=3+1=4,而此时应输出b的值,故判断框中的条件应为“a≤3?”.
3.(山东高考)执行如图所示的程序框图,若输入n的值为3,则输出的S的值为________.
解析:第一次循环:S=-1,1<3,i=2;
第二次循环:S=-1,2<3,i=3;
第三次循环:S=-1=1,3≥3,输出S=1.
答案:1
4.按下列程序框图运算:
规定:程序运行到“判断结果是否大于244”为1次运算.若x=5,则运算进行________次才停止.
解析:第一次运算得13,第二次运算得37,第三次运算得109,第四次运算得325,大于244,程序终止,故运算进行4次.
答案:4
5.设计一个计算1×3×5×…×99的算法,画出程序框图.
解:算法如下:
第一步,令i=1,S=1.
第二步,S=S×i.
第三步,i=i+2.
第四步,判断i>99是否成立,若是,则输出S;否则,执行第二步.
程序框图如图所示:
[课时达标检测]
一、选择题
1.以下说法不正确的是( )
A.顺序结构是由若干个依次执行的处理步骤组成的,每一个算法都离不开顺序结构
B.循环结构是在一些算法中从某处开始按照一定条件,反复执行某一处理步骤,故循环结构中一定包含条件结构
C.循环结构中不一定包含条件结构
D.用程序框图表示算法,使之更加直观形象,容易理解
答案:C
2.(全国丙卷)执行如图所示的程序框图,如果输入的a=4,b=6,那么输出的n=( )
A.3
B.4
C.5
D.6
解析:选B 程序运行如下:
开始a=4,b=6,n=0,s=0.
第1次循环:a=2,b=4,a=6,s=6,n=1;
第2次循环:a=-2,b=6,a=4,s=10,n=2;
第3次循环:a=2,b=4,a=6,s=16,n=3;
第4次循环:a=-2,b=6,a=4,s=20,n=4.
此时,满足条件s>16,退出循环,输出n=4.故选B.
3.(全国乙卷)执行如图所示的程序框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )
A.y=2x
B.y=3x
C.y=4x
D.y=5x
解析:选C 输入x=0,y=1,n=1,
运行第一次,x=0,y=1,不满足x2+y2≥36;
运行第二次,x=,y=2,不满足x2+y2≥36;
运行第三次,x=,y=6,满足x2+y2≥36,
输出x=,y=6.
由于点在直线y=4x上,故选C.
4.如图是一算法的程序框图,若此程序运行结果为S=720,则在判断框中应填入关于k的判断条件是( )
A.k≥6
B.k≥7
C.k≥8
D.k≥9
答案:C
5.执行如图所示的程序框图,输出的S值为( )
A.3
B.-6
C.10
D.-15
答案:C
二、填空题
6.阅读下边的框图,运行相应的程序,输出S的值为________.
解析:n=3,S=0+(-2)3=-8,n-1=2>1;S=-8+(-2)2=-4,n-1=1≤1,终止循环,故输出S=-4.
答案:-4
7.如图的程序框图,若输入m=4,n=3,则输出a=________,i=________.
解析:由程序框图可知,当a=m×i=4×i能被n=3整除时输出a和i并结束程序.显然,当i=3时,a可以被3整除,故i=3,此时a=4×3=12.
答案:12 3
8.已知如图所示的程序框图(未完成),设当箭头a指向①时,输出的结果为S=m;当箭头a指向②时,输出的结果为S=n,则m+n的值为________.
解析:当箭头a指向①时:i=1,S=1;i=2,S=2;i=3,S=3;i=4,S=4;i=5,S=5;i=6,结束循环,输出结果S=m=5.当箭头a指向②时:i=1,S=1;i=2,S=1+2;i=3,S=1+2+3;i=4,S=1+2+3+4;i=5,S=1+2+3+4+5;i=6,结束循环,输出结果S=n=1+2+3+4+5=15,故m+n=20.
答案:20
三、解答题
9.设计程序框图,求出××××…×的值.
解:程序框图如图所示:
10.以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,
77,82,94,60.
画出求80分以上的同学的平均分的程序框图.
解:程序框图如图所示:1.2.2 条件语句
[提出问题]
儿童乘坐火车时,若身高不超过1.2
m,则不需买票;若身高超过1.2
m但不超过1.5
m,则需买半票;若身高超过1.5
m,则需买全票.
问题1:试设计一个儿童买票的程序框图.
提示:程序框图如下:
问题2:能否只用输入语句、输出语句和赋值语句写出其程序?
提示:不能.
问题3:该程序框图中的条件结构有几种形式?
提示:两种.
问题4:若要写出该算法的算法语句,还需要什么语句?
提示:条件语句.
[导入新知]
条件语句的一般格式及功能
类别
单支
双支
条件结构框图
条件语句
IF 条件 THEN语句体END
IF
IF 条件 THEN语句体1
ELSE语句体2END
IF
语句功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END_IF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
[化解疑难]
两种条件语句的区别与联系
IF-THEN语句
IF-THEN-ELSE语句
区别
该条件语句中只有一个语句体,是满足条件时执行的语句体
该条件语句含有两个语句体,满足条件时执行一个语句体,不满足时执行另一个语句体
联系
IF-THEN语句实质上是IF-THEN-ELSE语句的简化,也就是在条件语句中,当不符合条件且不进行任何处理时,把语句体2省略不写②两种语句首先都是先对条件进行判断,然后才执行相应的语句体,执行完语句体后程序都交汇于一点完成条件语句
条件语句与条件结构
[例1] (1)根据下面的程序,填写程序框图.
①________,②________,③________.
(2)根据右面的程序框图,写出程序.
[解] (1)根据条件语句可知该语句为求分段函数
y=的值.
所以三个空中分别填的内容为:
①x≥?,②y=2x-5,③y=5-2x.
(2)程序如下:
[答案] (1)①x≥? ②y=2x-5 ③y=5-2x
[类题通法]
条件语句与条件结构的转化
(1)根据条件结构写条件语句
①首先选择语句格式.当判断语句的两个出口语句都要执行时,采用“IF-THEN-ELSE”语句,当判断语句的两个出口语句只有一个要执行时,采用“IF-THEN”语句.
②然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中(如果有的话)的内容,是ELSE后的语句体2.
③最后应注意所用程序符合书写格式.
(2)如果是由条件语句画条件结构,可相应变化.
[活学活用]
求函数y=|x-4|+1的函数值,则③处应填________.
解析:如果x<4,则y=4-x+1=5-x,
故③处应填y=5-x.
答案:y=5-x
条件语句的简单应用
[例2] 已知函数y=编写一个程序,对输入的每一个x值,都得到相应的函数值.
[解] 用变量x,y分别表示自变量和函数值,步骤如下:
第一步,输入x值.
第二步,判断x的范围.若x≥0,则用函数y=x2-1求函数值;
否则用y=2x2-5求函数值.
第三步,输出y的值.
程序框图如图所示:
程序如下:
[类题通法]
使用条件语句时的四个关注点
(1)条件语句是一个语句,IF,THEN,ELSE,END
IF都是语句的一部分;
(2)条件语句必须是以IF开始,以END
IF结束,一个IF必须与一个END
IF相对应;
(3)如果程序中只需对条件为真的情况作出处理,不用处理为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支;
(4)为了使程序看起来更清晰明了,一般IF,ELSE与END
IF顶格书写,其他语句前面则空两格.
[活学活用]
给出一个程序语句如下,说出程序的功能,并求f(-1)+f(2)的值.
解:程序的功能:
已知函数f(x)=输入自变量x的值,求对应的函数值.
由函数解析式可得f(-1)=4×(-1)=-4,
f(2)=22=4.
∴f(-1)+f(2)=0.
条件语句的嵌套问题
[例3] 高等数学中经常用到符号函数,符号函数的定义为y=画出程序框图,并编写程序,要求输入x的值,输出y的值.
[解] 程序框图如图所示:
程序如下:
[类题通法]
1.使用条件语句嵌套应关注两点
(1)适用范围:适用于判断条件多于一个时.此时,若重复应用条件语句,书写程序繁琐,可用条件语句的嵌套.
(2)分清层次:编写条件时,要注意IF和END IF的配对,常常利用文字的缩进来表示嵌套的层次,以便于程序的阅读与理解.嵌套可以多于2个.
2.条件语句嵌套的一般格式
[活学活用]
在下面的程序中,如果输入x=,则输出的y值为( )
A.0
B.1
C.3
D.
解析:选B 先判断输入的x的取值范围,再执行相应操作.由于>0,故输出y=×-5=1.
[典例] 某商场购物实行优惠措施,若购物金额x在800元以上(包括800元),打8折;若购物金额x在500元以上(包括500元),但不足800元,则打九折,否则不打折,设计程序框图并编写程序,要求输入购物金额x,能输出实际交款额y.
[解题流程]
[规范解答]
实际交款额y与购物金额x的函数关系是
y=
程序框图如右:
[类题通法]
用条件语句解决实际问题的步骤
(1)将实际问题转化为数学问题,并构思出解决问题的一个算法(可用自然语言).
(2)画出程序框图,形象直观地描述算法.
(3)根据程序框图编写程序,即逐步把程序框图中的算法步骤用算法语句表达出来.
[活学活用]
某运输公司规定,运货50吨以下(含50吨),运费为80元/吨;50吨以上且不足100吨的,运费为75元/吨;100吨及以上,运费为70元/吨,请用算
法语句及程序框图描述算法:输入运货重量,输出运费.
解:设运货x吨的运费为y元,由题意得
y=
程序框图如下图:
程序如下:
[随堂即时演练]
1.
下列关于IF语句的叙述正确的是( )
A.IF语句中必须有ELSE和END
IF
B.IF语句中可以没有END
IF
C.IF语句中可以没有ELSE,但必须以END
IF结束
D.IF语句中可以没有END
IF,但必须有ELSE
解析:选C IF语句中的IF和END IF是成对出现的,但是ELSE可以没有,即满足条件执行,否则跳过IF语句.
2.下面的程序:
如果输入x,y的值分别是2,-30,则输出的结果为( )
A.38,-38
B.36,-36
C.32,-32
D.28,-28
解析:选D 根据题意输入的x=2不满足条件,需要执行ELSE后面的语句,所以得到y=-26,所以x-y=28,y-x=-28.
3.给出以下四个问题:
①输入一个数x,输出它的绝对值;
②求表面积为6的正方体的体积;
③求函数f(x)=的函数值.
其中需要用条件语句来描述其算法的是________.(填序号)
解析:②直接用顺序结构即可,不需用条件语句;而①需要判断这个数的正负,③需要判断这三个数的大小,④是分段函数求值问题,故需用到条件语句.
答案:①③
4.写出下列程序的运行结果.
若a=4,则b=_______;若a=-4,则b=_______.
解析:分析程序可知,上述程序是一个分段函数的程序,即b=所以当a=4时,b=42+3×4+1=29;当a=-4时,b=0.5×(-4)=-2.
答案:29 -2
5.给计算机编写一个程序,输入一个自变量x的值,输出分段函数f(x)=的函数值.
解:程序如下:
[课时达标检测]
一、选择题
1.下列问题所描述出来的算法,其中不包含条件语句的为( )
A.输入三个表示三条边长的数,计算三角形的面积
B.给出两点的坐标,计算直线的斜率
C.给出一个数x,计算它的常用对数的值
D.给出三棱锥的底面积与高,求其体积
答案:D
2.运行程序:
在两次运行中分别输入8,4和2,4,则两次运行程序的输出结果分别为( )
A.8,2
B.8,4
C.4,2
D.4,4
答案:C
3.给出如图所示的程序:
执行该程序时,若输入的x为3,则输出的y值是( )
A.3
B.6
C.9
D.27
答案:B
4.阅读下列程序:
如果输入x=-2,则输出结果为( )
A.2
B.-12
C.10
D.-4
答案:D
5.已知程序如下:
根据程序提示输入a=4,b=2,c=-5,则程序运行结果是( )
A.max=a
B.max=b
C.max=c
D.max=4
答案:D
二、填空题
6.判断输入的数x是否为正数,若是,输出它的平方;若不是,输出它的相反数,则横线上应填________.
解析:y是一个分段函数,由题意知,
y=
答案:x<=0
7.读程序,写出程序的意义:______________________________________________.
解析:由程序可知,该算法功能是求函数
y=的函数值.
答案:求函数y=的函数值
8.下面是一个算法,如果输出的值是25,则输入的x的值为________.
解析:程序对应的函数是
y=
由或
得x=-6或x=6.
答案:6或-6
三、解答题
9.已知函数y=试输入x的值,计算y值,写出程序.
解:程序如下:
10.如图所示,在边长为16的正方形ABCD的边上有一动点P,点P沿边线由B→C→D→A(B为起点,A为终点)运动.若设P运动的路程为x,△APB的面积为y,试写出程序,根据输入的x值,输出相应的y值.
解:由题意可得函数关系式为:
y=
显然需利用条件语句的嵌套或叠加编写程序.
程序如下:1.1.1 算法的概念
算法的概念
[提出问题]
2014年8月“青奥会”在南京开幕,某人想观看“青奥会”的开幕式,通过网络订票成功,然后按时验票入场,观看完开幕式后退场返回.
问题1:观看开幕式的过程是明确的吗?
提示:是明确的.
问题2:观众订票的方式是唯一的吗?
提示:不唯一.
问题3:若你想去观看“青奥会”开幕式,如何设计你的行程?
提示:首先订票,然后选择合适的交通工具按时到场,验票入场,观看开幕式.
[导入新知]
[化解疑难]
1.对算法概念的理解
(1)算法没有一个精确化的定义,可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的、确切的计算序列,并且这样的步骤或序列能够解决一类问题.
(2)算法通常可以编成计算机程序,让计算机执行并解决问题.
事实上,算法的概念很广泛,为解决一类问题而采取的方法和步骤都称为“算法”.但我们这里讲的是计算机能实现的算法,即一类问题的机械的、统一的求解方法,如解方程(组)的算法、函数求值的算法等.
2.算法的特征
特征
具体内容
确定性
算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当是模棱两可的
正确性和顺序性
算法从初始步骤开始,分为若干明确的步骤,上一步是下一步的前提,只有执行完上一步,才能执行下一步
有限性
一个算法必须在执行完有限步之后结束,而不能是无限的
不唯一性
求解某个问题的算法不一定是唯一的,一个问题可以有不同的算法
普遍性
很多具体的问题都可以设计合理的算法去解决,写出的算法必须能解决一类问题
算法与计算机
[提出问题]
问题1:在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,听音乐、看电影、玩游戏、办公、处理数据、收发邮件,计算机几乎渗透到了人们生活的所有领域.那么你知道算法与计算机的关系吗?
提示:算法是计算机科学的基础,计算机处理任何问题都要依赖于算法.
问题2:如何设计一个利用计算机求当x取任何值时函数f(x)=x2-x+2的值的算法?试写出算法步骤.
提示:第一步,输入x.
第二步,计算f(x)=x2-x+2.
第三步,输出f(x).
[导入新知]
算法与计算机的关系
计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
[化解疑难]
1.算法设计的要求
(1)设计的算法要适用于一类问题,并且遇到类似问题能够重复使用;
(2)算法过程要做到能一步一步地执行,每一步执行的操作,必须是明确有效的,不能含糊不清;
(3)所设计的算法必须在有限步后得到问题的结果,不能无限进行下去;
(4)设计的算法的步骤应当是最简练的,即最优算法.
2.算法与数学中的解法的联系和区别
(1)联系:算法与解法是一般与特殊的关系,也是抽象与具体的关系,算法的获取要借助一般意义上具体问题的求解方法,而任何一个具体问题都可利用这类问题的一般方法解决.
(2)区别:算法是解决某些问题所需要的程序和步骤的统称,也可以理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.
算法的概念
[例1] (1)下列关于算法的描述正确的是( )
A.算法与求解一个问题的方法相同
B.算法只能解决一个问题,不能重复使用
C.算法过程要一步一步执行
D.有的算法执行完以后,可能没有结果
(2)下列叙述不能称为算法的是( )
A.从北京到上海先乘汽车到飞机场,再乘飞机到上海
B.解方程4x+1=0的过程是先移项再把x的系数化成1
C.利用公式S=πr2计算半径为2的圆的面积得π×22
D.解方程x2-2x+1=0
[解析] (1)算法与求解一个问题的方法既有区别又有联系,故A不对;算法能够重复使用,故B不对;每一个算法执行完以后,必须有结果,故D不对.
(2)选项A,B给出了解决问题的方法和步骤,是算法;选项C是利用公式计算也属于算法;选项D只提出问题没有给出解决的方法,不是算法.
[答案] (1)C (2)D
[类题通法]
理解算法的关键点
(1)算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想.
(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
[活学活用]
计算下列各式中的S值,能设计算法求解的是( )
①S=2+4+6+…+1
000;
②S=2+4+6+…+1
000+…;
③S=2+4+6+…+2n(n≥1,n∈N).
A.①②
B.①③
C.②③
D.①②③
解析:选B 由算法的有限性知②不正确,而①③都可通过有限的步骤操作,输出确定结果.
算法的设计
[例2] (1)早上从起床到出门需要洗脸刷牙(5
min)、刷水壶(2
min)、烧水(8
min)、泡面(3
min)、吃饭(10
min)、听广播(8
min)几个步骤.从下列选项中选出最好的一种算法( )
A.第一步洗脸刷牙、第二步刷水壶、第三步烧水、第四步泡面、第五步吃饭、第六步听广播
B.第一步刷水壶、第二步烧水同时洗脸刷牙、第三步泡面、第四步吃饭、第五步听广播
C.第一步刷水壶、第二步烧水同时洗脸刷牙、第三步泡面、第四步吃饭同时听广播
D.第一步吃饭同时听广播、第二步泡面、第三步烧水同时洗脸刷牙、第四步刷水壶
(2)写出求1+2+3+4+5+6的一个算法.
[解析] (1)选C
A
×
所用时间为36分钟
B
×
所用时间为31分钟
C
√
所用时间为23分钟
D
×
不符合日常生活规律
(2)算法一:
第一步,计算1+2,得到3.
第二步,将第一步中的运算结果3与3相加,得到6.
第三步,将第二步中的运算结果6与4相加,得到10.
第四步,将第三步中的运算结果10与5相加,得到15.
第五步,将第四步中的运算结果15与6相加,得到21.
算法二:
第一步,将原式变形为(1+6)+(2+5)+(3+4)=7×3.
第二步,计算7×3.
第三步,得到运算结果.
算法三:
第一步,取n=6.
第二步,计算.
第三步,得到运算结果.
[类题通法]
设计具体问题的算法的步骤
设计一个具体问题的算法,通常按以下步骤:
(1)认真分析问题,找出解决此题的一般数学方法;
(2)借助有关变量或参数对算法加以表述;
(3)将解决问题的过程划分为若干步骤;
(4)用简练的语言将这个步骤表示出来.
[活学活用]
1.一个算法的步骤如下,如果输入x的值为-3,则输出z的值为( )
第一步,输入x的值.
第二步,计算x的绝对值y.
第三步,计算z=2y-y.
第四步,输出z的值.
A.4
B.5
C.6
D.8
解析:选B 分析算法中各变量、各语句的作用,再根据算法的步骤可知:
该算法的作用是计算并输出z=2|x|-|x|的函数值.
第一步,输入x的值-3.
第二步,计算x的绝对值y=3.
第三步,计算z=2y-y=23-3=5.
第四步,输出z的值为5.
2.给定一个一元二次方程ax2+bx+c=0,设计一个算法来判定方程根的情况.
解:第一步,计算Δ=b2-4ac;
第二步,如果Δ>0,那么方程有两个不相等的实数根;
第三步,如果Δ=0,那么方程有两个相等的实数根;
第四步,如果Δ<0,那么方程没有实数根.
算法的应用
[例3] (1)结合下面的算法:
第一步,输入x.
第二步,判断x是否小于0.若是,则输出x+2,否则执行第三步.
第三步,输出x-1.
当输入的x的值为-1,0,1时,输出的结果分别为( )
A.-1,0,1
B.-1,1,0
C.1,-1,0
D.0,-1,1
(2)设计一个判断直线Ax+By+C=0与圆(x-x0)2+(y-y0)2=r2的位置关系的算法.
[解析] (1)选C 根据x值与0的关系,选择执行不同的步骤.当x=-1时,输出x+2,即输出1;当x=0时,输出x-1,即输出-1;当x=1时,输出x-1,即输出0.
(2)算法如下:
第一步,输入圆心坐标(x0,y0),直线方程的系数A,B,C和半径r.
第二步,计算z1=Ax0+By0+C.
第三步,计算z2=.
第四步,计算d=.
第五步,若d>r,则输出“相离”;若d=r,则输出“相切”;若d<r,则输出“相交”.
[类题通法]
数学中两种算法应用的处理方法
(1)数值性计算问题,如解方程(组)、解不等式(组)或套用公式判断性问题,一般通过数学模型借助数学计算方法分解成清晰的步骤,并条理化.
(2)非数值性问题,如查找、变量代换、文字处理等非数值性计算问题,设计算法时,首先建立过程模型,然后根据过程设计步骤,完成算法.
[活学活用]
设计一个算法,求解方程组
解:用消元法解方程组,其算法步骤是:
第一步,①+③得x=5. ④
第二步,①+②得2x-y=14.
⑤
第三步,将④代入⑤得y=-4.
⑥
第四步:将④⑥代入③得z=11.
第五步:得到方程组的解为
[典例] 已知函数y=试设计一个算法输入x的值,求对应的函数值.
[解题流程]
[类题通法]
分段函数求值问题的算法设计
(1)在生活中,经常遇到条件的判断.如现在在二楼,需要决定是上楼还是下楼;在买袋装大米的时候,你需要决定买10千克装的,还是20千克装的,还是30千克装的;等等.同样,设计含有判断条件的算法时,往往是先判断条件,根据条件是否成立,有不同的步骤.
(2)分段函数求函数值的算法要运用分类讨论思想进行设计,一定要对算法中可能遇到的情况考虑周全,满足与不满足都要有相应的步骤.
[活学活用]
函数y=写出给定自变量x的值,求函数值y的算法.
解:算法如下:
第一步,输入x的值.
第二步,若x>0,则y=-x+1,然后执行第四步;否则执行第三步.
第三步,若x=0,则y=0;否则y=x+1.
第四步,输出y的值.
[随堂即时演练]
1.下列可以看成算法的是( )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题难做
D.方程2x2-x+1=0无实数根
解析:选A A是学习数学的一个步骤,所以是算法,而其他三个选项都不是.
2.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:
①计算c=;②输入直角三角形两直角边长a,b的值;③输出斜边长c的值.
其中正确的顺序是( )
A.①②③
B.②③①
C.①③②
D.②①③
解析:选D 明确各步骤间的关系即可知D选项正确.
3.输入一个x值,利用y=|x+1|求函数值的算法如下,请将所缺部分补充完整:
第一步,输入x.
第二步,________________________.
第三步,计算y=-x-1.
第四步,输出y.
解析:含绝对值的函数的函数值的算法要注意分类讨论思想的应用.本题中当x≥-1时y=x+1;当x<-1时y=-x-1,由此可完善算法.
答案:当x≥-1时,计算y=x+1;否则,执行第三步
4.求过P(a1,b1),Q(a2,b2)两点的直线的斜率有如下算法,请在横线上填上适当的步骤:
第一步,取x1=a1,y1=b1,x2=a2,y2=b2.
第二步,判断“x1=x2”是否成立.若是,则输出“斜率不存在”,结束算法;否则,执行第三步.
第三步,________________________.
第四步,输出k.
解析:根据题意,当“x1≠x2”时执行第三步,即计算斜率k,此时只需用两点间的斜率公式即可求解.
答案:计算k=
5.设计一个算法,求表面积为16π的球的体积.
解:算法一:
第一步,取S=16π.
第二步,计算R=(由于S=4πR2).
第三步,计算V=πR3.
第四步,输出运算结果.
算法二:
第一步,取S=16π.
第二步,计算V=π3.
第三步,输出运算结果.
[课时达标检测]
一、选择题
1.下列叙述中,能称为算法的个数为( )
①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100;
③从青岛乘火车到济南,再从济南乘飞机到广州观看广州恒大的亚冠比赛;
④3x>x+1;
⑤求所有能被3整除的正数,即3,6,9,12,….
A.2
B.3
C.4
D.5
答案:B
2.关于一元二次方程x2-5x+6=0的求根问题,下列说法正确的是( )
A.只能设计一种算法
B.可以设计多种算法
C.不能设计算法
D.不能根据解题过程设计算法
答案:B
3.一个厂家生产商品的数量按照每年比前一年都增加18%的比率递增,若第一年的产量为a,“计算第n年的产量”的算法中用到的一个函数解析式是( )
A.y=an0.18
B.y=a(1+18%)n
C.y=a(1+18%)n-1
D.y=n(1+18%)n
答案:C
4.对于解方程x2-2x-3=0的下列步骤:
①设f(x)=x2-2x-3;
②计算判别式Δ=(-2)2-4×1×(-3)=16>0;
③作f(x)的图象;
④将a=1,b=-2,c=-3代入求根公式x=,得x1=3,x2=-1.
其中可作为解方程的算法的有效步骤为( )
A.①②
B.②③
C.②④
D.③④
答案:C
5.如下算法:
第一步,输入x的值.
第二步,若x≥0,则y=x;否则,y=x2.
第三步,输出y的值.
若输出的y值为9,则x的值是( )
A.3
B.-3
C.3或-3
D.-3或9
答案:D
二、填空题
6.以下是解二元一次方程组的一个算法,请将该算法补充完整.
第一步,①②两式相加得3x+9=0.③
第二步,由③式可得____________.④
第三步,将④式代入①式得y=0.
第四步,输出方程组的解____________.
解析:由3x+9=0,得x=-3,即④处应填x=-3;
把x=-3代入2x-y+6=0,得y=0,
即方程组的解为
答案:x=-3
7.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,求他的总分和平均成绩的一个算法为:
第一步,取A=89,B=96,C=99.
第二步,__________________________.
第三步,__________________________.
第四步,输出计算的结果.
解析:应先计算总分D=A+B+C,然后再计算平均成绩E=.
答案:计算总分D=A+B+C 计算平均成绩E=
8.已知A(-1,0),B(3,2),下面是求直线AB的方程的一个算法,请将其补充完整:
第一步,__________________________________.
第二步,用点斜式写出直线AB的方程y-0=[x-(-1)].
第三步,将第二步的方程化简,得到方程x-2y+1=0.
解析:该算法功能为用点斜式方程求直线方程,第一步应为求直线的斜率,应补充为“计算直线AB的斜率k=”.
答案:计算直线AB的斜率k=
三、解答题
9.已知一个等边三角形的周长为a,求这个三角形的面积.设计一个算法解决这个问题.
解:算法步骤如下:
第一步,输入a的值.
第二步,计算l=的值.
第三步,计算S=×l2的值.
第四步,输出S的值.
10.有分别装有醋和酱油的A、B两个瓶子,现要将B瓶中的酱油装入A瓶,A瓶中的醋装入B瓶,写出解决这个问题的一种算法.
解:算法步骤如下:
第一步,引入第三个空瓶C瓶.
第二
步,将A瓶中的醋装入C瓶中.
第三步,将B瓶中的酱油装入A瓶中.
第四步,将C瓶中的醋装入B瓶中.
第五步,交换结束.
11.已知函数y=试设计一个算法,输入x的值,求对应的函数值.
解:算法如下:
第一步,输入x;
第二步,当x≤-1时,
计算y=2x-1,否则执行第三步;
第三步,当x<2时,计算y=log3(x+1),否则执行第四步;
第四步,计算y=x4;
第五步,输出y.第二课时 条件结构
[提出问题]
已知一个算法的步骤如下:
第一步,输入x.
第二步,若x<2,执行第三步;否则,执行第四步.
第三步,计算2x-1+1的值,输出结果,结束算法.
第四步,计算log3(x2-1)的值,输出结果,结束算法.
问题1:该算法的算法功能是什么?
提示:计算函数f(x)=的函数值.
问题2:若画出该算法的程序框图,只用顺序结构能完成吗?
提示:不能.
问题3:上述算法中除含有顺序结构外,还含有什么逻辑结构?
提示:条件结构.
[导入新知]
1.条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,处理上述过程的结构就是条件结构.
2.条件结构程序框图两种形式及特征
形式一
形式二
结构形式
特征
两个步骤A、B根据条件选择一个执行
根据条件是否成立选择是否执行步骤A
[化解疑难]
对条件结构形式的理解
(1)如形式一所示的条件结构中,算法执行到此判断框给定的条件时,根据条件是否成立,选择不同的执行框(步骤A、步骤B),无论条件是否成立,都要执行步骤A和步骤B之一,但不可能既执行步骤A又执行步骤B,也不可能步骤A和步骤B都不执行.
(2)步骤A和步骤B可以有一个是空的(如形式二),即不执行任何操作.
简单条件结构的算法与框图
[例1] 画出求分段函数y=的函数值的程序框图.
[解] 算法如下:
第一步,输入x的值.
第二步,判断x的大小.
若x≥0,则y=2x+1;
若x<0,则y=3x-2.
第三步,输出y的值.
程序框图如下:
[类题通法]
1.条件结构与顺序结构的不同点
条件结构不同于顺序结构的地方:它不是依次执行操作指令进行运算,而是依据条件作出逻辑判断,选择执行不同指令中的一个.一般地,这里的判断主要是判断“是”或“否”,即判断是否符合条件的要求,因而它有一个入口和两个出口,但最后还是只有一个终结口.
2.含有条件结构的程序框图的设计
设计程序框图时,首先设计算法步骤(自然语言),再将算法步骤转化为程序框图(图形语言).如果已经非常熟练地掌握了画程序框图的方法,那么可以省略设计算法步骤而直接画出程序框图.对于算法中含有分类讨论的步骤,在设计程序框图时,通常用条件结构来解决.
[活学活用]
设计一个程序框图,使之能判断任意输入的数x是奇数还是偶数.
解:程序框图如下:
与条件结构有关的读图问题
[例2] (1)如图所示的程序框图,其功能是( )
A.输入a,b的值,按从小到大的顺序输出它们的值
B.输入a,b的值,按从大到小的顺序输出它们的值
C.求a,b的最大值
D.求a,b的最小值
(2)执行下面的程序框图,如果输入的t∈[-1,3],则输出的s属于( )
A.[-3,4]
B.[-5,2]
C.[-4,3]
D.[-2,5]
[解析] (1)取a=1,b=2知,该程序框图输出b=2,因此是求a,b的最大值.
(2)由题中框图可知s=即求分段函数的值域.
当-1≤t<1时,-3≤s<3;当1≤t≤3时,s=4t-t2=-(t-2)2+4,3≤s≤4.
综上,s∈[-3,4].
[答案] (1)C (2)A
[类题通法]
条件结构读图注意的两点
(1)理清所要实现的算法的结构特点和流程规则,分析其功能.
(2)结合框图判断所要填入的内容或计算所要输出或输入的值.
[活学活用]
1.根据图中的流程图操作,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”,则( )
A.①框中填“是”,②框中填“否”
B.①框中填“否”,②框中填“是”
C.①框中填“是”,②框中可填可不填
D.①框中填“否”,②框中可填可不填
解析:选A 当x≥60时,应输出“及格”;当x<60时,应输出“不及格”,故①中应填“是”,②中应填“否”.
2.如图,函数f(x)=2x,g(x)=x2,若输入的x值为3,则输出的h(x)的值为________.
解析:由框图可知,当x=3时,f(3)=23=8,g(3)=32=9,∴f(3)<g(3),∴h(3)=g(3)=9,输出值为9.
答案:9
条件结构的实际应用
[例3] (1)某市出租车的起步价为8元(含3千米),超过3千米的里程每千米收2.6元,另外每车次超过3千米收燃油附加费1元(不考虑其他因素).相应的收费系统的程序框图如图所示,则①处应填________,②处应填________.
(2)某居民区的物业部门每月向居民收取卫生费,计费方法如下:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图.
[解] (1)当x>3时,y=8+2.6(x-3)+1=9+2.6(x-3)=2.6x+1.2;
当x≤3时,y=8.
(2)设应收取的卫生费用y(元)表示,人数用x表示,则y=
算法如下:第一步,输入x.
第二步,若x≤3,则y=5;否则执行第三步.
第三步,y=5+1.2(x-3).
第四步,输出y.
程序框图如图所示.
[答案] (1)y=2.6x+1.2 y=8
[类题通法]
设计程序框图解决实际问题的步骤
(1)读懂题意,分析已知与未知的关系;
(2)概括题意写出表达式;
(3)设计算法步骤;
(4)根据算法步骤画出程序框图.
[活学活用]
为了加强居民的节水意识,某市制定了以下生活用水收费标准:每户每月用水未超过12立方米时,每立方米收费2.8元,并加收1.4元的城市污水处理费;超过12立方米的部分,每立方米收费4.2元,并加收1.4元的城市污水处理费.设某户每月用水量为x立方米,应缴纳水费y元,请你设计一个输入用水量、输出应缴水费额的算法,画出程序框图.
解:y与x之间的函数解析式为
y=
算法设计如下:
第一步,输入每月用水量x(x≥0).
第二步,判断输入的x是否超过12,若x>12,则应缴纳水费y=5.6x-16.8;否则应缴纳水费y=4.2x.
第三步,输出应缴水费y.
程序框图如图所示:
[典例] 设计程序框图,求方程ax+b=0(a,b为常数)的解.
[解题流程]
程序框图为:
[多维探究]
[角度一]
在解决此类问题时要注意相关题目的求解,如将本例中的等式改为不等式,问题就变为:
设计一个程序框图,求不等式ax+b>0(a,b为常数)的解集,如何求解?
解:算法如下:
第一步,输入a,b.
第二步,判断a是否大于0.若a>0,则输出“x>-”,结束算法;否则,执行第三步.
第三步,判断a是否等于0.若a=0,b>0.则输出“x是任意实数”,结束算法;若a=0,b≤0,则输出“此不等式无解”,结束算法;若a<0,则输出“x<-”,结束算法.
程序框图如下:
[角度二]
若将“角度一”中的不等式改为“ax2+bx+c<0(a>0)”,试写出算法,并画出程序框图.
解:算法步骤如下:
第一步,输入三个系数a,b,c(其中a>0);
第二步,计算Δ=b2-4ac.
第三步,判断Δ≤0是否成立.若是,则输出“不等式的解集为 ”;否则,计算x1=,x2=,输出“不等式解集为(x1,x2)”.结束算法.
程序框图如图所示:
[类题通法]
1.条件结构的嵌套
所谓嵌套,是指条件结构内又套有小的分支,对条件进行二次或更多次的判断.常用于一些分段函数的求值问题.
一般地,如果是分三段的函数,则需要引入两个判断框;如果是分四段的函数,则需要引入三个判断框;以此类推.
2.条件结构的应用
凡必须先根据条件作出判断再决定进行哪一个步骤的问题,如分段函数问题,在画程序框图时,必须引入一个判断框,应用条件结构.
[随堂即时演练]
1.如图是算法流程图的一部分,其算法的逻辑结构是( )
A.顺序结构
B.条件结构
C.判断结构
D.以上都不对
解析:选B 此逻辑结构是条件结构.
2.给出以下四个问题:
①输入一个数x,输出它的相反数;
②求面积为6的正方形的周长;
③求三个数a,b,c中的最大数;
④求函数f(x)=的函数值.
其中不需要用条件结构来描述其算法的有( )
A.1个
B.2个
C.3个
D.4个
解析:选B 语句①不需要对x进行判断,所以不需要用条件结构来描述算法;语句②不需要进行判断,不需要使用条件语句;语句③要比较两个数的大小,需要用到条件结构;语句④为分段函数,需要判断x的范围,所以需要用到条件结构来描述算法.
3.如图所示的程序框图,输入x=2,则输出的结果是________.
解析:通过程序框图可知本题是求函数y=的函数值,根据x=2可知y==2.
答案:2
4.已知函数y=如图所示的是给定x的值,求其对应的函数值y的程序框图.
①处应填写______________;
②处应填写____________.
解析:由框图可知只要满足①中的条件则对应的函数解析式为y=2-x,故此处应填写x<2,则②处应填写y=log2x.
答案:x<2? y=log2x
5.如下图,给出了一个算法的流程图,根据该流程图,回答下列问题:
(1)若输入的四个数为3,4,7,18,则最后输出结果是________.
(2)该算法流程图是为什么问题而设计的?
解:(1)18
(2)为求a,b,c,d四个数中的最大数并进行输出而设计的.
[课时达标检测]
一、选择题
1.下列关于条件结构的说法正确的是( )
A.条件结构的程序框图中有两个入口和一个出口
B.无论条件结构中的条件是否满足,都只能执行两条路径之一
C.条件结构中的两条路径可以同时执行
D.对于一个算法来说,判断框中的条件是唯一的
答案:B
2.如图所示框图,当x1=6,x2=9,p=8.5时,x3等于( )
A.7
B.8
C.10
D.11
答案:B
3.下面的程序框图,若输入a,b,c分别是21,32,75,则输出的值是( )
A.96
B.53
C.107
D.128
答案:B
4.程序框图如图所示,若输出的y=0,那么输入x的值为( )
A.-3,0
B.-3,-5
C.0,-5
D.-3,0,-5
答案:A
5.某程序框图如图所示,现输入如下四个函数,则可以输出的函数是( )
A.f(x)=x2
B.f(x)=
C.f(x)=ln
x+2x-6
D.f(x)=x3+x
答案:D
二、填空题
6.如图是求实数x的绝对值的算法程序框图,则判断框①中可填________.
解析:因为满足条件直接输出x,否则输出-x,
∴条件应该是x≥0?或x>0
答案:x≥0?或x>0
7.如图是某种算法的程序框图,当输出的y的值大于2时,则输入的x的取值范围为________.
解析:由题知,此算法的程序框图是求分段函数f(x)=的值.
若f(x)>2,
①当x≤0时,令3-x-1>2,
即3-x>3,
所以-x>1,得x<-1;
②当x>0时,令>2,得x>4.
综上所述,x的取值范围为(-∞,-1)∪(4,+∞).
答案:(-∞,-1)∪(4,+∞)
8.如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入________.
解析:由框图知将a,b,c中较大的用x表示,先令x=a,再比较x与b的大小.若b>x,则令x=b,否则判断x与c的大小;若x>c,则令x=c,输出x,否则直接输出x.
答案:c>x
三、解答题
9.如图所示的程序框图,其作用是:输入x的值,输出相应的y值.若要使输入的x值与输出的y值相等,求这样的x值有多少个?
解:由题可知算法的功能是求分段函数
y=的函数值.
要满足题意,则需要或或
解得x=0或x=1或x=3,共3个值.
10.在新华书店里,《创新方案》每本售价14.80元,书店为促销,规定:如果顾客购买5本或5本以上,10本以下则按九折(即13.32元)出售;如果顾客购买10本或10本以上,则按八折(即11.84元)出售.请设计一个完成计费工作的程序框图.
解:程序框图: