1.1.1 算法的概念
预习课本P3~6,思考并完成以下问题
(1)在数学中算法是如何定义的?
(2)算法有哪四种描述方式?
(3)设计算法的两个要求是什么?
1.算法
(1)概念:
说法①:由基本运算及规定的运算顺序所构成的完整的解题步骤.
说法②:按照要求设计好的有限的确切的计算序列.
(2)作用:
这样的步骤或序列能够解决一类问题.
2.算法的描述方式
方式
3.设计算法的两个要求
(1)写出的算法,必须能解决一类问题,并且能重复使用.
(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果.
1.下列叙述不能称为算法的是( )
A.从北京到上海先乘汽车到飞机场,再乘飞机到上海
B.解方程4x+1=0的过程是先移项再把x的系数化成1
C.利用公式S=πr2计算半径为2的圆的面积得π×22
D.解方程x2-2x+1=0
答案:D
2.算法的有限性是指( )
A.算法必须包含输出
B.算法中每个操作步骤都是可执行的
C.算法的步骤必须有限
D.以上说法均不正确
答案:C
3.以下有六个步骤:①拨号;②等拨号音;③提起话筒(或免提功能);④开始通话或挂机(线路不通);⑤等复话方信号;⑥结束通话.
写出一个打本地电话的算法________(只写序号).
解析:按照打本地电话的基本操作流程来写,应是③②①⑤④⑥.
答案:③②①⑤④⑥
4.给出一个问题的算法
S1 输入a.
S2 若a≥4,则执行S3;否则执行S4.
S3 y=2a.
S4 y=a2.
S5 输出y.
当输入的值a=5时,则输出的y值为________.
解析:所给问题是求函数值问题.
已知函数解析式为y=所以当a=5时,y=10.
答案:10
算法概念的理解
[典例] 以下关于算法的说法正确的是( )
A.描述算法可以有不同的方式,可用形式语言也可用其它语言
B.算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列只能解决当前问题
C.算法过程要一步一步执行,每一步执行的操作必须确切,不能含混不清,而且经过有限步或无限步后能得出结果
D.算法要求按部就班地做,每一步可以有不同的结果
[解析] 算法可以看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或计算序列能够解决一类问题.算法过程要求一步一步执行,每一步执行的操作,必须确切,只能有唯一结果,而且经过有限步后,必须有结果输出后终止,描述算法可以有不同的语言形式,如自然语言、框图语言及形式语言等.
[答案] A
有关算法概念的解题策略
(1)判断题应根据算法的特点进行求解;
(2)步骤要有限,前后有顺序,步步都明确.特别注意能在有限步内求解某一类问题,其中的每个步骤必须是明确可行的,不能模棱两可,对同一个问题可设计不同的算法.
[活学活用]
下列各式中S值不可以用算法求解的是( )
A.S=1+2+3+4
B.S=12+22+32+…+1002
C.S=1++…+
D.S=1+2+3+4+…
解析:选D 由算法的有限性知,D不正确,而A、B、C都可以通过有限步骤操作,输出确定结果.
算法的设计
[典例] 求两底半径分别为2和4,高为4的圆台的表面积,写出该问题的算法.
[解] 圆台如图所示,算法如下:
S1 令r1=2,r2=4,h=4.
S2 计算l=.
S3 计算S表=πr+πr+π(r1+r2)l.
S4 输出运算结果.
设计具体问题的算法的一般步骤
(1)分析问题,找出解决问题的一般数学方法;
(2)借助有关变量或参数对算法加以表述;
(3)将解决问题的过程划分为若干步骤;
(4)用简练的语言将这个步骤表示出来.
[活学活用]
已知函数f(x)=x2,g(x)=2x-log2x(x≠0).
(1)写出求g(f(x))的值的一个算法;
(2)若输入x=-2,则g(f(x))输出的结果是什么?
解:(1)S1 输入x的值(x≠0).
S2 计算y=x2的值.
S3 计算z=2y-log2y的值.
S4 输出z的值.
(2)当x=-2时,由上面的算法可知y=4,
z=24-log24=14,故输出的结果为14.
算法在实际生活中的应用
[典例] 到银行办理个人异地汇款(不超过100万元)时,银行要收取一定的手续费.汇款额不超过100元,收取1元手续费,超过100元但不超过5 000元,按汇款额的1%收取手续费,超过5 000元的一律收取50元手续费.试写出汇款额为x元时,计算银行手续费的一个算法.
[解] 算法步骤如下:
S1 输入自变量x的值;
S2 判断x的范围,若x≤100,则y=1,若100S3 输出函数值y.
实际生活问题算法设计的步骤
(1)弄清已知,明确要求;
(2)建立过程模型;
(3)根据过程模型设计算法步骤,在写算法时应简练、清晰地表达,要善于分析任何可能出现的情况,体现出思维的严密性和完善性.
[活学活用]
一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?
解:S1 把银元分成3组,每组3枚;
S2 将其中两组分别放在天平两边,如果左右不平衡,则假银元就在轻的那一组;如果左右平衡,则假银元就在未称的第3组;
S3 从含有假银元的那一组中任取两枚银元放在天平两边,如果左右不平衡,则轻的那一边就是假银元;如果两边平衡,则未称的那一枚就是假银元.
[层级一 学业水平达标]
1.计算下列各式中S的值,能设计算法求解的是( )
①S=+++…+;
②S=+++…++…;
③S=+++…+(n≥1且n∈N+).
A.①② B.①③
C.②③ D.①②③
解析:选B 因为算法的步骤是有限的,所以②不能设计算法求解.
2.结合下面的算法:
S1 输入x.
S2 判断x是否小于0,若是,则输出x+2,否则执行S3.
S3 输出x-1.
当输入的x的值为-1时,输出的结果为( )
A.-2 B.0
C.1 D.3
解析:选C 根据x值与0的关系,选择执行不同的步骤,当x的值为-1时,应执行x+2这一步骤,所以输出的结果应为1,故选C.
3.给出下列算法:
S1 输入x的值.
S2 当x>4时,计算y=x+2;否则执行下一步.
S3 计算y=.
S4 输出y.
当输入x=0时,输出y=________________.
解析:0<4,执行S3,y==2.
答案:2
4.用高斯消去法计算二元一次方程组的解.
解:S1 计算D=3×(-1)-1×(-2)=-1.
S2 D=-1≠0,则x==-2,
y==-6.
S3 输出x,y的值.
[层级二 应试能力达标]
1.下列对算法的理解不正确的是( )
A.算法只能用自然语言来描述
B.算法可以用图形方式来描述
C.算法一般是“机械的”,有时要进行大量重复的计算,它的优点是可以解决一类问题
D.设计算法要本着简单、方便、可操作的原则
解析:选A 由算法的概念和描述方式知,A不正确.
2.对于一般的二元一次方程组在写解此方程组的算法时需要我们注意的是( )
A.a1≠0 B.a2≠0
C.a1b2-a2b1≠0 D.a1b1-a2b2≠0
解析:选C 应用高斯消去法解方程组其实质是利用加减消元法.首先要将两方程y的系数化为相同即b1b2,此时x的系数分别为a1b2和a2b1两式相减得(a1b2-a2b1)x=c1b2-c2b1,要得出x的值,则需注意a1b2-a2b1≠0.
3.阅读下面的算法:
S1 输入两个实数a,b.
S2 若a<b,则交换a,b的值,否则执行第三步.
S3 输出a.
这个算法输出的是( )
A.a,b中的较大数 B.a,b中的较小数
C.原来的a的值 D.原来的b的值
解析:选A 第二步中,若a<b,则交换a,b的值,那么a是a,b中的较大数;若a<b不成立,即a≥b,那么a也是a,b中的较大数.
4.对于算法:
S1 输入n.
S2 判断n是否等于2,若n=2,则n满足条件;若n>2,则执行S3.
S3 依次从2到(n-1)检验能不能整除n,若不能整除n,则执行S4;若能整除n,则执行S1.
S4 输出n.
满足条件的n是( )
A.质数 B.奇数
C.偶数 D.约数
解析:选A 从题目的条件可以看出,输出的n没有约数,因此是质数.
5.给出算法步骤如下:
S1 输入x的值;
S2 当x<0时,计算y=x+1,否则执行S3;
S3 计算y=-x2;
S4 输出y.
当输入x的值为-2,3时,输出y的结果分别是______.
解析:由算法步骤可知,其算法功能是已知函数y=当输入x的值时,求对应的y值.因为-2<0,所以对应函数解析式为y=x+1,因此y=-2+1=-1;当x=3时,则对应函数解析式为y=-x2,因此y=-32=-9.
答案:-1,-9
6.使用配方法解方程x2-4x+3=0的算法的步骤是________(填序号).
①配方得(x-2)2=1;
②移项得x2-4x=-3;
③解得x=1或x=3;
④开方得x-2=±1.
解析:使用配方法的步骤应按移项、配方、开方、得解的顺序进行.
答案:②①④③
7.已知直角三角形两条直角边长分别为a,b(a>b),写出求两直角边所对的最大角θ的余弦值的算法如下:
S1 输入两直角边长a,b的值;
S2 计算c=的值;
S3 ________________________;
S4 输出cos θ.
将算法补充完整,横线处应填________________.
解析:根据题意知,直角三角形两直角边a,b(a>b)所对最大角θ的余弦值为,所以应填“计算cos θ=的值”.
答案:计算cos θ=的值
8.某居民区的物业部门每月向居民收取卫生费,计费方法是:3人或3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费.
解:设某户有x人,根据题意,应收取的卫生费y是x的分段函数,即y=
算法如下:
S1 输入人数x.
S2 如果x≤3,则y=5;如果x>3,则y=1.2x+1.4.
S3 输出应收卫生费y.
9.已知直线l1:3x-y+12=0和直线l2:3x+2y-6=0,求直线l1与l2及y轴所围成的三角形面积,写出解决本题的一个算法.
解:S1 解方程组得直线l1,l2的交点P(-2,6).
S2 在方程3x-y+12=0中令x=0,得y=12,从而得到A(0,12).
S3 在方程3x+2y-6=0中令x=0,得y=3,得到B(0,3);
S4 求出△ABP的底边长|AB|=12-3=9;
S5 求出△ABP的底边AB上的高h=2;
S6 根据三角形的面积公式计算
S=|AB|·h=×9×2=9.
课件23张PPT。1.1.2 程序框图
预习课本P7~9,思考并完成以下问题
(1)程序框图是如何定义的?
(2)程序框图的图形符号有哪些?各自的名称和作用是什么?
(3)画程序框图的规则有哪五条?
1.程序框图的概念及常用图形符号
(1)程序框图的概念:
用一些通用图形符号构成一张图来表示算法,这种图称做程序框图(简称框图).
(2)常用的表示算法步骤的图形符号及其含义:
图形符号
名称
符号表示的意义
起、止框
框图的开始或结束
输入、
输出框
数据的输入或者结果的输出
处理框
赋值、执行计算语句、结果的传送
判断框
根据给定条件判断
流程线
流程进行的方向
连接点
连接另一页或另一部分的框图
注释框
帮助理解框图
2.画程序框图的规则
(1)使用标准的框图的符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,其他框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.
(4)一种判断框是二择一形式的判断,有且仅有两个可能结果;另一种是多分支判断,可能有几种不同的结果.
(5)在图形符号内描述的语言要非常简练清楚.
1.下列图形中表示处理框的是( )
答案:B
2.在程序框图中,一个算法步骤到另一个算法步骤的连接用( )
A.连接点 B.判断框
C.流程线 D.处理框
答案:C
3.阅读如图所示的程序框图,输入a1=3,a2=4,则输出的结果是( )
A.12 B.7
C.34 D.43
解析:选A b=a1·a2=3×4=12.故选A.
4.如图所示的程序框图,若输出的y的值为16,则输入的x的值为________.
解析:当输出的y的值为16时,由y=4m=16,可知m=2,由m=log2x=2,可得x=22=4.
答案:4
对程序框的认识和理解
[典例] 下列说法正确的是( )
A.程序框图中的图形符号可以由个人来确定
B.也可以用来执行计算语句
C.输入框只能紧接在起始框之后
D.长方形框是执行框,可用来对变量赋值,也可用来计算
[解析] 程序框是由通用图形符号构成,并且有特殊含义,A不正确;菱形框是判断框,只能用来判断,所以B不正确;输入框可用在算法中任何需要输入的位置,所以C也不正确;由程序框的功能可知D项正确.
[答案] D
几种基本框图的功能
(1)起、止框:是每一个算法必不可少的框图符号,表示一个算法的开始或结束.
(2)输入、输出框:在一个算法中输入、输出一些数据或信息.可用在算法中任何需要输入、输出的位置.
(3)处理框:可以进行数据的计算或对变量进行赋值等.
(4)判断框:判断某一条件是否成立,从而决定算法下一步的走向.
[活学活用]
以下给出对程序框图的几种说法:
①任何一个程序框图都必须有起止框;
②输入框只能放在开始框后,输出框只能放在结束框前;
③判断框是唯一具有超过一个退出点的符号;
④对于一个程序来说,判断框内的条件表达方法是唯一的.
其中正确说法的个数是( )
A.1 B.2
C.3 D.4
解析:选B 根据程序框图的特征可判断②④错误.①③正确.
程序框图功能的判断
[典例] 给出如图所示的程序框图,根据该图回答以下问题:
(1)该程序框图表示的算法的功能是什么?
(2)若输入a=-2,那么输出结果是什么?
[解] (1)该程序框图表示的算法的功能是求二次函数y=-x2+4x的函数值.
(2)若输入a=-2,那么x=-2,这时y=-(-2)2+4×(-2)=-12,因此输出结果是-12.
解决程序框图问题要深刻理解程序框图的定义以及画法规则,同时要对每个框图符号的含义以及作用区分清楚,还要理解并记住画程序框图的一些常见规定.
[活学活用]
如图是为解决某个问题而绘制的程序框图,仔细分析各图框中的内容及图框之间的关系,回答下列问题:
(1)若最终输出的结果是y1=3,y2=-2,则当x取5时5a+b的输出结果应该是多少?
(2)在(1)的前提下,输入的x值越大,输出的ax+b的值是不是越大?为什么?
解:(1)若y1=3,
即2a+b=3.①
若y2=-2,
即-3a+b=-2. ②
联立①②,得a=1,b=1,故y=f(x)=x+1.
所以,当x取5时,f(5)=6.
(2)在(1)的前提下,输入的x值越大,输出的函数值ax+b越大,因为f(x)=x+1是R上的增函数.
画简单的程序框图
[典例] 求过点P1(x1,y1),P2(x2,y2)的直线的斜率.设计解决该问题的一个算法并画出程序框图.
[解] 算法步骤如下:
S1 输入x1,y1,x2,y2.
S2 如果x1=x2,输出“斜率不存在”;否则,k=.
S3 输出k.
程序框图如图所示.
画程序框图的思路
(1)程序框图中的每一种图形符号都有特定的含义,在画程序框图时不能混用.
(2)流程线上不要忘记加方向箭头,如果不画,就难以判断各框间的执行次序.
(3)要先赋值,再运算,最后输出结果.
[活学活用]
已知x=10,y=2,画出计算w=5x+8y的值的程序框图.
解:先根据题意确定算法步骤,
算法如下:
S1 x=10,y=2.
S2 计算w=5x+8y.
S3 输出w的值.
其程序框图如图所示.
[层级一 学业水平达标]
1.下列是流程图中的一部分,表示恰当的是( )
解析:选A B选项应该用处理框而非输入、输出框,C选项应该用输入、输出框而不是处理框,D选项应该在出口处标明“是”和“否”.
2.下列关于流程线的说法,不正确的是( )
A.流程线表示算法步骤执行的顺序,用来连接程序框
B.流程线只要是上下方向就表示自上向下执行,可以不要箭头
C.流程线无论什么方向,总要按箭头的指向执行
D.流程线是带有箭头的线,可以画成折线
解析:选B 流程线上必须带箭头,表示执行的方向,可能向下,也可能向上,有时也可以画成折线.
3.如图,若输入m=3,则输出的结果是________.
解析:由题图知n=3+5+5=13.
答案:13
4.阅读如图的程序框图,若输入x的值分别是0和-1时,输出y的值分别是2和5,试求a,b的值.
解:依题意可得
即解得a=3,b=-1.
[层级二 应试能力达标]
1.程序框是程序框图的一个组成部分,下面的对应正确的是( )
①起、止框,表示一个算法的起始和结束;②输入、输出框,表示一个算法输入和输出的信息;③处理框(执行框),功能是赋值、执行计算语句、结果的传送;④判断框,判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”
A.(1)与①,(2)与②,(3)与③,(4)与④
B.(1)与④,(2)与②,(3)与①,(4)与③
C.(1)与①,(2)与③,(3)与②,(4)与④
D.(1)与①,(2)与③,(3)与④,(4)与②
解析:选D 矩形框表示处理框;菱形框表示判断框;平行四边形框表示输入、输出框;圆角矩形框表示起止框.
2.下列关于程序框图的说法正确的是( )
A.一个程序框图包括表示相应操作的框、带箭头的流程线和必要的文字说明
B.输入、输出框只能各有一个
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.在程序框图中,必须包含判断框
解析:选A 输入、输出框可以放在算法中任何需要输入、输出的位置,所以不一定各有一个,因此B选项是错误的;相对于自然语言,用程序框图描述算法的优点主要就是直观、形象,容易理解,在步骤表达上简单了许多,所以C选项是错误的;显然D选项错误.
3.如图所示的程序框图,已知a1=3,输出的结果为7,则a2的值是( )
A.9 B.10
C.11 D.12
解析:选C 因为输出的结果为7,所以b=7,又b=,所以原b=14,即a1+a2=14.又a1=3,所以a2=11.
4.给出如图的算法程序框图,该程序框图的功能是( )
A.求出a,b,c三数中的最大数
B.求出a,b,c三数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列
解析:选B 经判断框中a>b处理后a是a,b中较小者;经判断框a>c处理后,a是a,c中较小者,结果输出a,即三者中最小的数.
5.阅读如图所示的程序框图,若输出结果为15,则①处的执行框内应填的是________.
解析:先确定①处的执行框是给x赋值,然后倒着推,b=15时,2a-3=15,a=9,当a=9时,2x+1=9,x=3.
答案:x=3
6.图(2)是计算图(1)的阴影部分面积的一个程序框图,则①中应该填________.
解析:∵S=x2-π×2=x2,
∴M=x2.
答案:M=x2
7.如图是求长方体的体积和表面积的一个程序框图,补充完整,横线处应填______________________.
解析:根据题意,长方体的长、宽、高应从键盘输入,故横线处应填写输入框.
答案:
8.利用梯形的面积公式计算上底为4,下底为6,面积为15的梯形的高.请设计出该问题的算法及程序框图.
解:根据梯形的面积公式S=(a+b)h,得h=,其中a是上底,b是下底,h是高,S是面积,只要令a=4,b=6,S=15,代入公式即可.
算法如下:
第一步,输入梯形的两底a,b与面积S的值.
第二步,计算h=.
第三步,输出h.
该算法的程序框图如图所示:
9.如图所示的程序框图,根据该图和下列各小题的条件回答下面问题.
(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.
课件23张PPT。第一课时 顺序结构与条件分支结构
预习课本P10~12,思考并完成以下问题
(1)顺序结构是怎样定义的?
(2)什么是条件分支结构?
顺序结构
条件分支结构
定义
描述的是最简单的算法结构,语句和语句之间,框和框之间按从上到下的顺序进行
根据判断结果进行不同处理的逻辑结构,依据指定条件选择执行不同指令的控制结构
图示
1.下面关于条件分支结构的说法中正确的是( )
A.条件分支结构的程序框图一定有一个入口和两个出口
B.无论条件分支结构中的条件是否满足,都只能执行两条路径之一
C.条件分支结构中的两条路径可以同时执行
D.对于一个算法来说,判断框中的条件是唯一的
答案:B
2.如图所示的程序框图,当执行步骤输入x后,下一步应该执行的步骤是( )
A.① B.②
C.③ D.②③
答案:A
3.根据如图所示的程序框图,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”,则( )
A.框1中填“是”,框2中填“否”
B.框1中填“否”,框2中填“是”
C.框1中填“是”,框2中可填可不填
D.框2中填“否”,框1中可填可不填
解析:选A 成绩不低于60分时输出“及格”,即x≥60时满足条件,故框1填“是”,框2填“否”.
4.阅读程序框图,若输出的结果为2,则①处的执行框内应填的是( )
A.x=2 B.b=2
C.x=1 D.a=5
解析:选C 首先确定①处的执行框内应该是给x赋值,然后倒着推算b=2时,a-3=2,
∴a=5.
a=5时,2x+3=5,∴x=1.
顺序结构
[典例] (1)阅读如图所示的程序框图,输出d=________.
(2)已知y=f(x)=x2-2x-3,求f(3),f(-5),f(5)的值,并计算f(3)+f(-5)+f(5)的值,设计出解决该问题的一个算法,并画出程序框图.
[解析] (1)由程序框图知:
a=2,b=3,c=4,a=b,b=c+2,c=b+4知,
赋值后,a=3,b=6,c=10,
所以d===.
答案:
(2)解:算法如下:
S1 x=3.
S2 y1=x2-2x-3.
S3 x=-5.
S4 y2=x2-2x-3.
S5 x=5.
S6 y3=x2-2x-3.
S7 y=y1+y2+y3.
S8 输出y1,y2,y3,y.
程序框图如图:
顺序结构的特点
(1)顺序结构是程序设计中的一种最基本最简单的算法结构.
(2)顺序结构中,语句与语句,框与框之间按照一定的顺序(可能是从上到下也可能是从左到右等)依次执行.在利用顺序结构解决有关的算法问题时,一定要审清题意,搞清楚算法执行的顺序与步骤.(关键词:按照一定顺序)
[活学活用]
1.如图的程序框图是交换两个变量的值并输出,则图中①处应填写________.
解析:要交换两个变量x,y的值,需引入中间量T.令T等于其中一个量的值后,令第一个量x等于第二个量y的值,再令第二个量y等于中间量T的值.
答案:x=y
2.写出求A(x1,y1),B(x2,y2)两点之间距离的算法,并画程序框图.
解:算法如下:
S1 输入x1,y1,x2,y2;
S2 计算Δx=x2-x1,Δy=y2-y1
S3 计算d=
S4 输出d.
程序框图如图所示:
条件分支结构
[典例] (1)阅读如图所示的程序框图,如果输出的函数值在区间内,则输入的实数x的取值范围是( )
A.(-∞,-2) B.[-2,-1]
C.[-1,2] D.(2,+∞)
(2)如图所示的框图中,x1,x2,x3为某次考试三个评阅人对同一道题的独立评分,p为该题的最终得分.当x1=6,x2=9,p=8.5时,x3等于( )
A.11 B.10
C.8 D.7
[解析] (1)若x?[-2,2],
则f(x)=2?,不符合题意;
当x∈[-2,2]时,由f(x)=2x∈,
得x∈[-2,-1].
(2)显然满足p=8.5的可能为=8.5或=8.5.若x3=11,不满足|x3-x1|<|x3-x2|,则x1=11,p==10,不满足题意;若x3=8,不满足|x3-x1|<|x3-x2|,则x1=8,p==8.5,满足题意.
[答案] (1)B (2)C
条件分支结构读图策略
(1)理清所要实现的算法的结构特点和流程规则,分析其功能.
(2)结合框图判断所要填入的内容或计算所要输出或输入的值.
[活学活用]
1.对任意非零实数a,b,若a?b的运算原理如程序框图所示,则3?2=________.
解析:由于a=3,b=2,
则a≤b不成立,
则输出==2.
答案:2
2.已知分段函数f(x)=设计一个算法,对输入的x的值,输出相应的函数值,并画出程序框图.
解:算法步骤如下:
S1 输入x;
S2 若x≥2,则y=x2-x+1;否则y=x+1;
S3 输出y.
程序框图如图所示.
条件分支结构的实际应用
[典例] 设计房租收费的算法,其要求是:住房面积90 m2以内,每平方米收费3元;住房面积超过90 m2时,超过部分,每平方米收费5元.画出程序框图,要求输入住房面积数,输出应付的房租.
[解] 算法如下:
S1 输入住房面积S.
S2 根据面积选择计费方式:若S≤90,则租金为M=3S;若S>90,则租金为M=5S-180.
S3 输出房租M的值.
程序框图如下:
利用条件分支结构求解实际应用题的策略
与现实生活有关的题目经常需用到条件分支结构.解答时,首先根据题意写出函数解析式,然后设计成程序框图,解答此题的关键是写出函数解析式.
[活学活用]
1.某种电子产品的采购商指导价为每台200元,若一次采购达到一定量,还可享受折扣.如图为某位采购商根据折扣情况设计的程序框图,则该程序运行时,在输入一个正整数x之后,输出的S值的实际意义是______________;若一次采购85台该电子产品,则S=________元.
解析:根据算法框图可知各分支中p表示该电子产品的实际采购价格,因此S表示一次采购共需花费的金额.因为85∈(50,100],所以采购价格为200×0.9=180(元/台),所以S=180×85=15 300(元).
答案:一次采购共需花费的金额 15 300
2.为了加强居民的节水意识,某市制定了以下生活用水收费标准:每户每月用水未超过7立方米时,每立方米收费1.0元,并加收每立方米0.2元的城市污水处理费;超过7立方米的部分,每立方米收费1.5元,并加收每立方米0.4元的城市污水处理费.设某户每月用水量为x立方米,应缴纳水费y元,请你设计一个输入用水量、输出应缴水费额的算法,画出程序框图.
解:y与x之间的函数关系式为
y=
算法设计如下:
S1 输入每月用水量x(x≥0).
S2 判断输入的x是否超过7,若x>7,则应缴纳水费y=1.9x-4.9;否则应缴纳水费y=1.2x.
S3 输出应缴水费y.
程序框图如图所示:
[层级一 学业水平达标]
1.阅读如图所示的程序框图,若输入x=3,则输出y的值为( )
A.33 B.34
C.40 D.45
解析:选B x=3,a=2×32-1=17,b=a-15=2,y=ab=17×2=34,则输出y的值为34.
2.如图所给的程序框图描述的算法的运行结果是( )
A.-5 B.5
C.-1 D.-2
解析:选A ∵x=-1<0,
∴y=3×(-1)-2=-5.
3.根据所给的程序框图,如图所示,输出的结果是________.
解析:由X=Y,得X=2;由Y=X,得Y=2;由Z=Y,得Z=2.
答案:2
4.给定一个正整数n,若n为奇数,则把n乘3加1;若n为偶数,则把n除以2.设计一个算法,并画出程序框图.
解:算法步骤如下:
S1 输入n的值.
S2 若n为奇数,计算ω=3n+1的值;
否则,计算ω=的值.
S3 输出ω.
程序框图如图所示.
[层级二 应试能力达标]
1.如图是程序框图的一部分,其算法的逻辑结构是( )
A.顺序结构 B.条件分支结构
C.判断结构 D.以上都不对
解析:选B 此逻辑结构是条件分支结构.
2.已知函数f(x)=2x+7,在如图的程序框图中,若输入x=-3,则输出的结果为( )
A.-3 B.1
C.9 D.25
解析:选D x=-3,y=f(x)=2×(-3)+7=1,
f(y)=2×1+7=9,故z=2f(y)+7=25,故z=25.
3.已知函数y=图中表示的是给定x的值,求其对应的函数值y的程序框图①处应为( )
A.x<2 B.x>2
C.x≠2 D.x=2
解析:选A 框图中的①就是分段函数解析式两种形式的判断条件,故①应为x<2,故选A.
4.给出一个如图所示的程序框图,若要使输入x的值与输出y的值相等,则这样的x的值的个数是( )
A.1 B.2
C.3 D.4
解析:选C 当x≤2时,y=x2=x,解得x1=0,x2=1;当25时,y==x,解得x=±1(舍去),故x的值可以为0,1,3.
5.如图的程序框图表示的算法的运行结果是________.
解析:p=9,
∴S==6.
答案:6
6.已知函数f(x)=|x-3|,以下程序框图表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填________,②处应填________.
解析:由f(x)=|x-3|=及程序框图知,①处可填x<3,②处应填y=x-3.
答案:x<3 y=x-3
7.已知某程序框图如图,若输入的x的值分别为0,1,2,执行该程序框图后,输出的y的值分别为a,b,c,则a+b+c=________.
解析:该程序框图的作用是计算分段函数y=的函数值.当x=0时,y=40=1;当x=1时,y=1;当x=2时,y=22=4,故a+b+c=1+1+4=6.
答案:6
8.已知函数y=2x+3图象上任一点的横坐标x,设计一个算法,求该点到坐标原点的距离,并画出程序框图.
解:算法如下:
S1 输入横坐标的值x;
S2 计算y=2x+3;
S3 计算d=;
S4 输出d.
程序框图如图.
9.在音乐唱片超市里,每张唱片售价25元,顾客如果购买5张或5张以上10张以下,则按九折优惠;如果顾客购买10张或10张以上,则按八五折优惠.请设计一个完成计费工作的程序框图.
解:用c表示顾客所付的金额,a表示顾客购买的唱片数量,则c是a的一个分段函数:c=
程序框图如图所示.
课件27张PPT。第二课时 循环结构
预习课本P13~14,思考并完成以下问题
什么是循环结构?
循环结构
根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构.
1.下列框图是循环结构的是( )
A.①② B.②③
C.③④ D.②④
答案:C
2.在如图所示的程序框图中,输出S的值为( )
A.11 B.12
C.13 D.15
解析:选B 由框图知S=3+4+5=12.
3.程序框图如图所示,其输出结果是( )
A.110 B.118
C.127 D.132
解析:选C 由题图可知,a的值依次为1,3,7,15,31,63,127,因为127>100,所以输出a=127.
4.一个算法的程序框图如图所示,若该程序输出的结果为,则判断框①中应填入的是________.
解析:由框图知,=+++…+=1-,∴n=5,运行5次.
∴判断框中应为“i≤5?”.
答案:5
循环结构的运行
[典例] (1)(北京高考)执行如图所示的程序框图,输出的k值为( )
A.3 B.4
C.5 D.6
(2)阅读如图程序框图,为使输出的数为31,则判断框中应填入的条件为( )
A.i≤4 B.i≤5
C.i≤6 D.i≤7
[解析] (1)第一次进入循环体:a=,k=1;第二次进入循环体:a=,k=2;第三次进入循环体:a=,k=3;第四次进入循环体:a=,k=4.此时a<,结束循环,输出k的值为4.选B.
(2)该算法的功能是S=1+2+22+23+…+2i,由1+2+22+23+…+2i=31.
可知1+2+22+23+24=31,
所以i≤4.
[答案] (1)B (2)A
运行含循环结构的程序框图的步骤
(1)按顺序逐步运行.
(2)写出每次运行后各个变量的结果.
(3)一直写到满足条件(或不满足条件)退出循环,输出结果.
[活学活用]
如图所示的程序框图的输出结果为( )
A.20 B.3
C.5 D.15
解析:选A a的初值为5,每循环一次a的值减1,故循环2次,∴输出s=20.故选A.
循环结构的设计
[典例] 设计算法求1×2×3×4×…×2 012×2 013×2 014×2 015×2 016的值.并画出程序框图.
[解] 算法如下:
S1 设M的值为1,
S2 设i的值为2,
S3 如果i≤2 016,则执行S4,否则执行S6,
S4 计算M=M×i,
S5 计算i=i+1,返回执行S3;
S6 输出M的值,并结束算法.
程序框图如图:
应用循环结构需要确定的三个关键问题
(1)确定循环变量及初始值,循环变量用于控制循环的次数,通常累加问题循环变量的初始值设为0,累乘问题循环变量的初始值设为1.
(2)确定循环体,循环体是算法中反复执行的部分,是循环结构的核心,通常由两部分构成,一是进行累加累乘,二是设置控制变量的增加值.
(3)确定循环终止的条件.
[活学活用]
求使1×2×3×…×n>5 000的最小正整数n,设计一个算法,并画出程序框图.
解:算法如下:
S1 M=1;
S2 i=2;
S3 如果M≤5 000,那么执行S4,否则执行S5;
S4 M=M×i,i=i+1,并返回执行S3;
S5 i=i-1;
S6 输出i.
程序框图如图:
循环结构的实际应用
[典例] 某工厂2015年生产轿车300万辆,技术革新后预计每年的产量比上一年增加6%,问最早哪一年生产的轿车超过400万辆?试设计算法并画出相应的程序框图.
[解] 算法如下:
S1 n=2 015.
S2 a=300.
S3 T=0.06a.
S4 a=a+T.
S5 n=n+1.
S6 若a>400,输出n.否则执行S3.
程序框图如图:
利用循环结构解决应用问题的方法
[活学活用]
某篮球队6名主力队员在最近三场比赛中投进的三分球个数如表所示:
队员i
1
2
3
4
5
6
三分球个数
a1
a2
a3
a4
a5
a6
如图是统计该6名队员在最近三场比赛中投进的三分球总数的程序框图,则图中判断框中应填________,输出的S=________.
解析:由题意知该程序框图是统计该6名队员在最近三场比赛中投进的三分球总数,故图中判断框应填i≤6,输出的S=a1+a2+…+a6.
答案:6 a1+a2+…+a6
[层级一 学业水平达标]
1.阅读如图所示的程序框图,运行相应的程序,则输出的s的值等于( )
A.-3 B.-10
C.0 D.-2
解析:选A 第一次循环:k=0+1=1,满足k<4,s=2×1-1=1;第二次循环:k=1+1=2,满足k<4,s=2×1-2=0;第三次循环:k=2+1=3,满足k<4,s=2×0-3=-3;第四次循环:k=3+1=4,不满足k<4,输出s=-3,故选A.
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.执行如图所示的程序框图,若输入A的值为2,则输出的P值为( )
A.2 B.3
C.4 D.5
解析:选C A=2,P=1,S=1≤2,
P=1+1=2,S=1+=;
S=≤2,P=2+1=3,S=+=;
S=≤2,P=3+1=4,S=+=;
S=>2,跳出循环,输出P=4.
4.如图所示的程序框图输出的结果是________.
解析:该程序框图的执行过程是:
x=3,y=1,x=3≤6成立,
y=1×3=3,x=3+1=4;
x=4≤6成立,y=3×4=12,
x=4+1=5;
x=5≤6成立,y=12×5=60,
x=5+1=6;
x=6≤6成立,y=60×6=360,
x=6+1=7;
x=7≤6不成立,
输出y=360.
答案:360
[层级二 应试能力达标]
1.按下面的程序框图运行后,所得的值为( )
A.5 B.4
C.3 D.2
解析:选C i为循环次数,循环3次.
2.执行如图所示的程序框图,则输出的y的值为( )
A. B.0
C.-1 D.2
解析:选D 由程序框图知y的值依次是2,,-1,2,,-1,…,输出的y值呈现的规律是以2,,-1为一个循环节重复出现,而2 017除以3余1,所以输出的y值是此数列的第一个数2,故选D.
3.如图是一算法的程序框图,若此程序运行结果为S=720,则在判断框中应填入关于k的判断条件是( )
A.k≥6 B.k≥7
C.k≥8 D.k≥9
解析:选C S=10×9×8,10≥8,9≥8,8≥8,判断条件为“是”时进入循环体,7≥8判断条件为“否”时跳出循环,输出S,故选C.
4.执行如图所示的程序框图,输出的S值为( )
A.3 B.-6
C.10 D.-15
解析:选C 第一次循环:i=1,S=-1,i=2;第二次循环:S=-1+4=3,i=3;第三次循环:S=3-9=-6,i=4;第四次循环:S=-6+16=10,i=5;第五次循环条件不成立,输出S=10.
5.执行如图所示的程序框图,若输出i的值为2,则输入x的最大值是________.
解析:由题意,可知
解得即8答案:22
6.如图所示,执行程序框图,输出结果是________.
解析:第一次循环:s=,n=4;
第二次循环:s=+=,n=6;
第三次循环:s=+=,n=8<8不成立,退出循环,输出结果为.
答案:
7.某上市公司,投入大量财力和人力搞科技创新,其年产值以20%的增长率增长,如图是计算在今年的基础上至少经过多少年其年产值翻一番的程序框图,其中P表示年产值,R表示增长率,n表示年数,P=1表示今年的产值,n=0表示今年,则图中①处应填________,②处应填________.
解析:由题意及图可知,年产值P的初始值为1,翻一番后应变为2,所以①处判断框内应填P<2;由于表示年数n的初始值为0,故输出的就是n,即②处应填n.
答案:P<2 n
8.在某次田径比赛中,男子100米A组有8位选手参加预赛,成绩(单位:秒)依次为:9.88,10.57,10.63,9.90,9.85,9.98,10.21,10.86.请设计一个算法,在这些成绩中找出不超过9.90秒的成绩,并画出程序框图.
解:算法如下:
S1 n=1;
S2 输入x;
S3 判断x与9.90的大小,若x>9.90,则执行S4,否则,输出x,并执行S4;
S4 n=n+1;
S5 判断n与成绩个数8的大小,若n≤8,则返回S2,否则结束.
程序框图如图:
9.按如图所示的程序框图进行运算.
(1)若输入x的值为5,则输出k的值是多少?
(2)若输出k的值为3,则输入x的取值范围是什么?
解:(1)当x=5时,执行程序后,x与k的值依次为
x
13
37
109
325
k
1
2
3
4
当x=325时,条件x>244成立,结束循环,此时k=4.
(2)若输入值为x0,则每次程序运行时,x与k的值依次为
x
3x0-2
3(3x0-2)-2
3[3(3x0-2)-2]-2
k
1
2
3
故当程序结束时,3[3(3x0-2)-2]-2=27x0-26适合条件x>244,即27x0-26>244,解得x0>10,
3(3x0-2)-2=9x0-8不适合条件x>244,
有9x0-8≤244,解得x0≤28,
故x0∈(10,28],
故输入x的取值范围是(10,28].
课件25张PPT。1.2.1 赋值、输入和输出语句
预习课本P16~20,思考并完成以下问题
(1)赋值语句的格式和作用分别是什么?
(2)输入、输出语句的格式和作用又分别是什么?
1.赋值语句
定义
用来表明赋给某一个变量一个具体的确定值的语句
格式
变量名=表达式
作用
赋值语句中的“=”号,称做赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值
2.输入、输出语句
名称
一般格式
作用
输入
语句
a=input(" ")
(1)把程序和初始数据分开
(2)可输入数值、单个或多个字符
输出
语句
print(%io(2),a,b,c)
参数%io(2)表示在屏幕上输出
1.下列赋值语句中错误的是( )
A.N=N+2 B.M=M*M
C.A=B=C D.D=3
答案:C
2.下列基本算法语句中书写格式正确的是( )
A.input 2 015 B.input x=2 015
C.y=y*y+1 D.5=x
答案:C
3.输出计算结果a,表示为__________________________________________________.
答案:print(%io(2),a)
输入、输出语句及赋值语句的功能
[典例] 写出下列语句描述的算法的输出结果.
[解] (1)因为a=5,b=3,c==4,d=c2=16,
所以输出结果为16.
(2)因为a=1,b=2,c=a+b=3,
所以b=a+c-b=1+3-2=2.
故输出结果依次为a=1,b=2,c=3.
(1)根据给出的算法语句写结果,应抓住输入、输出语句和赋值语句的特点,按语句的计算、赋值功能依次执行.
(2)注意在Scilab语言中常见运算符号的书写方式,明确它们的运算规则:先乘除,后加减;乘幂优先于乘除;函数优先于乘幂;同级运算从左向右按顺序进行;括号内的运算最优先.
[活学活用]
如果输入“82,92,90”.下面程序的功能是________,输出结果为________.
x=input(”成绩1=”);
y=input(”成绩2=”);
z=input(”成绩3=”);
t=x+y+z;
s=t/3;
print(%io(2),s,t);
解析:输入考试成绩,输出三科总分和平均分.
答案:输出总分和平均分 264,88
用赋值、输入、输出语句写算法程序
[典例] 如图,已知圆的半径为R,其内接正方形如图,试设计程序求图中阴影部分的面积.
[解] 程序如下:
1.编写程序解决具体问题的一般步骤
(1)设计并用自然语言写出解决问题的算法.
(2)用程序框图表示算法.
(3)将程序框图转化为算法语句即得程序.
2.由程序框图写出程序的方法
顺序结构的程序框图只需利用输入语句、输出语句和赋值语句即可完成.其中输入、输出框对应输入语句和输出语句,处理框对应赋值语句.
[活学活用]
根据程序框图,写出程序.
解:程序如下:
赋值、输入、输出语句在现实生活中的应用
[典例] 在一次数学考试中,小明,小亮,小强的成绩分别为a,b,c,后来发现统计错了.小亮的成绩记在了小明的名下,小强的成绩记在了小亮的名下,而小明的成绩记在小强的名下了.设计程序更正成绩单,并输出.
[解] 程序如下:
编写程序解决实际应用题的步骤
(1)审清题意,恰当设未知数.
(2)建立数学模型,把实际问题转化为数学问题.
(3)根据数学模型,设计算法分析.
(4)根据算法分析,画出程序框图.
(5)根据程序框图,利用输入、输出语句及赋值语句等编写程序.
[活学活用]
经过市场调查分析,2016年第一季度内,某地区对某件商品的需求量为12 000件,为保证商品不脱销,商家在月初时将商品按相同的量投入市场,已知年初商品的库存量为50 000件,用S表示商品的库存量,设计一个程序,求出第一季度结束时商品的库存量.
解:列出如下列所示每月库存量的变化情况:
月份
库存
一月
二月
三月
S
46 000
42 000
38 000
程序如下:
[层级一 学业水平达标]
1.下列输入、输出、赋值语句中正确的是( )
A.a=input(”a=”)
B.print(%io(2),a;b;c)
C.10=B
D.A=B=-5
解析:选A A正确;B错误,print语句中变量之间用“,”隔开,而不是“;”;C错误,赋值语句中“=”号左边只能是变量名,不能是数值;D错误,一个赋值语句只能给一个变量赋值,不能出现两个或两个以上的赋值号.
2.执行下面的程序后,输出的a,b的值是( )
A.1,3 B.4,1
C.4,-2 D.1,4
解析:选B 由赋值语句的意义知,执行a=a+b后,a的值变为1+3=4,执行b=a-b后,b=4-3=1,故选B.
3.下列程序若输出的结果为4,则输入的x值可能是____________________________.
解析:由题意可得x2+2x+1=4,解得x=1或x=-3.
答案:1或-3
4.读如下两个程序,完成下列题目.
程序甲:
程序乙:
(1)程序甲的运行结果为________.
(2)若程序甲、乙运行结果相同,则程序乙输入的值为________.
解析:赋值语句给变量赋值时,变量的值总是最后一次所赋的值,故程序甲中x的值最后为6.要使程序乙中y的值为6,即x2+6=6,故x=0,即输入的x的值为0.
答案:(1)6 (2)0
[层级二 应试能力达标]
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.58 B.88
C.13 D.85
解析:选D ∵x=58,a为58除以10的整数商,∴a=5.又∵b为58除以10的余数,∴b=8.
∴x=10×8+5=85.
3.以下程序的含义是( )
A.求x3+3x2-24x+30=0的根
B.输入x后,输出y=x3+3x2-24x+30的值
C.求一般三次函数值的程序
D.y=x3+3x2-24x+30的作图程序
解析:选B 本题考查对输入语句x=input(”x=”),赋值语句y=x^3+3]
4.给出下列程序:
此程序的功能为( )
A.求点到直线的距离
B.求两点之间的距离
C.求一个多项式函数的值
D.求输入的值的平方和
解析:选B 输入的四个实数可作为两个点的坐标,程序中的a,b分别表示两个点的横、纵坐标之差,而m,n分别表示两点横纵坐标之差的平方;s是横、纵坐标之差的平方和,d是平方和的算术平方根,即两点之间的距离,最后输出此距离.
5.运行程序:
输出结果为________.
解析:首先将2赋给变量A,然后将2×5的结果再赋给A,最后这个新的数10加上8,就得到输出的A的值18.
答案:18
6.已知A(x1,y1),B(x2,y2)是平面上的两点,试设计一个程序,输入A,B两点的坐标,输出其中点的坐标,现已给出程序的一部分,试在横线上填上适当的语句,把程序补充完整.
解析:根据题意可知程序中缺中点坐标,由中点坐标公式x=,y=可得中点坐标.
答案:x=(x1+x2)/2;y=(y1+y2)/2
7.已知一段程序如下:
若输入的是3,则运行结果是________.
解析:由?"N=M",得?N=3;由"?M=2*6?",得M=12;由???"?P=?(M*N)/2?",得P=18;由"?Q=3*P?",得Q=54.
答案:54,18,3,12
8.根据下列程序框图写出程序.
解:程序如下:
9.某工种按工时计算工资,每月总工资=每月劳动时间(小时)×每小时工资,从总工资中扣除10%作公积金,剩余的为应发工资,请编写一个输入劳动时间和每小时工资数就能输出应发工资的程序,并画出程序框图.
解:算法分析.
S1 输入每月劳动时间t和每小时工资a.
S2 求每月总工资y=每月劳动时间t×每小时工资a.
S3 求应发工资z=每月总工资y×(1-10%).
S4 输出应发工资z.
程序框图如图所示.
程序如下:
课件22张PPT。1.2.2 条件语句
预习课本P20~22,思考并完成以下问题
(1)什么是条件语句?
(2)条件语句的格式、功能分别是什么?
1.条件语句的概念
处理条件分支逻辑结构的算法语句.
2.Scilab语言中的条件语句的格式及功能
格式
功能
一般
格式
if 表达式
语句序列1;
else
语句序列2;
end
如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2
最简
单格
式
if 表达式
语句序列1;
end
如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1
1.下列关于if语句的叙述正确的是( )
A.if语句中必须有else和end
B.if语句中可以没有end
C.if语句中可以没有else,但必须以end结束
D.if语句中可以没有end,但必须有else
解析:选C if语句的格式是if-else-end或if-end.
2.阅读以下程序,若输入的是-2.3,则输出的结果是( )
A.-18.4 B.11
C.12 D.11.7
解析:选D 因为a=-2.3<0,
所以y=14+(-2.3)=11.7.
3.某问题算法的程序如图所示:
(1)若x=6,则输出________;
(2)若x=18,则输出________.
解析:(1)因为6<10,故y=0.35×6=2.1,
(2)因为18>10,故y=3.5+0.7×(18-10)=9.1.
答案:(1)2.1 (2)9.1
4.给出下列程序:
若输出的结果是5,则输入的x=________.
解析:令3x+1=5,则x=>1成立;
令x+4=5,则x=1>1不成立.故x=或x=1.
答案:或1
读 程 序
[典例] 以下给出的是用条件语句编写的一个程序,根据该程序回答问题:
(1)若输入-4,则输出结果是________;
(2)若输入3,则输出结果是________;
(3)该程序的功能是求函数________的值.根据x的取值,选择相应的语句执行.
[解析] (1)因为-4<3,所以y=2×(-4)=-8.
(2)因为x=3,所以y=32-1=8.
(3)将程序转化可得,此程序表达的就是求分段函数y=的函数值.
[答案] (1)-8 (2)8
(3)y=
条件语句读图问题解法要点
(1)已知输入值求输出结果时,分析输入值是否满足条件,条件满足时,执行表达式后面的语句序列即得输出结果;条件不满足时,执行else后面的语句序列,即得输出结果.
(2)已知输出结果求输入值时,要分条件满足和条件不满足两种情况分别进行分析计算,求出输入值,同时注意根据条件对所得结果进行合理的取舍.
(3)根据给定算法要求补充程序中的语句时,要从已给的程序语句中分析,确定满足条件时执行怎样的语句,条件不满足时执行怎样的语句,从而按要求填写相应内容.
[活学活用]
下面程序输出的结果是________.
解析:由于a答案:66
条件语句的编写
[典例] 已知函数f(x)=编写一个程序,对每输入的一个x值,都得到相应的函数值.
[解] 程序:
一般情况下凡是能用一般格式编写的程序都能用最简格式编写,但是最简格式和一般格式的处理方法并不一样,处理两分支结构时一般格式使用起来可能使得程序更简洁.
另外当直接写出程序有困难时可以借助程序框图.
[活学活用]
某市规定出租车的收费标准:起步价(不超过2 km)为5元,超过2 km时,前2 km依然按照5元收费,超过2 km的部分,每千米收1.5元.设计程序计算打车费用.
解:设打车费用为y元,乘车路程为x km,则
有y=
程序如下:
条件语句的嵌套
[典例] 已知a,b,c三个实数中,有且只有一个是负数,试用条件语句的嵌套设计一个程序,筛选出这个负数.
[解] 程序框图如图所示:
程序如下:
嵌套式条件语句是指在解决某些较为复杂的算法中,有时需要对按条件要求执行的某一语句(特别是else后的语句序列2)继续按照另一条件进行判断,这时可以再利用一条件语句完成这一要求,这样就形成了嵌套条件语句.
[活学活用]
已知程序:
如果分别输入x=,x=,则输出的结果分别为________.
解析:当-1y=
当x=时,y=;当x=时,y=.
答案:,
[层级一 学业水平达标]
1.条件语句的一般格式如图所示,其中B表示的是( )
A.满足条件时执行的内容
B.条件语句
C.条件
D.不满足条件时执行的内容
解析:选A 如果表达式A为真,则执行表达式后的语句B;如果表达式A为假,则执行else后的语句C.故选A.
2.下面程序输入x=-4后,输出的结果为( )
A.2 B.-8
C.16 D.-16
解析:选D 该程序描述的分段函数是f(x)=所以f(-4)=-16.
3.下面程序运算的结果是________.
解析:因为A=4.5<5,所以B=B-3=6-3=3,B=B+2=3+2=5>4,所以B=5×5=25.
答案:25
4.下面程序的作用是____________________________.
答案:求分段函数y=
[层级二 应试能力达标]
1.当a=3时,下面的程序段输出的结果是( )
A.9 B.3
C.10 D.6
解析:选B 此程序段的功能是求分段函数y=的函数值,当a=3时,y=3.故选B.
2.给出以下四个问题,①输入一个数x,输出它的相反数.②求面积为6的正方形的周长.③求三个数a,b,c中的最大数.④求函数f(x)=的函数值.
其中不需要用条件语句来描述其算法的有( )
A.1个 B.2个
C.3个 D.4个
解析:选B ①②直接用顺序结构即可,不需用条件语句;而③需要判断这三个数的大小,④是分段函数求值问题,故需用到条件语句.
3.给定程序:
若输入x=-6,则程序输出的结果是( )
A.1 B.6
C.0 D.-1
解析:选D 该程序实际上是求分段函数y=的函数值,当x=-6时,对应的函数值为-1,故选D.
4.根据下列算法语句,
当输入x为60时,输出y的值为( )
A.25 B.30
C.31 D.61
解析:选C 算法语言给出的是分段函数,
y=
输入x=60时,y=25+0.6×(60-50)=31.
5.某程序如下:
当执行此程序时,没有执行语句y=x+1,则输入的x的范围是________.
解析:没有执行y=x+1,即输入的x值不满足条件x≥1,故x<1.
答案:(-∞,1)
6.已知函数y=如图是求该函数值的程序,则横线①②处应填写的语句分别是________,________.
解析:由程序可知,y=2-4x是当条件满足时所执行的内容,亦即当x<3时的函数值,因此①处应填的是条件x<3;在条件语句中,else后面应该是条件不满足时执行的内容,即y=x*x+1.
答案:x<3 y=x*x+1
7.阅读下列程序:
如果输入x=-2,则输出结果y=________.
解析:本程序是求分段函数y=的函数值,∵x=-2,∴y=8+3=11.
答案:11
8.已知函数f(x)=请根据输入的x值求f(x)的值.画出程序框图,并写出程序语言.
解:程序框图如下:
算法程序如下:
9.铁路运输托运行李,从甲地到乙地规定每张客票托运费计算方法是:行李重量不超过50 kg时,按0.25元/kg;超过50 kg而不超过100 kg时,其超过部分按0.35元/kg;超过100 kg时,其超过部分按0.45元/kg.编写程序,输入行李重量,计算并输出托运费用.
解:设行李重量为x kg,应付运费为y元,则运费公式为
y=
程序如下:
课件22张PPT。1.2.3 循环语句
预习课本P22~25,思考并完成以下问题
(1)循环语句的概念是什么?
(2)循环语句的适用范围是什么?
(3)循环语句的格式有哪两种?
循环语句
(1)概念:在算法程序语言中用来处理算法中的循环结构的语句.
(2)范围:
①在实际问题中有规律的重复运算.
②在程序中需要对某些语句进行重复的执行.
(3)格式
①for循环语句.
for 循环变量=初值:步长:终值
循环体;
end
②while循环语句.
while 表达式
循环体;
end
1.下面程序最后输出的结果为( )
A.17 B.21
C.27 D.37
答案:B
2.如图循环语句中,循环终止时,n等于( )
A.6 B.7
C.8 D.9
答案:C
3.执行语句“for n=1:50”时.
(1)变量n的第1个值为________.
(2)变量n的第2个值为________.
(3)变量n的最后一个值为________.
解析:“for n=1:50”的意思是n的初值为1;步长为1,终值为50.因此变量n的第1个值为1,第2个值为2,最后1个值为50.
答案:(1)1 (2)2 (3)50
for循环及其应用
[典例] 设计一个计算1++++…+的算法程序框图,并设计程序.
[解] 程序框图如下:
程序如下:
1.利用for语句实现循环结构的三个关键点
(1)确定变量的初值,即进行初始化操作.
(2)确定循环的次数,步长以及终值.
(3)确定循环体的内容.
2.利用for语句编写程序的注意点
(1)循环体要正确,尤其要注意循环体中的变量是否齐全.
(2)循环条件要正确,条件与初始值要对应.
(3)程序语句的格式要正确,循环结束时要有end.
[活学活用]
1.下面的程序运行后第3个输出的数是________.
解析:第一次输出的数是x=+=1,
第二次输出的数是x=1+=,
第三次输出的数是x=1++=2.
答案:2
2.以下程序是计算1×3×5×7×…×101的值的一个算法,其中①和②处应分别填写________和________.
解析:循环变量i的初值为1,终值为101,步长为2,循环体为S=S*i,故①处应填2:101,②处应填“S*i”.
答案:2:101 S*i
while循环及应用
[典例] 画出求满足1+2+3+…+n>2 016的最小的自然数n的程序框图,并写出程序.
[解] 程序框图如图所示.
程序为:
利用while语句的三个关注点
(1)在用while语句解决相关问题时,要熟练掌握while语句的一般格式,后面的end一定不要忘记.在运行语句的时候,一定要先判断表达式是否成立,再执行循环体.
(2)while语句可以不知循环次数,但需要知道循环终止的条件.条件为真时执行循环,条件为假时终止循环,防止表达式相反出现错误.
(3)用while语句解决循环次数不确定的问题时,首先要确定控制运算次数的变量,然后确定变量与运算次数的关系,利用这种关系,将运算次数当作一个确定的量,从而将问题转化为循环次数确定的问题来解决.
[活学活用]
1.执行下面的程序,输出的结果是________.
解析:运行程序如下:
S=0,i=1,i≤4;
S=1,i=2,i≤4;
S=3,i=3,i≤4;
S=7,i=4,i≤4;
S=15,i=5,i>4.
结束循环,输出S=15.
答案:15
2.写出计算+++…+的值的程序.
解:程序如下:
循环语句的综合应用
[典例] 给出以下10个数:4,10,70,33,95,74,29,17,60,40.要求将其中大于40的数找出来,画出求解该问题算法的程序框图,并写出程序.
[解] 该算法的程序框图如图所示.
程序如下:
for循环语句:
while循环语句:
循环语句的实际应用的解题策略
(1)分析循环特征:仔细分析题意,建立适当模型,明确题目中需要反复执行的步骤,以确定循环体.
(2)设置变量初值:一般累乘变量初始值为1,累加变量初始值为0,计数变量根据题意设置.
(3)确定终止条件:根据选择语句的不同确定循环终止条件,有时for语句和while语句可以互化.
[活学活用]
高一(1)班共有50人,市青少年保护中心抽样检测同学们的身体素质,要求学号能被3整除的同学参加体检,已知学号是从1到50号,请编写输出参加体检的同学的学号的一个程序.
解:法一:运用for循环语句.
法二:运用while循环语句.
[层级一 学业水平达标]
1.下列程序输出的结果s是( )
A.17 B.19
C.21 D.23
解析:选A 每次进入循环体时的i值依次为15,13,11,9.最后一次执行循环体为i=9>8,i=7,s=17.
2.下面的程序循环次数为( )
A.2 B.3
C.4 D.5
解析:选B 每次执行循环体时的i值依次为1,2,5,一共执行了3次循环.
3.执行下面的程序后,输出的结果为________.
解析:运行程序,得
n=5,S=0,满足S<14,∴S=0+5=5,n=4;
满足S<14,∴S=5+4=9,n=3;
满足S<14,∴S=9+3=12,n=2;
满足S<14,∴S=12+2=14,n=1;
不满足S<14,
结束,故n=1.
答案:1
4.已知程序如下,则该程序的算法功能___________________________________.
答案:找到并输出1至100(不包括100)之间的所有偶数
[层级二 应试能力达标]
1.下面的程序运行的结果n是( )
A.0 B.3
C.4 D.29
解析:选C 循环体的执行次数为4次,所以n=4.
2.下列问题可以用循环语句设计程序的有( )
①求1+3+32+…+39的和;
②比较a, b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大自然数.
A.0个 B.1个
C.2个 D.3个
解析:选C ①④可以用循环语句设计程序;②③要用条件语句设计程序.
3.如果程序运行后输出的结果是132,那么在程序中while后面的表达式应为( )
A.i>11 B.i>=11
C.i<=11 D.i<11
解析:选B 132=12×11,循环体执行了2次,所以表达式为i≥11,即i>=11.
4.程序如下:
以上程序用来( )
A.计算3×10的值
B.计算355的值
C.计算310的值
D.计算1×2×3×…×10的值
解析:选B i=1时,S=31×1=31;
i=2时,S=32×3=31+2;
i=3时,S=33×31+2=31+2+3;
i=4时,S=34×31+2+3=31+2+3+4;
…
i=10时,S=310×31+2+3+…+9=31+2+3+…+10=355.
5.已知有下面的程序,如果程序执行后输出的结果是360,则横线上的“条件”为__________.
解析:由360=6×5×4×3,知S中的数乘到3时循环结束,此时i=2,但i=3时,循环继续,故条件为“i>=3(或i>2)”.
答案:i>=3(或i>2)
6.下面程序的结果是________.
解析:每次执行循环体时的i值依次为2,5,8,11,14,17.代入循环式中依次计算,s=2+5+8+11+14+17=57.
答案:57
7.下面程序表示的算法是________.
解析:由题意可知符合循环的条件是S<5 000,即只要S<5 000就执行S=S*n.因此表示的应是1×2×3×…×n≥5 000的最小的n值.
答案:求1×2×3×…×n≥5 000的n的最小值
8.小明第一天背一个单词,第二天背两个单词,以后每一天比前一天多背一个单词,问:他前十天共背了多少个单词?(写出Scilab程序)
解:程序如下:
9.猴子第1天摘下若干个桃子,当即吃一半,还不过瘾,又多吃了一个.第2天早上又将剩下的桃子吃掉一半又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下一个桃子,设计第1天共摘多少个桃子的程序框图,并写出程序.
解:程序框图如图所示: 程序如图所示:
课件23张PPT。1.3
预习课本P27~32,思考并完成以下问题
(1)如何求两个数的最大公约数?
(2)秦九韶算法的原理是什么?
1.“更相减损之术”
更相减损之术就是对于给定的两个数,以两数中较大的数减去较小的数,然后将差和较小的数构成一对新数,再用较大的数减去较小的数,反复执行此步骤直到差和较小的数相等,此时相等的两数便为两个原数的最大公约数.
2.割圆术
割圆术是我国魏晋时期的数学家刘徽在注《九章算术》中所采用的用正多边形面积逐渐逼近圆面积的算法计算圆周率π的方法.
3.秦九韶算法
把一元n次多项式函数P(x)=anxn+an-1xn-1+…+a1x+a0改写:
P(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,
令vk=(…(anx+an-1)x+…+an-(k-1))x+an-k,
则递推公式为其中k=1,2,…,n.
这样求一元n次多项式P(x)的值就转化为求n个一次多项式的值,这种求n次多项式值的方法就叫做秦九韶算法.
1.用更相减损术求98与63的最大公约数时,需做减法的次数为( )
A.4 B.5
C.6 D.7
解析:选C (98,63)→(35,63)→(35,28)→(7,28)→(7,21)→(7,14)→(7,7),∴共进行6次减法.
2.225与150的最大公约数是( )
A.15 B.30
C.45 D.75
解析:选D 因为(225,150)→(75,150)→(75,75),所以225与150的最大公约数是75.
3.已知多项式f(x)=4x5+3x4+2x3-x2-x-,用秦九韶算法求f(-2)等于( )
A.- B.
C. D.-
解析:选A ∵f(x)=((((4x+3)x+2)x-1)x-1)x-,∴f(-2)=-.
4.用圆内接正多边形逼近圆,因而得到的圆周率总是________π的实际值.
解析:用割圆术法求出的是π的不足近似值.
答案:小于
求最大公约数
[典例] 求261和319的最大公约数.
[解] 319-261=58,
(261,319)→(261,58)→(203,58)→(145,58)→(87,58)→(29,58)→(29,29),所以319与261的最大公约数是29.
“更相减损之术”求两个数的最大公约数的算法步骤
第一步,给定两个正整数m,n(m>n).
第二步,计算m-n所得的差k.
第三步,比较n与k的大小,其中大者用m表示,小者用n表示.
第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.
[活学活用]
1.用更相减损之术求36与135的最大公约数,需做减法的次数是________.
解析:(135,36)→(99,36)→(63,36)→(36,27)→(27,9)→(18,9)→(9,9),故共进行了6次减法运算.
答案:6
2.求378与90的最大公约数.
解:法一:378-90=288,
288-90=198,
198-90=108,
108-90=18,
90-18=72,
72-18=54,
54-18=36,
36-18=18,
∴378与90的最大公约数是18.
法二:378=90×4+18,
90=18×5,
∴378与90的最大公约数是18.
用秦九韶算法求多项式的值
[典例] 用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1,当x=2时的值.
[解] 根据秦九韶算法,把多项式改写成如下形式:
f(x)=8x7+5x6+0·x5+3·x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.
而x=2,所以有
v0=8,
v1=8×2+5=21,
v2=21×2+0=42,
v3=42×2+3=87,
v4=87×2+0=174,
v5=174×2+0=348,
v6=348×2+2=698,
v7=698×2+1=1 397.
所以当x=2时,多项式的值为1 397.
应用秦九韶算法计算多项式的值应注意的3个问题
(1)要正确将多项式的形式进行改写.
(2)计算应由内向外依次计算.
(3)当多项式函数中间出现空项时,要以系数为零的齐次项补充.
[活学活用]
用秦九韶算法写出当x=3时,f(x)=2x5-4x3+3x2-5x+1的值.
解:因为f(x)=((((2x+0)x-4)x+3)x-5)x+1,
v0=2,v1=2×3+0=6,v2=6×3-4=14,v3=14×3+3=45,v4=45×3-5=130,v5=130×3+1=391,
所以f(3)=391.
[层级一 学业水平达标]
1.78与36的最大公约数是( )
A.24 B.18
C.12 D.6
解析:选D (78,36)→(42,36)→(36,6)→…→(6,6).
2.用秦九韶算法求多项式f(x)=x3-3x2+2x-11的值时应把f(x)变形为( )
A.x3-(3x+2)x-11
B.(x-3)x2+(2x-11)
C.(x-1)(x-2)x-11
D.((x-3)x+2)x-11
解析:选D f(x)=x3-3x2+2x-11=((x-3)x+2)x-11.
3.已知函数f(x)=x3-2x2-5x+6,则f(10)的值为________.
解析:由秦九韶算法,得
f(x)=x3-2x2-5x+6
=(x2-2x-5)x+6
=((x-2)x-5)x+6.
当x=10时,
f(10)=((10-2)×10-5)×10+6
=(8×10-5)×10+6
=75×10+6
=756.
答案:756
4.求168,54,264的最大公约数.
解:为简化运算,先将三个数用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.
[层级二 应试能力达标]
1.用更相减损术求459与357的最大公约数,需要做减法的次数为( )
A.4 B.5
C.6 D.7
解析:选B 459-357=102,357-102=255,255-102=153,153-102=51,102-51=51,所以459与357的最大公约数为51,共做减法5次.
2.用秦九韶算法求多项式f(x)=0.5x5+4x4-3x2+x-1, 当x=3时的值时,先算的是( )
A.3×3 B.0.5×35
C.0.5×3+4 D.(0.5×3+4)×3
解析:选C 把多项式表示成如下形式:
f(x)=((((0.5x+4)x+0)x-3)x+1)x-1, 按递推方法,由内往外,先算0.5x+4的值.
3.4 830与3 289的最大公约数为( )
A.23 B.35
C.11 D.13
解析:选A 4 830=1×3 289+1 541;
3 289=2×1 541+207;
1 541=7×207+92;
207=2×92+23;92=4×23;
∴23是4 830与3 289的最大公约数.
4.根据递推公式其中k=1,2,…,n,可得当k=2时,v2的值为( )
A.v2=anx+an-1
B.v2=(anx+an-1)x+an-2
C.v2=(anx+an-1)x
D.v2=anx+an-1x
解析:选B 根据秦九韶算法知v0=an,v1=anx+an-1,v2=v1x+an-2=(anx+an-1)x+an-2.
5.用“更相减损之术”求128与48的最大公约数,第一步应为________________.
解析:先求128-48的值,即128-48=80.
答案:128-48=80
6.117与182的最大公约数等于________.
解析:(117,182)→(117,65)→(52,65)→(52,13)→(39,13)→(26,13)→(13,13),所以其最大公约数为13.
答案:13
7.阅读程序框图,利用秦九韶算法计算多项式f(x)=anxn+an-1xn-1+…+a1x+a0,当x=x0时,框图中A处应填入________.
解析:f(x)=anxn+an-1xn-1+…+a1x+a0,先用秦九韶算法改为一次多项式,
f(x)=(…((anx+an -1)x+an-2)x+…+a1)x+a0.
f1=an;k=1,f2=f1x0+an-1;
k=2,f3=f2x0+an-2;…;
归纳得第k次fk+1=fkx0+an-k.故A处应填an-k.
答案:an-k
8.用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64,当x=2时的值.
解:将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.
9.现有长度为2.4米和5.6米两种规格的钢筋若干,要焊接一批正方体模型,问怎样设计才能保证正方体的体积最大且不浪费材料?
解:为了使所焊接正方体的体积最大,需找出两种规格的钢筋的最大公约数.使用更相减损之术:(5.6,2.4)→(3.2,2.4)→(0.8,2.4)→(0.8,1.6)→(0.8,0.8).因此将正方体的棱长设计为0.8米时,正方体的体积最大且不浪费材料.
(时间120分钟,满分150分)
一、选择题(本大题共12小题,每小题5分,共60分.在每小题给出的四个选项中,只有一项是符合题目要求的)
1.下列赋值语句正确的是( )
A.s=a+1 B.a+1=s
C.s-1=a D.s-a=1
解析:选A 赋值语句的格式为“变量=表达式”,“=”的左侧只能是单个变量,故B、C、D均不正确.
2.在用“更相减损之术”求98和56的最大公约数时,操作如下:(98,56)→(56,42)→(42,14)→(28,14)→(14,14).由此可知两数的最大公约数为( )
A.98 B.56
C.14 D.42
解析:选C 由更相减损术可知两数最大公约数为14.
3.阅读如图所示的程序框图,下列说法正确的是( )
A.该框图只含有顺序结构、条件分支结构
B.该框图只含有顺序结构、循环结构
C.该框图只含有条件分支结构、循环结构
D.该框图包含顺序结构、条件分支结构、循环结构
解析:选D 阅读程序框图,可知该程序框图含有顺序结构、循环结构、条件分支结构,故选D.
4.如图是计算函数y=
框图,在①②③处应分别填入的是( )
A.y=ln(-x),y=0,y=2x
B.y=ln(-x),y=2x,y=0
C.y=0,y=2x,y=ln(-x)
D.y=0,y=ln(-x),y=2x
解析:选B 当x>-2不成立时,有x≤-2,则①处填入y=ln(-x);
当x>-2成立时,若x>3成立,则y=2x,则②处填入y=2x;
若x>3不成立,即-2则③处填入y=0.
5.由下面循环语句可知输出的结果是( )
A.5 B.6
C.7 D.8
解析:选C 程序执行的功能是S=1+2+3+…+i,当i=6时,S>20,终止循环,此时输出的i=7.
6.执行两次如图所示的程序框图,若第一次输入的a的值为-1.2, 第二次输入的a的值为1.2, 则第一次、第二次输出的a的值分别为( )
A.0.2, 0.2 B.0.2, 0.8
C.0.8, 0.2 D.0.8, 0.8
解析:选C 当a=-1.2时,执行第一个循环体,a=-1.2+1=-0.2<0再执行一次第一个循环体,a=-0.2+1=0.8, 第一个循环体结束,输出;当a=1.2时,执行第二个循环体,a=1.2-1=0.2, 输出.
7.已知函数f(x)=写f{f[f(2)]}的算法时,下列哪些步骤是正确的( )
S1 由2>0,得f(2)=0;
S2 由f(0)=-1,得f[f(2)]=f(0)=-1;
S3 由-1<0,得f(-1)=-1+1=0,
即f{f[f(2)]}=f(-1)=0.
A.S1 B.S2
C.S3 D.三步都对
解析:选D 以上三步遵循由内向外的计算顺序,计算结果正确,所以三步都对.
8.阅读如图所示的程序框图,运行相应的程序,则输出n的值为( )
A.7 B.6
C.5 D.4
解析:选B 第一次运行:S=0+(-1)1×1=-1<3;第二次运行:n=2,S=-1+(-1)2×2=1<3;第三次运行:n=3,S=1+(-1)3×3=-2<3;第四次运行:n=4,S=-2+(-1)4×4=2<3;第五次运行:n=5,S=2+(-1)5×5=-3<3;第六次运行:n=6,S=-3+(-1)6×6=3,满足S≥3.故输出n的值为6,故选B.
9.若如图所示的程序框图输出的S的值为126,则条件①为( )
A.n≤5 B.n≤6
C.n≤7 D.n≤8
解析:选B 由题知,第一次循环后,S=2,n=2;第二次循环后,S=6,n=3;第三次循环后,S=14,n=4;第四次循环后,S=30,n=5;第五次循环后,S=62,n=6;第六次循环后,S=126,n=7,满足了S=126,循环结束,所以条件①为n≤6.
10.阅读如图所示的程序框图,运行相应的程序,若输出的结果是4,则程序框图中的处理框“①”处应填写的是( )
A.n=n-1 B.n=n-2
C.n=n+1 D.n=n+2
解析:选C 因为起始n=1,输出的n=4,所以排除A、B.若“①”处填n=n+1.则S==-1,n=2,判断-1≠2,继续循环;S==,n=3,判断≠2,继续循环;S==2,n=4,判断2=2,则输出n的值为4,故选C.
11.用秦九韶算法求多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6的值,当x=-4时,v4的值为( )
A.-57 B.124
C.-845 D.220
解析:选D 依据秦九韶算法有v0=a6=3,v1=v0x+a5=3×(-4)+5=-7,v2=v1x+a4=-7×(-4)+6=34,v3=v2x+a3=34×(-4)+79=-57,v4=v3x+a2=-57×(-4)+(-8)=220,故选D.
12.执行如图所示的程序框图,若输出S=,则输入整数n=( )
A.8 B.9
C.10 D.8或9
解析:选D 在条件成立的情况下,执行第一次循环后,S=,i=4;执行第二次循环后,S=,i=6;执行第三次循环后,S=,i=8;执行第四次循环后,S=,i=10.若n=8或n=9,此时10≤n不成立,退出循环,输出S=,因此n=8或n=9,故选D.
二、填空题(本大题共4小题,每小题5分,共20分.请把正确答案填在题中横线上)
13.下列程序运行后输出的结果为________.
解析:当x=5时,y=-20+3=-17,
所以最后输出的x-y=5-(-17)=22.
答案:22
14.用秦九韶算法求多项式P(x)=8x4-17x3+7x-2,当x=21的值时,需把多项式改写为________.
解析:根据秦九韶算法的原理可知,把多项式改写为P(x)=(((8x-17)x+0)x+7)x-2.
答案:P(x)=(((8x-17)x+0)x+7)x-2
15.定义某种运算?,S=a?b的运算原理如下图所示,则0?(-1)=________;设f(x)=(0?x)x-2?x,则f(1)=________.
解析:因为0>-1,
故S=0?(-1)=|-1|=1.
又因为,0<1,故0?1=0.而2>1,
故2?1=1.
故f(1)=(0?1)×1-2?1
=0-1=-1.
答案:1 -1
16.执行如图所示的框图所表达的算法,如果最后输出的S值为,那么判断框中实数a的取值范围是________.
解析:当1≤a<2时,输出的S值为=;
当2≤a<3时,输出的S值为=;
当3≤a<4时,输出的S值为=;…;
当2 015≤a<2 016时,输出的S值为.
答案:[2 015,2 016)
三、解答题(本大题共6小题,共70分.解答应写出文字说明,证明过程或演算步骤)
17.(本小题满分10分)求72,120,168的最大公约数.
解:由更相减损之术,得
168-120=48,120-48=72,72-48=24,
48-24=24,
故120和168的最大公约数是24.
而72-24=48,48-24=24,
故72和24的最大公约数也是24,
所以72,120,168的最大公约数是24.
18.(本小题满分12分)编写一个程序,输出使1+4+7+…+i≥300成立的最小的正整数i.
解:程序如下:
19.(本小题满分12分)用秦九韶算法求多项式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,
所以当x=3时,
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)的值为21 324.
20.(本小题满分12分)某公司为激励广大员工的积极性,规定:若推销产品价值在10 000元之内的年终提成5%;若推销产品价值在10 000元以上(包括10 000元),则年终提成10%,设计一个求公司员工年终提成f(x)的算法的程序框图.
解:程序框图如下图所示:
21.(本小题满分12分)如图所示,在边长为4的正方形ABCD的边上有一点P,沿着边线BCDA由点B(起点)向点A(终点)运动.设点P运动的路程为x,△APB的面积为y,求y与x之间的函数关系式并画出程序框图.
解:函数关系式为
y=
程序框图如图所示:
22.(本小题满分12分)给出30个数1,2,4,7,11,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算这30个数的和.现已给出了该问题算法的程序框图(如图所示).
(1)请在图中①处和②处填上合适的语句,使之能完成算法功能;
(2)根据程序框图写出程序.
解:(1)①处应填i≤30,②处应填p=p+i.
(2)程序如下:
课件20张PPT。