8.某商场举办优惠促销活动.若购物金额在800元以上(不含800元),打7折;若购物金额在400元以上(不含400元)800元以下(含800元),打8折;否则,不打折.请为商场收银员设计一个算法,要求输入购物金额x,输出实际交款额y.
解:算法步骤如下:
第一步,输入购物金额x(x>0).
第二步,判断“x>800”是否成立,若是,则y=0.7x,转第四步;否则,执行第三步.
第三步,判断“x>400”是否成立,若是,则y=0.8x;否则,y=x.
第四步,输出y,结束算法.
题组3算法的实际应用
9.国际奥委会宣布2020年夏季奥运会主办城市为日本的东京.据《中国体育报》报道:对参与竞选的5个夏季奥林匹克运动会申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票最少的城市淘汰,然后进行第二轮投票;如果第二轮投票仍没选出主办城市,将进行第三轮投票,如此重复投票,直到选出一个主办城市为止,写出投票过程的算法.
解:算法如下:
第一步,投票.
第二步,统计票数,如果一个城市得票数超过总票数的一半,那么该城市就获得主办权,否则淘汰得票数最少的城市并转第一步.
第三步,宣布主办城市.
[能力提升综合练]
1.小明中午放学回家自己煮面条吃,有下面几道工序:①洗锅、盛水2分钟;②洗菜6分钟;③准备面条及佐料2分钟;④用锅把水烧开10分钟;⑤煮面条和菜共3分钟.以上各道工序,除了④之外,一次只能进行一道工序.小明要将面条煮好,最少要用()
A.13分钟B.14分钟
C.15分钟D.23分钟
解析:选C①洗锅、盛水2分钟+④用锅把水烧开10分钟(同时②洗菜6分钟+③准备面条及佐料2分钟)+⑤煮面条和菜共3分钟=15分钟.解决一个问题的算法不是唯一的,但在设计时要综合考虑各个方面的因素,选择一种较好的算法.
2.在用二分法求方程零点的算法中,下列说法正确的是()
A.这个算法可以求方程所有的零点
B.这个算法可以求任何方程的零点
C.这个算法能求方程所有的近似零点
D.这个算法并不一定能求方程所有的近似零点
解析:选D二分法求方程零点的算法中,仅能求方程的一些特殊的近似零点(满足函数零点存在性定理的条件),故D正确.
3.(2016•青岛质检)结合下面的算法:
第一步,输入x.
第二步,判断x是否小于0,若是,则输出x+2,否则执行第三步.
第三步,输出x-1.
当输入的x的值为-1,0,1时,输出的结果分别为()
A.-1,0,1B.-1,1,0
C.1,-1,0D.0,-1,1
解析:选C根据x值与0的关系选择执行不同的步骤.
4.有如下算法:
第一步,输入不小于2的正整数n.
第二步,判断n是否为2.若n=2,则n满足条件;若n>2,则执行第三步.
第三步,依次从2到n-1检验能不能整除n,若不能整除,则n满足条件.
则上述算法满足条件的n是()
A.质数B.奇数
C.偶数D.合数
解析:选A根据质数、奇数、偶数、合数的定义可知,满足条件的n是质数.
5.(2016•济南检测)输入一个x值,利用y=|x-1|求函数值的算法如下,请将所缺部分补充完整:
第一步:输入x;
第二步:________;
第三步:当x<1时,计算y=1-x;
第四步:输出y.
解析:以x-1与0的大小关系为分类准则知第二步应填当x≥1时,计算y=x-1.
答案:当x≥1时,计算y=x-1
6.已知一个算法如下:
第一步,令m=a.
第二步,如果b<m,则m=b.
第三步,如果c<m,则m=c.
第四步,输出m.
如果a=3,b=6,c=2,则执行这个算法的结果是________.
解析:这个算法是求a,b,c三个数中的最小值,故这个算法的结果是2.
答案:2
7.下面给出了一个问题的算法:
第一步,输入a.
第二步,如果a≥4,则y=2a-1;否则,y=a2-2a+3.
第三步,输出y的值.
问:(1)这个算法解决的是什么问题?
(2)当输入的a的值为多少时,输出的数值最小?最小值是多少?
解:(1)这个算法解决的是求分段函数
y=2a-1,a≥4,a2-2a+3,a<4的函数值的问题.
(2)当a≥4时,y=2a-1≥7;
当a<4时,y=a2-2a+3=(a-1)2+2≥2,
∵当a=1时,y取得最小值2.
∴当输入的a值为1时,输出的数值最小为2.
8.“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从1~3报数,结果最后一个士兵报2;②又令士兵从1~5报数,结果最后一个士兵报3;③又令士兵从1~7报数,结果最后一个士兵报4.这样韩信很快算出自己部队里士兵的总数.请设计一个算法,求出士兵至少有多少人.
解:第一步,首先确定最小的满足除以3余2的正整数:2.
第二步,依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,….
第三步,在上列数中确定最小的满足除以5余3的正整数:8.
第四步,然后在自然数内在8的基础上依次加上15,得到8,23,38,53,….
第五步,在上列数中确定最小的满足除以7余4的正整数:53.
即士兵至少有53人.
【二】
[核心必知]
1.预习教材,问题导入
根据以下提纲,预习教材P6~P9,回答下列问题.
(1)常见的程序框有哪些?
提示:终端框(起止框),输入、输出框,处理框,判断框.
(2)算法的基本逻辑结构有哪些?
提示:顺序结构、条件结构和循环结构.
2.归纳总结,核心必记
(1)程序框图
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
(2)常见的程序框、流程线及各自表示的功能
图形符号名称功能
终端框(起止框)表示一个算法的起始和结束
输入、输出框表示一个算法输入和输出的信息
处理框(执行框)赋值、计算
判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线连接程序框
○连接点连接程序框图的两部分
(3)算法的基本逻辑结构
①算法的三种基本逻辑结构
算法的三种基本逻辑结构为顺序结构、条件结构和循环结构,尽管算法千差万别,但都是由这三种基本逻辑结构构成的.
②顺序结构
顺序结构是由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构,用程序框图表示为:
[问题思考]
(1)一个完整的程序框图一定是以起止框开始,同时又以起止框表示结束吗?
提示:由程序框图的概念可知一个完整的程序框图一定是以起止框开始,同时又以起止框表示结束.
(2)顺序结构是任何算法都离不开的基本结构吗?
提示:根据算法基本逻辑结构可知顺序结构是任何算法都离不开的基本结构.
[课前反思]
通过以上预习,必须掌握的几个知识点:
(1)程序框图的概念:;
(2)常见的程序框、流程线及各自表示的功能:;
(3)算法的三种基本逻辑结构:;
(4)顺序结构的概念及其程序框图的表示:.
问题背景:计算1×2+3×4+5×6+…+99×100.
[思考1]能否设计一个算法,计算这个式子的值.
提示:能.
[思考2]能否采用更简洁的方式表述上述算法过程.
提示:能,利用程序框图.
[思考3]画程序框图时应遵循怎样的规则?
名师指津:(1)使用标准的框图符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,其他程序框图的符号只有一个进入点和一个退出点,判断框是唯一一个具有超过一个退出点的程序框.
(4)在图形符号内描述的语言要非常简练清楚.
(5)流程线不要忘记画箭头,因为它是反映流程执行先后次序的,如果不画出箭头就难以判断各框的执行顺序.
讲一讲
1.下列关于程序框图中图形符号的理解正确的有()
①任何一个流程图必须有起止框;②输入框只能放在开始框后,输出框只能放在结束框前;③判断框是唯一的具有超过一个退出点的图形符号;④对于一个程序框图来说,判断框内的条件是唯一的.
A.1个B.2个C.3个D.4个
[尝试解答]任何一个程序必须有开始和结束,从而流程图必须有起止框,①正确.输入、输出框可以用在算法中任何需要输入、输出的位置,②错误.③正确.判断框内的条件不是唯一的,④错误.故选B.
答案:B
画程序框图时应注意的问题
(1)画流程线不要忘记画箭头;
(2)由于判断框的退出点在任何情况下都是根据条件去执行其中的一种结果,而另一个则不会被执行,故判断框后的流程线应根据情况注明“是”或“否”.
练一练
1.下列关于程序框图的说法中正确的个数是()
①用程序框图表示算法直观、形象、容易理解;②程序框图能够清楚地展现算法的逻辑结构,也就是通常所说的“一图胜万言”;③在程序框图中,起止框是任何程序框图中不可少的;④输入和输出框可以在算法中任何需要输入、输出的位置.
A.1B.2C.3D.4
解析:选D由程序框图的定义知,①②③④均正确,故选D.
观察如图所示的内容:
[思考1]顺序结构有哪些结构特征?
名师指津:顺序结构的结构特征:
(1)顺序结构的语句与语句之间、框与框之间按从上到下的顺序执行,不会引起程序步骤的跳转.
(2)顺序结构是最简单的算法结构.
(3)顺序结构只能解决一些简单的问题.
[思考2]顺序结构程序框图的基本特征是什么?
名师指津:顺序结构程序框图的基本特征:
(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.
(2)各程序框用流程线依次连接.
(3)处理框按计算机执行顺序沿流程线依次排列.
讲一讲
2.已知P0(x0,y0)和直线l:Ax+By+C=0,写出求点P0到直线l的距离d的算法,并用程序框图来描述.
[尝试解答]第一步,输入x0,y0,A,B,C;
第二步,计算m=Ax0+By0+C;
第三步,计算n=A2+B2;
第四步,计算d=|m|n;
第五步,输出d.
程序框图如图所示.
应用顺序结构表示算法的步骤:
(1)仔细审题,理清题意,找到解决问题的方法.
(2)梳理解题步骤.
(3)用数学语言描述算法,明确输入量,计算过程,输出量.
(4)用程序框图表示算法过程.
练一练
2.写出解不等式2x+1>0的一个算法,并画出程序框图.
解:第一步,将1移到不等式的右边;
第二步,不等式的两端同乘12;
第三步,得到x>-12并输出.
程序框图如图所示:
—————————————[课堂归纳•感悟提升]———————————————
1.本节课的重点是了解程序框图的含义,理解程序框图的作用,掌握各种程序框和流程线的画法与功能,理解程序框图中的顺序结构,会用顺序结构表示算法.难点是理解程序框图的作用及用顺序结构表示算法.
2.本节课要重点掌握的规律方法
(1)掌握画程序框图的几点注意事项,见讲1;
(2)掌握应用顺序结构表示算法的步骤,见讲2.
3.本节课的易错点
对程序框图的理解有误致错,如讲1.
课下能力提升(二)
[学业水平达标练]
题组1程序框图
1.在程序框图中,一个算法步骤到另一个算法步骤的连接用()
A.连接点B.判断框C.流程线D.处理框
解析:选C流程线的意义是流程进行的方向,一个算法步骤到另一个算法步骤表示的是流程进行的方向,而连接点是当一个框图需要分开来画时,在断开处画上连接点.判断框是根据给定条件进行判断,处理框是赋值、计算、数据处理、结果传送,所以A,B,D都不对.故选C.
2.a表示“处理框”,b表示“输入、输出框”,c表示“起止框”,d表示“判断框”,以下四个图形依次为()
A.abcdB.dcabC.bacdD.cbad
答案:D
3.如果输入n=2,那么执行如下算法的结果是()
第一步,输入n.
第二步,n=n+1.
第三步,n=n+2.
第四步,输出n.
A.输出3B.输出4
C.输出5D.程序出错
答案:C
题组2顺序结构
4.如图所示的程序框图表示的算法意义是()
A.边长为3,4,5的直角三角形面积
B.边长为3,4,5的直角三角形内切圆面积
C.边长为3,4,5的直角三角形外接圆面积
D.以3,4,5为弦的圆面积
解析:选B由直角三角形内切圆半径r=a+b-c2,知选B.
第4题图第5题图
5.(2016•东营高一检测)给出如图所示的程序框图:
若输出的结果为2,则①处的执行框内应填的是()
A.x=2B.b=2
C.x=1D.a=5
解析:选C∵b=2,∴2=a-3,即a=5.∴2x+3=5时,得x=1.
6.写出如图所示程序框图的运行结果:S=________.
解析:S=log24+42=18.
答案:18
7.已知半径为r的圆的周长公式为C=2πr,当r=10时,写出计算圆的周长的一个算法,并画出程序框图.
解:算法如下:第一步,令r=10.第二步,计算C=2πr.第三步,输出C.
程序框图如图:
8.已知函数f(x)=x2-3x-2,求f(3)+f(-5)的值,设计一个算法并画出算法的程序框图.
解:自然语言算法如下:
第一步,求f(3)的值.
第二步,求f(-5)的值.
第三步,将前两步的结果相加,存入y.
第四步,输出y.
程序框图:
[能力提升综合练]
1.程序框图符号“”可用于()
A.输出a=10B.赋值a=10
C.判断a=10D.输入a=1
解析:选B图形符号“”是处理框,它的功能是赋值、计算,不是输出、判断和输入,故选B.
2.(2016•广州高一检测)如图程序框图的运行结果是()
A.52B.32
C.-32D.-1
解析:选C因为a=2,b=4,所以S=ab-ba=24-42=-32,故选C.
3.(2016•广州高一检测)如图是一个算法的程序框图,已知a1=3,输出的b=7,则a2等于()
A.9B.10
C.11D.12
解析:选C由题意知该算法是计算a1+a22的值.
∴3+a22=7,得a2=11,故选C.
4.(2016•佛山高一检测)阅读如图所示的程序框图,若输出的结果为6,则①处执行框应填的是()
A.x=1B.x=2
C.b=1D.b=2
解析:选B若b=6,则a=7,∴x3-1=7,∴x=2.
5.根据如图所示的程序框图所表示的算法,输出的结果是________.
解析:该算法的第1步分别将1,2,3赋值给X,Y,Z,第2步使X取Y的值,即X取值变成2,第3步使Y取X的值,即Y的值也是2,第4步让Z取Y的值,即Z取值也是2,从而第5步输出时,Z的值是2.
答案:2
6.计算图甲中空白部分面积的一个程序框图如图乙,则①中应填________.
图甲图乙
解析:图甲空白部分的面积为a2-π16a2,故图乙①中应填S=a2-π16a2.
答案:S=a2-π16a2
7.在如图所示的程序框图中,当输入的x的值为0和4时,输出的值相等,根据该图和各小题的条件回答问题.
(1)该程序框图解决的是一个什么问题?
(2)当输入的x的值为3时,求输出的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时,输出的f(x)的值为3.
(3)因为f(x)=-x2+4x=-(x-2)2+4,
所以当x=2时,f(x)max=4,
所以要想使输出的值最大,输入的x的值应为2.
8.如图是为解决某个问题而绘制的程序框图,仔细分析各框内的内容及图框之间的关系,回答下面的问题:
(1)图框①中x=2的含义是什么?
(2)图框②中y1=ax+b的含义是什么?
(3)图框④中y2=ax+b的含义是什么?
(4)该程序框图解决的是怎样的问题?
(5)当最终输出的结果是y1=3,y2=-2时,求y=f(x)的解析式.
解:(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的值,输出的是对应x的函数值.
(5)y1=3,即2a+b=3.⑤
y2=-2,即-3a+b=-2.⑥
由⑤⑥,得a=1,b=1,
所以f(x)=x+1.
本文来源:http://www.scabjd.com/xueli/9381/