章末检测试卷(一)
(时间:120分钟 满分:150分)
一、选择题(本大题共12小题,每小题5分,共60分)
1.算法共有三种逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.一个算法可以含有上述三种逻辑结构的任意组合
答案 D
解析 任何一种算法都是由上述三种逻辑结构组成的,它可以含有三种结构中的一种、两种或三种.
2.下面一段程序执行后的结果是( )
a=2
a=a*2
a=a+2
PRINT a
END
A.6 B.4 C.8 D.10
答案 A
解析 由程序知a=2,2×2=4,4+2=6,
故最后输出a的值为6,故选A.
3.执行如图所示的程序框图,若输出的结果为11,则M处可填入的条件为( )
A.k≥31 B.k≥15 C.k>31 D.k>15
答案 B
解析 依题意k=1,S=0,进入循环,循环过程依次为:S=0+1=1,k=2×1+1=3;S=1+3=4,k=2×3+1=7;S=4+7=11,k=2×7+1=15,终止循环,输出S=11.结合选项知,M处可填k≥15.
4.中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s为( )
A.7 B.12 C.17 D.34
答案 C
解析 由框图可知,
输入x=2,n=2,a=2,s=2,k=1,不满足条件;
a=2,s=4+2=6,k=2,不满足条件;
a=5,s=12+5=17,k=3,
满足条件输出s=17,故选C.
5.执行如图所示的程序框图,输出的S值为( )
A.1 B.3 C.7 D.15
答案 C
解析 由程序框图得S=0+20=1,k=1;
S=1+21=3,k=2;S=3+22=7,k=3,
输出S的值为7.
6.运行如图所示的程序,当输入的数据为75,45时,输出的值为( )
INPUT “输入两个不同正整数m,n=”;m,n
DO
IF m>n THEN
m=m-n
ELSE
n=n-m
END IF
LOOP UNTIL m=n
PRINT m
END
A.24 B.18 C.12 D.15
答案 D
解析 由程序语句知,此程序是用更相减损术求75,45的最大公约数.
7.执行如图所示的框图,输入N=5,则输出S的值为( )
A. B. C. D.
答案 D
解析 第一次循环,S=0+=,k=2;
第二次循环,S=+=,k=3;
第三次循环,S=+=,k=4;
第四次循环,S=+=,k=5;
第五次循环,S=+=,
此时k=5不满足判断框内的条件,跳出循环,
输出S=,故选D.
8.若如图所示的程序框图的功能是计算1××××的结果,则在空白的执行框中应该填入( )
A.T=T·(i+1) B.T=T·i
C.T=T· D.T=T·
答案 C
解析 程序框图的功能是计算1××××的结果,依次验证选项可得C正确.
9.如图所示的程序运行时,从键盘输入-3,则输出值为( )
INPUT “x=”;x
IF x>0 THEN
y=1
ELSE
IF x=0 THEN
y=0
ELSE
y=-1
END IF
END IF
PRINT y
END
A.-3 B.3 C.1 D.-1
答案 D
解析 由程序知,当x>0时,y=1;
否则,当x=0时,y=0;当x<0时,y=-1.
即y=
10.执行如图所示的程序框图,若输出的k=5,则输入的整数p的最大值为( )
A.7 B.15 C.31 D.63
答案 B
解析 由程序框图可知:
①S=0,k=1;②S=1,k=2;③S=3,k=3;④S=7,k=4;⑤S=15,k=5,输出k,此时S=15≥p,
则p的最大值为15,故选B.
11.执行如图所示的程序框图,若输出的结果是4,则判断框内实数m的取值范围是( )
A.(2,6] B.(6,12] C.(12,20] D.(2,20]
答案 B
解析 由程序框图,知第一次循环后,S=0+2=2,k=2;
第二次循环后,S=2+4=6,k=3;
第三次循环后,S=6+6=12,k=4.
∵输出k=4,∴循环体执行了3次,此时S=12,∴6<m≤12,故选B.
12.执行如图所示的程序框图,若输出的结果为2,则输入的正整数a的取值的集合是( )
A.{1,2,3,4,5} B.{1,2,3,4,5,6}
C.{2,3,4,5} D.{2,3,4,5,6}
答案 C
解析 若输入a=1,则a=2×1+3=5,i=0+1=1,因为5>13不成立,所以继续循环;a=2×5+3=13,i=1+1=2,因为13>13不成立,所以继续循环;a=2×13+3=29,i=2+1=3,因为29>13成立,所以结束循环,输出的结果为3,不为2,所以a≠1,排除A,B,若输入a=6,则a=2×6+3=15,i=0+1=1,因为15>13成立,所以结束循环,输出的结果为1,不为2,所以a≠6,排除D,故选C.
二、填空题(本大题共4小题,每小题5分,共20分)
13.执行如图程序框图,若输入的a,b的值分别为0和9,则输出的i的值为________.
答案 3
解析 第1次循环:i=1,a=1,b=8,a
第2次循环:i=2,a=3,b=6,a第3次循环:i=3,a=6,b=3,a>b,输出i的值为3.
14.将二进制数110 101(2)化成十进制数,结果为________,再将该结果化成七进制数,结果为________.
答案 53 104(7)
解析 110 101(2)=1×25+1×24+0×23+1×22+0×21+1×20=53,然后用除7取余法得53=104(7).
15.执行如图所示的程序框图,则输出结果S=________.
答案 1 010
解析 根据程序框图知,S=(-1+2)+(-3+4)+…+(-2 019+2 020)=1 010,故输出的S的值为1 010.
16.阅读下面的程序,该算法的功能是_____________________.
S=0
t=1
i=1
DO
S=S+i
t=t*i
i=i+1
LOOP UNTIL i>20
PRINT S,t
END
答案 求S=1+2+3+…+20,t=1×2×3×…×20
三、解答题(本大题共6小题,共70分)
17.(10分)分别用辗转相除法和更相减损术求282与470的最大公约数.
解 辗转相除法:
470=1×282+188,
282=1×188+94,
188=2×94,
所以282与470的最大公约数为94.
更相减损术:
470与282分别除以2得235和141.
235-141=94,
141-94=47,
94-47=47,
所以470与282的最大公约数为47×2=94.
18.(12分)下面给出一个用循环语句编写的程序:
k=1
sum=0
WHILE k<10
sum=sum+k^2
k=k+1
WEND
PRINT sum
END
(1)指出程序所用的是何种循环语句,并指出该程序的算法功能;
(2)请用另一种循环语句的形式把该程序写出来.
解 (1)本程序所用的循环语句是WHILE循环语句,其功能是计算12+22+32+…+92的值.
(2)用UNTIL语句改写程序如下:
k=1
sum=0
DO
sum=sum+k^2
k=k+1
LOOP UNTIL k>=10
PRINT sum
END
19.(12分)下列是某个问题的算法,将其改为程序语言,并画出程序框图.
算法:
第一步,令i=1,S=0.
第二步,若i≤999成立,则执行第三步;
否则,输出S,结束算法.
第三步,S=S+.
第四步,i=i+2,返回第二步.
解 程序如下:
i=1
S=0
WHILE i<=999
S=S+1/i
i=i+2
WEND
PRINT S
END
程序框图如图:
20.(12分)下列语句是求S=2+3+4+…+99的一个程序,请回答问题:
i=1
S=0
DO
S=S+i
i=i+1
LOOP UNTIL i>=99
PRINT S
END
(1)程序中是否有错误?若有,请加以改正;
(2)把程序改成另一种类型的循环语句.
解 (1)错误有两处:第一处:语句i=1应改为i=2.
第二处:语句LOOP UNTIL i>=99应改为
LOOP UNTIL i>99.
(2)改为当型循环语句为:
i=2
S=0
WHILE i<=99
S=S+i
i=i+1
WEND
PRINT S
END
21.(12分)输入x,求函数y=的值的程序框图如图所示.
(1)指出程序框图中的错误之处并写出正确的算法步骤;
(2)重新绘制程序框图,并回答下面提出的问题.
①要使输出的值为7,则输入的x的值应为多少?
②要使输出的值为正数,则输入的x应满足什么条件?
解 (1)函数y=是分段函数,其程序框图中应该有判断框,应该有条件结构,不应该只用顺序结构.
正确的算法步骤如下所示:
第一步,输入x.
第二步,判断x≥2是否成立.若是,则y=3x-2;否则y=-2.
第三步,输出y.
(2)根据(1)中的算法步骤,可以画出程序框图如图所示.
①要使输出的值为7,则3x-2=7,故x=3,即输入的x的值应为3.
②要使输出的值为正数,则得x≥2.故当x≥2时,输出的值为正数.
22.(12分)为了节约用水,学校改革澡堂收费制度,开始实行计时收费,30 min以内每分钟收费0.1元,30 min以上超过部分每分钟收费0.2元,编写程序并画出程序框图,要求输入洗澡时间,输出洗澡费用.
解 用y(单位:元)表示洗澡费用,x(单位:min)表示洗澡时间,则y=
程序如下:
INPUT x
IF x<=30 THEN
y=0.1*x
ELSE
y=3+0.2*(x-30(
END IF
PRINT y
END
程序框图如图所示.
§1.1 算法与程序框图
1.1.1 算法的概念
学习目标 1.了解算法的含义和特征.2.会用自然语言描述简单的具体问题的算法.
知识点一 算法的概念
12世纪的算法
是指用阿拉伯数字进行算术运算的过程
数学中的算法
通常是指按照一定规则解决某一类问题的明确和有限的步骤
现代算法
通常可以编成计算机程序,让计算机执行并解决问题
知识点二 算法的特征
算法的五个特征
(1)有限性:一个算法的步骤是有限的,它应在有限步操作之后停止.
(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不是模棱两可的.
(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的步骤序列.
(4)普遍性:一个确定的算法,应该能够解决一类问题.
(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法.
特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征.
知识点三 算法的设计
1.设计算法的目的
设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.
2.设计算法的要求
①写出的算法必须能解决一类问题.
②要使算法尽量简单、步骤尽量少.
③要保证算法步骤有效,且计算机能够执行.
1.算法是解决一个问题的方法.( × )
2.一个算法可以产生不确定的结果.( × )
3.算法的步骤必须是明确的、有限的.( √ )
4.求解一类问题的算法是唯一的.( × )
题型一 对算法概念的理解
例1 下列说法正确的是( )
A.算法就是某个问题的解题过程
B.算法执行后可以产生不同的结果
C.解决某一个具体问题算法不同,则结果不同
D.算法执行步骤的次数不可以很多,否则无法实施
答案 B
解析 选项B正确,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;选项A,算法不能等同于解法;选项C,解决某一个具体问题算法不同,但结果应相同;选项D,算法可以为很多次,但不可以为无限次.
反思感悟 算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想.
跟踪训练1 下列描述不是解决问题的算法的是( )
A.从中山到北京先坐汽车,再坐火车
B.解可化为一元一次方程的分式方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-4x+3=0有两个不相等的实根
D.解不等式ax+3>0时,第一步移项,第二步讨论
答案 C
解析 A选项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题;
B选项,解可化为一元一次方程的分式方程的步骤:去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题;
D选项,解不等式ax+3>0时,第一步移项,将不等式化为ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,求出不等式的解集,解决了怎样求不等式解集的问题;
选项C只是一个真命题,没有解决什么问题,因此不是算法.
题型二 算法的设计
命题角度1 直接应用数学公式设计算法
例2 有一个底面半径为3,母线长为5的圆锥,写出求该圆锥体积的算法.
解 如图,先给r,l赋值,计算h,再根据圆锥体积公式V=πr2h计算V,然后输出结果.
第一步,令r=3,l=5.
第二步,计算h=.
第三步,计算V=πr2h.
第四步,输出运算结果.
反思感悟 利用公式解决问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.
跟踪训练2 已知一个等边三角形的周长为a,求这个三角形的面积.设计一个算法解决这个问题.
解 第一步,输入a的值.
第二步,计算l=的值.
第三步,计算S=×l2的值.
第四步,输出S的值.
命题角度2 非数值性问题的算法
例3 所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.
解 算法如下:
第一步,给出任意一个正整数n(n>1).
第二步,若n=2,则输出“2是素数”,判断结束.
第三步,令m=1.
第四步,将m的值增加1,仍用m表示.
第五步,如果m≥n,则输出“n是素数”,判断结束.
第六步,判断m能否整除n,
①如果能整除,则输出“n不是素数”,判断结束;
②如果不能整除,则转第四步.
反思感悟 设计一个具体问题的算法,通常按以下步骤
(1)认真分析问题,找出解决该问题的一般数学方法.
(2)借助有关变量或参数对算法加以表述.
(3)将解决问题的过程划分为若干步骤.
(4)用简练的语言将这个步骤表示出来.
跟踪训练3 判断一个大于2的整数是否为质数的算法步骤如何设计?
解 第一步,给定大于2的整数n.
第二步,令i=2.
第三步,用i除n,得到余数r.
第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.
第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.
解方程组的算法设计
典例 写出解方程组的一个算法.
解 方法一 (代入消元法) 第一步,由①得y=7-2x.③
第二步,将③代入②,得4x+5(7-2x)=11.④
第三步,解④得x=4.
第四步,将x=4代入③,得y=-1.
第五步,得到方程组的解为
方法二 (加减消元法)第一步,①×5-②得,(2×5-4)x=7×5-11.⑤
第二步,解⑤得x=4.
第三步,①×2-②,得(1×2-5)y=7×2-11.⑥
第四步,解⑥得y=-1.
第五步,得到方程组的解为
[素养评析] (1)设计算法时,经常遇到解方程组的算法问题,一般是按照数学上解方程组的方法进行设计,但应注意全面考虑方程组解的情况,即先确定方程组是否有解,有解时有几个解,然后依据求解步骤设计算法步骤.
(2)从对运算方法的选择,运算程序的设计,到最后求得运算结果,整个过程就是典型的数学运算素养的体现.
1.下列关于算法的说法正确的是( )
A.一个算法的步骤是可逆的
B.描述算法可以有不同的方式
C.算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列只能解决当前问题
D.算法只能用一种方式显示
答案 B
解析 由算法的定义知A,C,D错.
2.下列叙述中:
①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算: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
解析 根据算法的含义和特征知,①②③都是算法;④⑤不是算法.其中④只是一个问题,而没有解决问题,不能称为算法;⑤的步骤是无穷的,与算法的有限性矛盾.
3.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:
(1)计算c=;
(2)输入直角三角形两直角边长a,b的值;
(3)输出斜边长c的值.
其中正确的顺序是________.
答案 (2)(1)(3)
解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.
4.下面是解决一个问题的算法:
第一步:输入x.
第二步:若x≥4,转到第三步;否则转到第四步.
第三步:输出2x-1.
第四步:输出x2-2x+3.
当输入x的值为________时,输出的数值最小值为________.
答案 1 2
解析 所给算法解决的问题是求分段函数f(x)=的函数值问题,当x≥4时,f(x)=2x-1≥2×4-1=7;当x<4时,f(x)=x2-2x+3=(x-1)2+2≥2,所以f(x)min=2,此时x=1.即输入x的值为1时,输出的数值最小,最小值为2.
5.下面算法要解决的问题是____________________________.
第一步,输入三个数,并分别用a,b,c表示.
第二步,比较a与b的大小,如果a第三步,比较a与c的大小,如果a第四步,比较b与c的大小,如果b第五步,输出a,b,c.
答案 输入三个数a,b,c,并按从大到小的顺序输出
解析 第一步是给a,b,c赋值.
第二步运行后a>b.
第三步运行后a>c.
第四步运行后b>c,所以a>b>c.
第五步运行后,显示a,b,c的值,且从大到小排列.
6.写出解二元一次方程组的算法.
解 第一步,①+2×②得7x=1.③
第二步,解③得x=.
第三步,②×3-①×2得7y=5.④
第四步,解④得y=.
第五步,得到方程组的解为
1.算法的特点:有限性、确定性、逻辑性、普遍性、不唯一性.
2.算法设计的要求:
(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.
(2)要使算法尽量简单,步骤尽量少.
(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.
一、选择题
1.下列可以看成算法的是( )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题难做
D.方程2x2-x+1=0无实数根
答案 A
解析 A是学习数学的一个步骤,所以是算法.
2.在用二分法求方程零点的算法中,下列说法正确的是( )
A.这个算法可以求所有的零点
B.这个算法可以求任何方程的零点
C.这个算法能求所有零点的近似解
D.这个算法可以求变号零点的近似解
答案 D
解析 二分法的理论依据是函数的零点存在性定理.它解决的是求变号零点的问题,并不能求所有零点的近似值.
3.如下算法:
第一步,输入x的值.
第二步,若x≥0,则y=x.
第三步,否则,y=x2.
第四步,输出y的值.
若输出的y值为9,则x的值为( )
A.3 B.-3
C.3或-3 D.-3或9
答案 D
解析 根据题意可知,此为分段函数y=的算法,
当x≥0时,x=9;
当x<0时,x2=9,所以x=-3.
综上所述,x的值是-3或9.
4.对于算法:
第一步,输入n.
第二步,判断n是否等于2,若n=2,则n满足条件;若n>2,则执行第三步.
第三步,依次从2到(n-1)检测能不能整除n,若不能整除n,则执行第四步;若能整除n,则结束算法.
第四步,输出n.
满足条件的n是( )
A.质数 B.奇数 C.偶数 D.合数
答案 A
解析 此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.
5.有蓝、黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,现有空墨水瓶若干,解决这一问题最少需要的步骤数为( )
A.2 B.3
C.4 D.5
答案 B
解析 第一步,将蓝墨水装到一个空墨水瓶中;第二步,将黑墨水装到黑墨水瓶中;第三步,将蓝墨水装到蓝墨水瓶中,这样就解决了这个问题,故选B.
6.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个过程.下列选项中最好的一种算法是( )
A.第一步,洗脸刷牙.第二步,刷水壶.第三步,烧水.第四步,泡面.第五步,吃饭.第六步,听广播
B.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭.第五步,听广播
C.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭同时听广播
D.第一步,吃饭同时听广播.第二步,泡面.第三步,烧水同时洗脸刷牙.第四步,刷水壶
答案 C
解析 最好算法的标准是方便、省时、省力.
A中共需5+2+8+3+10+8=36(min),
B中共需2+8+3+10+8=31(min),
C中共需2+8+3+10=23(min),
D中共需10+3+8+2=23(min),但算法步骤不合理,最好的算法为C.
7.对于求18的正因数,给出下列两种算法:
算法1:
第一步,1是18的正因数,将1列出.
第二步,2是18的正因数,将2列出.
第三步,3是18的正因数,将3列出.
第四步,4不是18的正因数,将4剔除.
……
第十八步,18是18的正因数,将18列出.
算法2:
第一步,18=2×9.
第二步,18=2×32.
第三步,列出所有的正因数1,2,3,32,2×3,2×32.
则这两个算法( )
A.都正确
B.算法1正确,算法2不正确
C.算法1不正确,算法2正确
D.都不正确
答案 A
解析 算法1是用1~18的整数逐一验证,得出正因数.算法2是利用因数分解得到18的正因数.两种算法都正确.故选A.
8.一个算法步骤如下:
第一步,S取值0,i取值1.
第二步,若i≤9,则执行第三步;否则,执行第六步.
第三步,计算S+i并用结果代替S.
第四步,用i+2的值代替i.
第五步,转去执行第二步.
第六步,输出S.
运行以上算法,则输出的结果S等于( )
A.16 B.25
C.36 D.以上均不对
答案 B
解析 解本题关键是读懂算法,本题中的算法功能是求S=1+3+5+7+9=25.
9.结合下面的算法:
第一步,输入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
答案 C
解析 依据算法可知,当x=-1时,满足x<0,则输出x+2=-1+2=1;当x=0时,不满足x<0,则输出x-1=0-1=-1;当x=1时,不满足x<0,则输出x-1=1-1=0.故选C.
二、填空题
10.下面给出了解决问题的算法:
第一步:输入x.
第二步:若x≤1,则y=2x-1,否则y=x2+3.
第三步:输出y.
(1)这个算法解决的问题是________;
(2)当输入的x值为________时,输入值与输出值相等.
答案 (1)求分段函数y=的函数值
(2)1
11.以下是解二元一次方程组的一个算法,请将该算法补充完整.
第一步,①②两式相加得3x+9=0.③
第二步,由③式可得________.④
第三步,将④式代入①式得y=0.
第四步,输出方程组的解为________.
答案 x=-3
解析 该算法的流程实质是解二元一次方程组的过程,由消元法易得.
12.下面是求15和18的最小公倍数的算法,其中不恰当的一步是________.
第一步,先将15分解素因数:15=3×5.
第二步,然后将18分解素因数:18=32×2.
第三步,确定它们的所有素因数:2,3,5.
第四步,计算出它们的最小公倍数:2×3×5=30.
答案 第四步
解析 素因数2,3,5的最高指数是1,2,1,算出它们的最小公倍数为2×32×5=90.
三、解答题
13.某商场举办优惠促销活动.若购物金额在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,结束算法.
14.下面算法的功能是( )
第一步,令i=1.
第二步,i除以3,得余数r.
第三步,若r=0,则输出i;否则,执行第四步.
第四步,令i的值增加1.
第五步,若i≤1 000,则返回第二步;否则,算法结束.
A.求3的倍数
B.求1至1 000中3的倍数
C.求i除以3
D.求i除以3的余数
答案 B
解析 由第二步和第三步可知,输出的是3的倍数,由第四步和第五步可知,输出的是1至1 000中3的倍数.
15.如图所示,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移动到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面.把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是________.
答案 7
解析 直接进行分析,将最小的碟子命名为①,中间的碟子命名为②,最大的碟子命名为③,进行如下移动:①→A,②→C,①→C,③→A,①→B,②→A,①→A,此时按要求全部放好,移动7次.
课件33张PPT。1.1.1 算法的概念第一章 §1.1 算法与程序框图学习目标XUEXIMUBIAO1.了解算法的含义和特征.
2.会用自然语言描述简单的具体问题的算法.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 算法的概念算术运算一定规则明确有限计算机程序知识点二 算法的特征
算法的五个特征
(1)有限性:一个算法的步骤是 的,它应在有限步操作之后停止.
(2)确定性:算法中的每一步应该是 的,并且能有效地执行且得到确定的结果,而不是模棱两可的.
(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的 .有限确定步骤序列(4)普遍性:一个确定的算法,应该能够解决一类问题.
(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法.
特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征.知识点三 算法的设计
1.设计算法的目的
设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.
2.设计算法的要求
①写出的算法必须能解决一类问题.
②要使算法尽量简单、步骤尽量少.
③要保证算法步骤有效,且计算机能够执行.1.算法是解决一个问题的方法.( )
2.一个算法可以产生不确定的结果.( )
3.算法的步骤必须是明确的、有限的.( )
4.求解一类问题的算法是唯一的.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU××√×2题型探究PART TWO题型一 对算法概念的理解例1 下列说法正确的是
A.算法就是某个问题的解题过程
B.算法执行后可以产生不同的结果
C.解决某一个具体问题算法不同,则结果不同
D.算法执行步骤的次数不可以很多,否则无法实施解析 选项B正确,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;
选项A,算法不能等同于解法;
选项C,解决某一个具体问题算法不同,但结果应相同;
选项D,算法可以为很多次,但不可以为无限次.√反思感悟 算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想.跟踪训练1 下列描述不是解决问题的算法的是
A.从中山到北京先坐汽车,再坐火车
B.解可化为一元一次方程的分式方程的步骤是去分母、去括号、移项、合并同
类项、系数化为1
C.方程x2-4x+3=0有两个不相等的实根
D.解不等式ax+3>0时,第一步移项,第二步讨论√解析 A选项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题;
B选项,解可化为一元一次方程的分式方程的步骤:去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题;
D选项,解不等式ax+3>0时,第一步移项,将不等式化为ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,求出不等式的解集,解决了怎样求不等式解集的问题;
选项C只是一个真命题,没有解决什么问题,因此不是算法.题型二 算法的设计解 如图,先给r,l赋值,计算h,再根据圆锥体积公式V= πr2h计算V,然后输出结果.多维探究命题角度1 直接应用数学公式设计算法例2 有一个底面半径为3,母线长为5的圆锥,写出求该圆锥体积的算法.第一步,令r=3,l=5.第四步,输出运算结果.反思感悟 利用公式解决问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.跟踪训练2 已知一个等边三角形的周长为a,求这个三角形的面积.设计一个算法解决这个问题.解 第一步,输入a的值.第四步,输出S的值.命题角度2 非数值性问题的算法例3 所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.解 算法如下:
第一步,给出任意一个正整数n(n>1).
第二步,若n=2,则输出“2是素数”,判断结束.
第三步,令m=1.
第四步,将m的值增加1,仍用m表示.
第五步,如果m≥n,则输出“n是素数”,判断结束.
第六步,判断m能否整除n,
①如果能整除,则输出“n不是素数”,判断结束;
②如果不能整除,则转第四步.反思感悟 设计一个具体问题的算法,通常按以下步骤
(1)认真分析问题,找出解决该问题的一般数学方法.
(2)借助有关变量或参数对算法加以表述.
(3)将解决问题的过程划分为若干步骤.
(4)用简练的语言将这个步骤表示出来.跟踪训练3 判断一个大于2的整数是否为质数的算法步骤如何设计?解 第一步,给定大于2的整数n.
第二步,令i=2.
第三步,用i除n,得到余数r.
第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.
第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.典例 写出解方程组 的一个算法.核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN解方程组的算法设计解 方法一 (代入消元法) 第一步,由①得y=7-2x. ③
第二步,将③代入②,得4x+5(7-2x)=11. ④
第三步,解④得x=4.
第四步,将x=4代入③,得y=-1.方法二 (加减消元法)第一步,①×5-②得,(2×5-4)x=7×5-11. ⑤
第二步,解⑤得x=4.
第三步,①×2-②,得(1×2-5)y=7×2-11. ⑥
第四步,解⑥得y=-1.素养评析 (1)设计算法时,经常遇到解方程组的算法问题,一般是按照数学上解方程组的方法进行设计,但应注意全面考虑方程组解的情况,即先确定方程组是否有解,有解时有几个解,然后依据求解步骤设计算法步骤.
(2)从对运算方法的选择,运算程序的设计,到最后求得运算结果,整个过程就是典型的数学运算素养的体现.3达标检测PART THREE1.下列关于算法的说法正确的是
A.一个算法的步骤是可逆的
B.描述算法可以有不同的方式
C.算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样
的步骤或序列只能解决当前问题
D.算法只能用一种方式显示√解析 由算法的定义知A,C,D错.1234562.下列叙述中:
①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算: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√解析 根据算法的含义和特征知,①②③都是算法;
④⑤不是算法.其中④只是一个问题,而没有解决问题,不能称为算法;
⑤的步骤是无穷的,与算法的有限性矛盾.1234563.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:
(1)计算c= ;
(2)输入直角三角形两直角边长a,b的值;
(3)输出斜边长c的值.
其中正确的顺序是________.(2)(1)(3)解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.1234564.下面是解决一个问题的算法:
第一步:输入x.
第二步:若x≥4,转到第三步;否则转到第四步.
第三步:输出2x-1.
第四步:输出x2-2x+3.
当输入x的值为__时,输出的数值最小值为____.12123456当x≥4时,f(x)=2x-1≥2×4-1=7;
当x<4时,f(x)=x2-2x+3=(x-1)2+2≥2,
所以f(x)min=2,此时x=1.
即输入x的值为1时,输出的数值最小,最小值为2.123456解析 第一步是给a,b,c赋值.
第二步运行后a>b.
第三步运行后a>c.
第四步运行后b>c,所以a>b>c.
第五步运行后,显示a,b,c的值,且从大到小排列.5.下面算法要解决的问题是____________________________________________.
第一步,输入三个数,并分别用a,b,c表示.
第二步,比较a与b的大小,如果a第三步,比较a与c的大小,如果a第四步,比较b与c的大小,如果b第五步,输出a,b,c.输入三个数a,b,c,并按从大到小的顺序输出1234566.写出解二元一次方程组 的算法.解 第一步,①+2×②得7x=1. ③第三步,②×3-①×2得7y=5. ④123456课堂小结KETANGXIAOJIE1.算法的特点:有限性、确定性、逻辑性、普遍性、不唯一性.
2.算法设计的要求:
(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.
(2)要使算法尽量简单,步骤尽量少.
(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.1.1.2 程序框图与算法的基本逻辑结构
第1课时 程序框图、顺序结构
学习目标 1.了解各种程序框及流程线的功能与作用.2.能够读懂简单的程序框图.3.能够掌握用程序框图表示顺序结构的算法.
知识点一 程序框图
1.程序框图的定义
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
2.常见的程序框、流程线及各自表示的功能
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线
连接程序框
(
连接点
连接程序框图的两部分
3.算法的逻辑结构
顺序结构、条件结构和循环结构是算法的基本逻辑结构,所有算法都是由这三种基本逻辑结构构成的.
知识点二 顺序结构
1.顺序结构的定义
由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构.
2.结构形式
思考 如何理解顺序结构是任何一个算法都离不开的基本结构?
答案 顺序结构描述的是最简单的算法结构,语句与语句之间,框与框之间是按照从上到下的顺序进行的.
1.任何一个程序框图必须有起止框.( √ )
2.任何一个算法都离不开顺序结构.( √ )
3.对于一个程序框图来说,判断框内的条件是唯一的.( × )
题型一 对程序框的认识和理解
例1 下列说法正确的是( )
A.程序框图中的图形符号可以由个人来确定
B.也可以用来执行计算语句
C.程序框图中可以没有输出框,但必须要有输入框
D.用程序框图表达算法,其优点是算法的基本逻辑结构展现得非常直接
答案 D
解析 一个完整的程序框图至少要有起止框和输入、输出框,输入、输出框只能用来输入、输出信息,不能用来执行计算.
反思感悟 (1)理解程序框图中各框图的功能是解此类题的关键,用程序框图表示算法更直观、清晰、易懂.
(2)起止框用表示,是任何流程不可少的,表明程序的开始或结束.
(3)输入、输出框用表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内.
(4)处理框用表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内,另外,对变量进行赋值时,也用到处理框.
(5)判断框用表示,是唯一具有超过一个退出点的图形符号.
跟踪训练1 (1)程序框图中表示判断框的是( )
A.矩形框 B.菱形框 C.圆形框 D.椭圆形框
(2)一个完整的程序框图至少包含( )
A.终端框和输入、输出框
B.终端框和处理框
C.终端框和判断框
D.终端框、处理框和输入、输出框
答案 (1)B (2)A
解析 (1)要画好程序框图,就必须准确了解各图形符号的意义,圆角矩形框为起止框,矩形框为执行框,平行四边形框为输入、输出框,菱形框为判断框,故选B.
(2)完整的程序框图必须有终端框,用来表示程序的开始与结束,还要包括输入、输出框,用来进行输入或输出,故选A.
题型二 利用顺序结构表示算法
例2 已知直角三角形的两条直角边长分别为a,b,设计一个求直角三角形内切圆面积的算法,并画出对应的程序框图.
解 算法步骤如下:
第一步,输入直角三角形的直角边长a,b的值.
第二步,计算斜边长c=.
第三步,计算直角三角形内切圆半径r=(a+b-c).
第四步,计算内切圆面积S=πr2.
第五步,输出S.
程序框图如图.
反思感悟 在顺序结构中,语句与语句之间、框与框之间是按照从上到下的顺序连接的,中间没有“转弯”,也没有“回头”,
跟踪训练2 利用梯形的面积公式计算上底为2,下底为4,高为5的梯形面积,设计出该问题的算法及程序框图.
解 算法如下:
第一步,a=2,b=4,h=5.
第二步,S=(a+b)h.
第三步,输出S.
程序框图如图.
程序框图的读图问题
典例1 如图所示的程序框图的运行结果是( )
A.2 B. C. D.4
答案 B
解析 由a=2,b=4,得S=+=.
典例2 (1)图①中算法的功能是(a>0,b>0)________________________;
(2)图②中算法的功能是________________.
答案 (1)求以a,b为直角边的直角三角形斜边c的长 (2)求两个实数a,b的和
[素养评析] (1)程序框图的识读,首先弄明白程序框图中各程序框的功能,然后按流程线指引的方向从上到下(或从左到右)依次判断即可.
(2)程序框图提供了一种规范化思考问题的模式.通过程序框图,理解运算对象,掌握运算法则,探求运算思路及运算结果,提升数学运算素养.
1.下列关于程序框图的说法中正确的是( )
①程序框图只有一个入口,也只有一个出口;
②程序框图中的每一部分都应有一条从入口到出口的路径通过它;
③程序框图中的循环可以是无尽的循环;
④程序框图中的语句可以有执行不到的.
A.①②③ B.②③
C.①④ D.①②④
答案 D
解析 由程序框图的概念知,整个框图只有一个入口,一个出口,程序框图中的每一部分都有可能执行到,不能出现“死循环”,必须在有限步骤内完成.故①②④正确,③错误.
2.程序框图符号“”可用于( )
A.输出a=10
B.赋值a=10
C.判断a=10
D.输入a=1
答案 B
解析 图形符号“”是处理框,它的功能是赋值、计算,不是用来输出、判断和输入的,故选B.
3.阅读程序框图:若输出结果为15,则①处的执行框内应填的是________.
答案 x=3
解析 先确定①处的执行框是给x赋值,然后倒着推,b=15时,2a-3=15,a=9,当a=9时,2x+1=9,x=3.
4.根据所给的程序框图,如图所示,输出的结果是________.
答案 2
解析 由X=Y,得X=2;由Y=X,得Y=2;由Z=Y,得Z=2.
5.写出求过点P1(3,5),P2(-1,2)的直线斜率的算法,并画出程序框图.
解 算法如下:
第一步,输入x1=3,y1=5,x2=-1,y2=2.
第二步,计算k=.
第三步,输出k.
程序框图如图.
1.在设计计算机程序时要画出程序运行的程序框图,有了这个程序框图,再去设计程序就有了依据,从而就可以把整个程序用程序语言表述出来,因此程序框图是我们设计程序的基本和开端.
2.规范程序框图的表示
(1)使用标准的框图符号;
(2)框图一般按从上到下、从左到右的方向画,流程线要规范;
(3)除判断框外,其他框图符号只有一个进入点和一个退出点;
(4)在图形符号内描述的语言要非常简练、清楚.
一、选择题
1.能够使算法的步骤表达更直观的是( )
A.自然语言 B.程序框图
C.数学语言 D.逻辑分析
答案 B
解析 用程序框图表达算法,能使算法的结构更清楚,步骤更直观也更精确.
2.a表示“处理框”,b表示“输入、输出框”,c表示“起止框”,d表示“判断框”,以下四个图形依次为( )
A.abcd B.dcab
C.cbad D.bacd
答案 C
解析 根据框图表示的意义逐一判断.
3.在程序框图中,一个算法步骤到另一个算法步骤的连接用( )
A.连接点 B.判断框
C.流程线 D.处理框
答案 C
解析 流程线的作用是连接程序框及体现程序进行的方向,一个算法步骤到另一个算法步骤表示的是程序进行的方向.而连接点的作用是连接程序框图的两部分.判断框的作用是判断某一条件是否成立.处理框的作用是赋值、计算、数据处理等.故选C.
4.关于终端框的说法正确的是( )
A.表示一个算法的起始和结束,图形符号是
B.表示一个算法输入和输出的信息,图形符号是
C.表示一个算法的起始和结束,图形符号是
D.表示一个算法输入和输出的信息,图形符号是
答案 C
解析 终端框表示一个算法的起始和结束,图形符号是.
5.如图所示的程序框图,已知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.
6.阅读如图所示的程序框图,若输入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.
7.如图所示的程序框图表示的算法意义是( )
A.边长为3,4,5的直角三角形面积
B.边长为3,4,5的直角三角形内切圆面积
C.边长为3,4,5的直角三角形外接圆面积
D.以3,4,5为弦的圆面积
答案 B
解析 直角三角形内切圆半径r=,故选B.
8.下列是程序框图中的一部分,表示恰当的是( )
答案 A
解析 由各图形符号的功能和流程线的意义知选A.
9.给出如图程序框图,若输出的结果为2,则①处的处理框内应填的是( )
A.x=2 B.b=2
C.x=1 D.a=5
答案 C
解析 ∵结果是b=2,
∴2=a-3,即a=5.
当2x+3=5时,得x=1.
二、填空题
10.下面程序框图表示的算法的运行结果是________.
答案 6
解析 由题意P==9,S==6.
11.已知点P(x0,y0),直线l:x+2y-3=0,求点P到直线l的距离的一个算法程序框图如图所示,则在①处应填________.
答案 d=
解析 应填上点到直线的距离公式.
12.下图(1)是计算图(2)所示的阴影部分的面积的程序框图,则图(1)中执行框内应填________.
答案 S=a2
解析 正方形的面积为S1=a2,扇形的面积为S2=πa2,则阴影部分的面积为S=S1-S2=a2.因此图中执行框内应填入S=a2.
三、解答题
13.已知一个直角三角形的两条直角边长分别为a,b,设计一个算法,求该三角形的面积,并画出相应的程序框图.
解 算法如下:
第一步,输入两直角边的长a,b.
第二步,计算S=ab.
第三步,输出S.
程序框图如图.
14.程序框图如图所示.
则该程序框图的功能是________________.
答案 交换两个变量x,y的值
解析 输入x与y的值,把x的值赋于m,则m为x的取值;把y的值赋于x,则x为y的取值;再把m的值赋于y,则完成x与y取值的交换.
15.如图所示,图①是计算图②中空白部分面积的一个框图,则“?”处应填________.
① ②
答案 S=-a2
解析 由题图②知S阴影=2=2a2-,所以S空白=a2-S阴影=a2-2a2+=-a2.故“?”处应填S=-a2.
课件28张PPT。第1课时 程序框图、顺序结构第一章 1.1.2 程序框图与算法的基本逻辑结构学习目标XUEXIMUBIAO1.了解各种程序框及流程线的功能与作用.
2.能够读懂简单的程序框图.
3.能够掌握用程序框图表示顺序结构的算法.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 程序框图1.程序框图的定义
程序框图又称 ,是一种用 、 及 来表示算法的图形.流程图程序框流程线文字说明2.常见的程序框、流程线及各自表示的功能表示一个算法的起始和结束表示一个算法输入和输出的信息连接程序框赋值、计算连接点判断框3.算法的逻辑结构
、 和 是算法的基本逻辑结构,所有算法都是由这三种基本逻辑结构构成的.顺序结构条件结构循环结构知识点二 顺序结构
1.顺序结构的定义
由若干个 组成的.这是任何一个算法都离不开的基本结构.
2.结构形式依次执行的步骤思考 如何理解顺序结构是任何一个算法都离不开的基本结构?答案 顺序结构描述的是最简单的算法结构,语句与语句之间,框与框之间是按照从上到下的顺序进行的.1.任何一个程序框图必须有起止框.( )
2.任何一个算法都离不开顺序结构.( )
3.对于一个程序框图来说,判断框内的条件是唯一的.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU√√×2题型探究PART TWO题型一 对程序框的认识和理解例1 下列说法正确的是
A.程序框图中的图形符号可以由个人来确定
B. 也可以用来执行计算语句
C.程序框图中可以没有输出框,但必须要有输入框
D.用程序框图表达算法,其优点是算法的基本逻辑结构展现得非常直接解析 一个完整的程序框图至少要有起止框和输入、输出框,输入、输出框只能用来输入、输出信息,不能用来执行计算.√ 反思感悟 (1)理解程序框图中各框图的功能是解此类题的关键,用程序框图表示算法更直观、清晰、易懂.
(2)起止框用 表示,是任何流程不可少的,表明程序的开始或结束.
(3)输入、输出框用 表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内.
(4)处理框用 表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内,另外,对变量进行赋值时,也用到处理框.
(5)判断框用 表示,是唯一具有超过一个退出点的图形符号.跟踪训练1 (1)程序框图中表示判断框的是
A.矩形框 B.菱形框
C.圆形框 D.椭圆形框√解析 要画好程序框图,就必须准确了解各图形符号的意义,圆角矩形框为起止框,矩形框为执行框,平行四边形框为输入、输出框,菱形框为判断框,故选B.(2)一个完整的程序框图至少包含
A.终端框和输入、输出框
B.终端框和处理框
C.终端框和判断框
D.终端框、处理框和输入、输出框√解析 完整的程序框图必须有终端框,用来表示程序的开始与结束,还要包括输入、输出框,用来进行输入或输出,故选A.题型二 利用顺序结构表示算法解 算法步骤如下:
第一步,输入直角三角形的直角边长a,b的值.例2 已知直角三角形的两条直角边长分别为a,b,设计一个求直角三角形内切圆面积的算法,并画出对应的程序框图.第四步,计算内切圆面积S=πr2.第五步,输出S.
程序框图如图.反思感悟 在顺序结构中,语句与语句之间、框与框之间是按照从上到下的顺序连接的,中间没有“转弯”,也没有“回头”,跟踪训练2 利用梯形的面积公式计算上底为2,下底为4,高为5的梯形面积,设计出该问题的算法及程序框图.解 算法如下:
第一步,a=2,b=4,h=5.第三步,输出S.
程序框图如图.典例1 如图所示的程序框图的运行结果是核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN程序框图的读图问题√典例2 (1)图①中算法的功能是(a>0,b>0)______________________________
___________;
(2)图②中算法的功能是______________________.求以a,b为直角边的直角三角形求两个实数a,b的和斜边c的长素养评析 (1)程序框图的识读,首先弄明白程序框图中各程序框的功能,然后按流程线指引的方向从上到下(或从左到右)依次判断即可.
(2)程序框图提供了一种规范化思考问题的模式.通过程序框图,理解运算对象,掌握运算法则,探求运算思路及运算结果,提升数学运算素养.3达标检测PART THREE1.下列关于程序框图的说法中正确的是
①程序框图只有一个入口,也只有一个出口;
②程序框图中的每一部分都应有一条从入口到出口的路径通过它;
③程序框图中的循环可以是无尽的循环;
④程序框图中的语句可以有执行不到的.
A.①②③ B.②③ C.①④ D.①②④√解析 由程序框图的概念知,整个框图只有一个入口,一个出口,程序框图中的每一部分都有可能执行到,不能出现“死循环”,必须在有限步骤内完成.故①②④正确,③错误.123452.程序框图符号“ ”可用于
A.输出a=10
B.赋值a=10
C.判断a=10
D.输入a=1√解析 图形符号“ ”是处理框,它的功能是赋值、计算,不是用来输出、判断和输入的,故选B.123453.阅读程序框图:若输出结果为15,则①处的执行框内应填的是________.x=3解析 先确定①处的执行框是给x赋值,然后倒着推,b=15时,2a-3=15,a=9,当a=9时,2x+1=9,x=3.123454.根据所给的程序框图,如图所示,输出的结果是________.2解析 由X=Y,得X=2;由Y=X,得Y=2;由Z=Y,得Z=2.123455.写出求过点P1(3,5),P2(-1,2)的直线斜率的算法,并画出程序框图.解 算法如下:
第一步,输入x1=3,y1=5,x2=-1,y2=2.第三步,输出k.
程序框图如图.12345课堂小结KETANGXIAOJIE1.在设计计算机程序时要画出程序运行的程序框图,有了这个程序框图,再去设计程序就有了依据,从而就可以把整个程序用程序语言表述出来,因此程序框图是我们设计程序的基本和开端.
2.规范程序框图的表示
(1)使用标准的框图符号;
(2)框图一般按从上到下、从左到右的方向画,流程线要规范;
(3)除判断框外,其他框图符号只有一个进入点和一个退出点;
(4)在图形符号内描述的语言要非常简练、清楚.第2课时 条件结构
学习目标 1.掌握条件结构的程序框图的画法.2.能用条件结构程序框图描述实际问题.
知识点一 条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.处理这种过程的结构叫条件结构.
知识点二 条件结构的两种形式
条件结构的形式及特征
结构形式
特征
两个步骤A,B根据条件选择一个执行
根据条件选择是否执行步骤A
知识点三 条件结构的嵌套
条件结构的嵌套实际上就是将一个条件结构置于另一个条件结构的分支中,这个分支结束后,要与另一个分支交汇.
1.条件结构的程序框图中含有顺序结构.( √ )
2.条件结构的程序框图中可以不含判断框.( × )
3.条件结构的判断条件要写在判断框内.( √ )
4.条件结构的两种形式执行结果可能不同.( × )
题型一 条件结构的概念
例1 (1)下列算法中,含有条件结构的是( )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
(2)条件结构不同于顺序结构的特征是( )
A.处理框 B.判断框
C.输入、输出框 D.起止框
(3)求下列函数的函数值的算法中需要用到条件结构的是( )
A.f(x)=x2-1
B.f(x)=2x+1
C.f(x)=
D.f(x)=2x
答案 (1)C (2)B (3)C
解析 (1)解一元二次方程时,当判别式Δ<0时,方程无解,当Δ≥0时,方程有解,由于分情况,故用到条件结构.
(2)在条件结构中含有判断框,而顺序结构中没有.
(3)C项中函数f(x)是分段函数,需分类讨论x的取值范围,要用条件结构来设计算法,A,B,D项中均不需要用条件结构.
反思感悟 条件结构中含有判断框,且判断框内相应的判定条件是依据所给具体问题设定的.
跟踪训练1 下列问题的算法适宜用条件结构表示的是( )
A.求点P(2,5)到直线l:3x-2y+1=0的距离
B.由直角三角形的两条直角边求斜边
C.解不等式ax+b>0(其中a≠0)
D.计算3个数的平均数
答案 C
解析 条件结构是处理逻辑判断并根据判断进行不同处理的结构,只有C中需判断a的符号,其余选项中都不含逻辑判断,故选C.
题型二 与条件结构有关的读图问题
例2 如图所示的程序框图,若输出y的值为3,求输入的x值.
解 由程序框图可得y=
当x≤0时,y∈(1,2],此时不可能输出y=3;
当x>0时,令y=2x+1=3,解得x=1,符合题意,
故输入的x的值为1.
引申探究
本例中,若输入x的值为-1,则输出y的值为多少?
解 由x=-1<0,故y=2-1+1=,故y=,从而输出y的值为.
反思感悟 (1)理清所要实现的算法的结构特点和流程规则,分析其功能.
(2)抓住条件结构中的条件和流向是关键.
跟踪训练2 对任意非零实数a,b,若a?b的运算原理如程序框图所示,则3?2=________.
答案 2
解析 由于a=3,b=2,则a≤b不成立,则输出==2.
题型三 条件结构算法与框图的设计
例3 已知函数y=设计一个算法的程序框图,计算输入x的值,输出y的值.
解 根据题意,其自然语言算法如下:
第一步:输入x.
第二步:判断x>0是否成立,若是,则输出y=,结束算法;若不是,则判断x<0是否成立,若是,则输出y=,结束算法;若不是,也结束算法.
程序框图如图所示:
反思感悟 (1)先设计算法,再把算法作步骤转化为框图的形式.
(2)凡是先根据条件作出判断,再决定进行哪一个步骤的问题,在画算法框图时,都必须引入判断框,采用条件结构.
(3)在画出条件结构的框图后,可通过检查各条件分支与已知描述情况是否对应来判断所画框图是否正确.
跟踪训练3 画出计算函数y=|x-2|的函数值的程序框图.
解 算法如下:
第一步,输入x.
第二步,若x≥2,则y=x-2;否则y=2-x.
第三步,输出y.
程序框图如下.
条件结构的嵌套
典例 已知函数y=写出输入一个x值,输出y值的算法并画出程序框图.
解 算法如下:
第一步,输入x.
第二步,如果x<0,那么使y=2x-1,执行第五步;
否则,执行第三步.
第三步,如果x<1,那么使y=x2+1,执行第五步;
否则,执行第四步.
第四步,y=x2+2x.
第五步,输出y.
程序框图如图所示.
[素养评析] (1)解决分段函数求值问题一般采用条件结构来设计算法.对于判断具有两个以上条件的问题,往往需要用到条件结构的嵌套,这时要注意嵌套的次序.
(2)对于分段函数求值运算问题,首先理解运算对象,运算法则,从而求得运算结果,是数学核心素养之数学运算的集中体现.
1.在如图所示的程序框图中,输入x=2,则输出的结果是( )
A.1 B.2 C.3 D.4
答案 B
解析 因为x=2>1成立,所以y==2,故输出的y=2.
2.若输入x=-5,按图中所示程序框图运行后,输出的结果是( )
A.-5 B.0 C.-1 D.1
答案 D
解析 因为x=-5,不满足x>0,所以在第一个判断框中执行“否”,在第二个判断框中,由于-5<0,执行“是”,所以得y=1.
3.如图所示给出一个算法的程序框图,该程序框图的功能是( )
A.输出a,b,c三数中的最大数
B.输出a,b,c三数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列
答案 B
解析 先比较a,b的值,把较小的值赋值给a;再比较a,c的值,把较小的值赋值给a,输出a.
4.已知函数y=|x-3|,如图表示的是给定x的值,求其相应函数的值的算法.请将该程序框图补充完整,其中①处应填________,②处应填________.
答案 x<3?或x≤3? y=x-3
解析 由已知得y=或y=结合所给程序框图易得.
5.某次考试,为了统计成绩情况,设计了如图所示的程序框图.当输入一个同学的成绩x=75时,输出结果为________.
答案 及格
解析 由于75<80,在程序框图中的第一个判断框中,将按“否”的指向进入第二个判断框,又因为75≥60,将按“是”的指向,所以输出的是“及格”.
1.条件结构是程序框图的重要组成部分.其特点是先判断后执行.
2.在利用条件结构画程序框图时要注意两点:一是需要判断条件是什么,二是条件判断后分别对应着什么样的结果.
3.设计程序框图时,首先设计算法步骤,再转化为程序框图,待熟练后可以省略算法步骤直接画出程序框图.对于算法中分类讨论的步骤,通常设计成条件结构来解决.
一、选择题
1.已知如图所示的程序框图,该程序框图的功能是( )
A.输入一个数x,判断其是否大于或等于2,然后输出不符合条件的x的值
B.输入一个数x,输出x-2的值
C.任给一个实数x,求|x-2|的值
D.任给一个实数x,同时输出x-2的值和2-x的值
答案 C
解析 对于A,应是输出符合条件的y的值.由条件结构易知,当x≥2时,输出x-2的值;当x<2时,输出2-x的值,B,D错误.故选C.
2.执行如图所示的程序框图,若输出的S为4,则输入的x应为( )
A.-2 B.16
C.-2或8 D.-2或16
答案 D
解析 由程序框图知,算法的功能是求S=的值.
当x≤1时,若输出的S=4,则2-x=4,解得x=-2;
当x>1时,若输出的S=4,则log2x=4,解得x=16.故选D.
3.给出一个如图所示的程序框图,若要使输入x的值与输出y的值相等,则这样的x的值的个数是( )
A.1 B.2 C.3 D.4
答案 C
解析 当x≤2时,由y=x2=x,解得x1=0,x2=1;当2<x≤5时,由y=2x-3=x,解得x3=3;当x>5时,由y==x,解得x4=±1(舍去),故x的值可以为0,1,3,满足题意的x的值的个数是3.
4.执行下面的程序框图,如果输入t∈[-1,3],则输出的s的范围为( )
A.[-3,4] B.[-5,2]
C.[-4,3] D.[-2,5]
答案 A
解析 因为t∈[-1,3],
当t∈[-1,1)时,s=3t∈[-3,3);
当t∈[1,3]时,
s=4t-t2=-(t2-4t)=-(t-2)2+4∈[3,4],
所以s∈[-3,4].
5.如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入( )
A.c>x? B.x>c?
C.c>b? D.b>c?
答案 A
解析 从程序框图中可以看出,应填c>x?,其含义是当c>x不成立时,说明x最大,输出x,当c>x成立时,执行x=c后,x的值变为c,从而输出x(也就是c).
6.如图是计算函数y=的值的程序框图,则在①②③处应分别填入的是( )
A.y=-x,y=0,y=x2 B.y=-x,y=x2,y=0
C.y=0,y=x2,y=-x D.y=0,y=-x,y=x2
答案 B
解析 由程序框图可知,当满足x≤-1时,执行处理框①,故①处应填入y=-x;当满足x>2时,执行处理框②,故②处应填入y=x2;当满足-1<x≤2时,执行处理框③,故③处应填入y=0.故选B.
7.如图所示的程序框图运行后输出结果为,则输入的x值为( )
A.-1 B.
C. D.-1或
答案 D
解析 程序框图表示的是求分段函数
f(x)=的函数值,
由得x=;由得x=-1.
又无解,故选D.
8.程序框图如图所示,若输出y的值是4,则输入的实数x的值为( )
A.1 B.-2
C.1或2 D.1或-2
答案 D
解析 根据题意和程序框图可知,程序框图反映的函数关系式为y=
令y=4,解得当x<1时,x=-2;当1≤x<10时,x=1;当x≥10时无解.故选D.
二、填空题
9.已知函数y=图中表示的是给定x的值,求其对应的函数值y的程序框图.①处应填写________;②处应填写________.
答案 x<2?y=log2x
解析 框图中的①处就是分段函数解析式两种形式的判断条件,故填写x<2?,②就是函数的另一段表达式y=log2x.
10.阅读如图所示的程序框图.如果输入a=log3,b=,c=,那么输出的是________.
答案 c
解析 该程序框图的算法功能是输出a,b,c中的最大值.因为a=log3<0,0<b=<1,c=2>1,
所以a<b<c,因此最后输出的为c.
三、解答题
11.为了加强居民的节水意识,某市制定了以下生活用水收费标准:每户每月用水未超过7立方米时,每立方米收费1.0元,并加收每立方米0.2元的城市污染处理费;超过7立方米的部分,每立方米收费1.5元,并加收每立方米0.4元的城市污水处理费.设某户每月用水量为x立方米,应缴纳水费y元,请你设计一个输入用水量、输出应缴水费额的算法,画出程序框图.
解 由题意可知y与x之间的函数关系式为
y=
算法设计如下:
第一步:输入每月用水量x(x≥0).
第二步:判断输入的x是否超过7,若x>7,则应缴纳水费y=1.9x-4.9;否则应缴纳水费y=1.2x.
第三步,输出应缴水费y.
程序框图如图所示:
12.阅读如图所示的程序框图,如果输出的函数值在区间[1,3]上,则输入的实数x的取值范围是( )
A.{x∈R|0≤x≤log23}
B.{x∈R|-2≤x≤2}
C.{x∈R|0≤x≤log23或x=2}
D.{x∈R|-2≤x≤log23或x=2}
答案 C
解析 根据题意,得
当x∈(-2,2)时,f(x)=2x,
∴1≤2x≤3,∴0≤x≤log23.
当x?(-2,2)时,f(x)=x+1,
∴1≤x+1≤3,∴0≤x≤2,即x=2.
∴x的取值范围是{x∈R|0≤x≤log23或x=2}.
故选C.
13.如图,x1,x2,x3为某次考试三个评阅人对同一道题的独立评分,p为该题的最终得分,当x1=6,x2=9,p=8.5时,x3=________.
答案 8
解析 x1=6,x2=9,|x1-x2|=3<2不成立,即为“否”,所以再输入x3.由绝对值的意义(一个点到另一个点的距离)和不等式|x3-x1|<|x3-x2|知,点x3到点x1的距离小于点x3到点x2的距离,所以当x3<7.5时,|x3-x1|<|x3-x2|成立,即为“是”,此时“x2=x3”,所以p=,即=8.5,解得x3=11>7.5,不合题意;当x3>7.5时,|x3-x1|<|x3-x2|不成立,即为“否”,此时执行“x1=x3”,所以p=,即=8.5,解得x3=8>7.5,符合题意.
课件31张PPT。第2课时 条件结构第一章 1.1.2 程序框图与算法的基本逻辑结构学习目标XUEXIMUBIAO1.掌握条件结构的程序框图的画法.
2.能用条件结构程序框图描述实际问题.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 条件结构在一个算法中,经常会遇到一些条件的判断,算法的流程根据 是否成立有不同的流向.处理这种过程的结构叫条件结构.知识点二 条件结构的两种形式
条件结构的形式及特征条件条件知识点三 条件结构的嵌套
条件结构的嵌套实际上就是将一个条件结构置于另一个条件结构的分支中,这个分支结束后,要与另一个分支交汇.1.条件结构的程序框图中含有顺序结构.( )
2.条件结构的程序框图中可以不含判断框.( )
3.条件结构的判断条件要写在判断框内.( )
4.条件结构的两种形式执行结果可能不同.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU√××√2题型探究PART TWO题型一 条件结构的概念例1 (1)下列算法中,含有条件结构的是
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积解析 解一元二次方程时,当判别式Δ<0时,方程无解,当Δ≥0时,方程有解,由于分情况,故用到条件结构.√ (2)条件结构不同于顺序结构的特征是
A.处理框 B.判断框
C.输入、输出框 D.起止框解析 在条件结构中含有判断框,而顺序结构中没有.√ (3)求下列函数的函数值的算法中需要用到条件结构的是
A.f(x)=x2-1
B.f(x)=2x+1
C.f(x)=
D.f(x)=2x解析 C项中函数f(x)是分段函数,需分类讨论x的取值范围,要用条件结构来设计算法,A,B,D项中均不需要用条件结构.√ 反思感悟 条件结构中含有判断框,且判断框内相应的判定条件是依据所给具体问题设定的.跟踪训练1 下列问题的算法适宜用条件结构表示的是
A.求点P(2,5)到直线l:3x-2y+1=0的距离
B.由直角三角形的两条直角边求斜边
C.解不等式ax+b>0(其中a≠0)
D.计算3个数的平均数√解析 条件结构是处理逻辑判断并根据判断进行不同处理的结构,只有C中需判断a的符号,其余选项中都不含逻辑判断,故选C.题型二 与条件结构有关的读图问题例2 如图所示的程序框图,若输出y的值为3,求输入的x值.当x≤0时,y∈(1,2],此时不可能输出y=3;
当x>0时,令y=2x+1=3,解得x=1,符合题意,
故输入的x的值为1.引申探究
本例中,若输入x的值为-1,则输出y的值为多少?解 由x=-1<0,
故y=2-1+1=反思感悟 (1)理清所要实现的算法的结构特点和流程规则,分析其功能.
(2)抓住条件结构中的条件和流向是关键.跟踪训练2 对任意非零实数a,b,若a?b的运算原理如程序框图所示,则3?2=________.2解析 由于a=3,b=2,则a≤b不成立,题型三 条件结构算法与框图的设计例3 已知函数y= 设计一个算法的程序框图,计算输入x的值,输
出y的值.解 根据题意,其自然语言算法如下:
第一步:输入x.程序框图如图所示:反思感悟 (1)先设计算法,再把算法作步骤转化为框图的形式.
(2)凡是先根据条件作出判断,再决定进行哪一个步骤的问题,在画算法框图时,都必须引入判断框,采用条件结构.
(3)在画出条件结构的框图后,可通过检查各条件分支与已知描述情况是否对应来判断所画框图是否正确.跟踪训练3 画出计算函数y=|x-2|的函数值的程序框图.解 算法如下:
第一步,输入x.
第二步,若x≥2,则y=x-2;否则y=2-x.
第三步,输出y.
程序框图如右.典例 已知函数y= 写出输入一个x值,输出y值的算法并画
出程序框图.核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN条件结构的嵌套解 算法如下:
第一步,输入x.
第二步,如果x<0,那么使y=2x-1,执行第五步;
否则,执行第三步.
第三步,如果x<1,那么使y=x2+1,执行第五步;
否则,执行第四步.
第四步,y=x2+2x.
第五步,输出y.
程序框图如图所示.素养评析 (1)解决分段函数求值问题一般采用条件结构来设计算法.对于判断具有两个以上条件的问题,往往需要用到条件结构的嵌套,这时要注意嵌套的次序.
(2)对于分段函数求值运算问题,首先理解运算对象,运算法则,从而求得运算结果,是数学核心素养之数学运算的集中体现.3达标检测PART THREE1.在如图所示的程序框图中,输入x=2,则输出的结果是
A.1 B.2
C.3 D.4√故输出的y=2.123452.若输入x=-5,按图中所示程序框图运行后,输出的结果是解析 因为x=-5,不满足x>0,所以在第一个判断框中执行“否”,在第二个判断框中,由于-5<0,执行“是”,所以得y=1.12345A.-5 B.0
C.-1 D.1√3.如图所示给出一个算法的程序框图,该程序框图的功能是
A.输出a,b,c三数中的最大数
B.输出a,b,c三数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列解析 先比较a,b的值,把较小的值赋值给a;再比较a,c的值,把较小的值赋值给a,输出a.12345√4.已知函数y=|x-3|,如图表示的是给定x的值,求其相应函数的值的算法.请将该程序框图补充完整,其中①处应填_______________,②处应填________.x<3?或x≤3?12345y=x-35.某次考试,为了统计成绩情况,设计了如图所示的程序框图.当输入一个同学的成绩x=75时,输出结果为________.12345及格解析 由于75<80,在程序框图中的第一个判断框中,将按“否”的指向进入第二个判断框,又因为75≥60,将按“是”的指向,所以输出的是“及格”.课堂小结KETANGXIAOJIE1.条件结构是程序框图的重要组成部分.其特点是先判断后执行.
2.在利用条件结构画程序框图时要注意两点:一是需要判断条件是什么,二是条件判断后分别对应着什么样的结果.
3.设计程序框图时,首先设计算法步骤,再转化为程序框图,待熟练后可以省略算法步骤直接画出程序框图.对于算法中分类讨论的步骤,通常设计成条件结构来解决.第3课时 循环结构
学习目标 1.掌握当型和直到型两种循环结构的程序框图的画法.2.理解两种循环结构程序框图的执行功能,并能正确解题.
知识点一 循环结构
1.循环结构的定义
在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体.
2.循环结构的特点
(1)重复性:在一个循环结构中,总有一个过程要重复一系列的步骤若干次,而且每次的操作完全相同.
(2)判断性:每个循环结构都包含一个判断条件,它决定这个循环的执行与终止.
(3)函数性:循环变量在构造循环结构中起了关键作用,蕴含着函数的思想.
知识点二 两种循环结构的比较
常见的两种循环结构
名称
结构图
特征
直到型循环结构
先执行循环体后判断条件,若不满足条件则执行循环体,否则终止循环
当型循环结构
先对条件进行判断,满足时执行循环体,否则终止循环
思考 两种循环结构会导致执行结果不一样吗?
答案 不会.两种循环结构形式虽然不一样,但不会导致执行结果的变化.
1.循环结构中,判断框内的条件不是唯一的.( √ )
2.判断框中的条件成立时,要结束循环向下执行.( × )
3.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”.( √ )
4.循环结构中,不一定都有条件结构.( × )
题型一 循环结构程序框图的运行
例1 (1)阅读如图所示的程序框图,运行相应的程序,则输出S的值为( )
A.15 B.105 C.245 D.945
(2)如图所示,程序框图的输出结果是________.
答案 (1)B (2)
解析 (1)当i=1时,T=3,S=3;当i=2时,T=5,
S=15;当i=3时,T=7,S=105,当i=4时输出S=105.
(2)第一次循环:s=,n=4,
第二次循环:s=+=,n=6,
第三次循环:s=+=,n=8<8不成立,退出循环,输出结果为.
反思感悟 利用循环结构解决问题的“三个确定”:
(1)确定循环变量及初始值,弄清循环变量表示的意义、取值范围及变化规律.
(2)确定循环体的功能,根据实际情况确定采用哪种循环结构.
(3)确定循环结构的终止条件,弄清不等号的方向及是否含有等号.
跟踪训练1 运算如图所示的程序框图,输出S的值是________.
答案 3
解析 由题意可知S,k的取值如下表:
k
1
2
3
4
…
S
-
3
-
…
故S的取值周期为3,所以当k=2 019时,进入循环得到S的值为3,k又被赋值为2 020,退出循环,故输出S的值为3.
题型二 循环结构的程序框图的设计
例2 设计一个计算1+2+…+100的值的算法,并画出程序框图.
解 方法一 第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
程序框图:
方法二 第一步,令i=1,S=0.
第二步,S=S+i.
第三步,i=i+1.
第四步,若i>100不成立,则返回第二步;否则,输出S,结束算法.
程序框图:
反思感悟 两种循环结构的联系和区别
(1)联系
①当型循环结构与直到型循环结构可以相互转化;
②循环结构中必然包含条件结构,以保证在适当的时候终止循环;
③循环结构只有一个入口和一个出口;
④循环结构内不存在死循环,即不存在无终止的循环.
(2)区别
直到型循环结构是先执行一次循环体,然后再判断是否继续执行循环体,当型循环结构是先判断是否执行循环体;直到型循环结构是在条件不满足时执行循环体,当型循环结构是在条件满足时执行循环体.要掌握这两种循环结构,必须抓住它们的区别.
跟踪训练2 设计算法求1×2×3×…×2 018×2 019的值,并画出程序框图.
解 算法如下:
第一步,设M的值为1.
第二步,设i的值为2.
第三步,如果i≤2 019,则执行第四步;否则执行第六步.
第四步,计算M=M×i.
第五步,计算i=i+1,返回执行第三步.
第六步,输出M的值,并结束算法.
程序框图如图所示.
题型三 利用循环结构求满足条件的最值问题
例3 写出一个求满足1×3×5×7×…×n>50 000的最小正整数n的算法,并画出相应的程序框图.
解 算法如下:
第一步,S=1.
第二步,n=3.
第三步,如果S≤50 000,那么S=S×n,n=n+2,重复第三步;否则,执行第四步.
第四步,n=n-2.
第五步,输出n.
程序框图如图所示.
反思感悟 (1)在使用循环结构时,需恰当地设置累加(乘)变量和计数变量,在循环体中要设置循环终止的条件.
(2)在最后输出结果时,要避免出现多循环一次或少循环一次的情况.
跟踪训练3 设计一个程序框图,求满足1+2+3+…+n>2 019的最小正整数n.
解 程序框图如图所示.
循环结构在实际中的应用
典例 以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,
94,60.要求将80分以上的同学的平均分求出来,请画出程序框图.
解 程序框图如图所示.
[素养评析] (1)应用循环结构解决实际问题的策略
(2)通过对实际问题进行分析,建立用循环结构解决问题的模型,这就是用数学方法构建模型解决问题的素养.
1.下列框图是循环结构的是( )
A.①② B.②③ C.③④ D.②④
答案 C
解析 由循环结构的特点知③④是循环结构,而①是顺序结构,②是条件结构.
2.阅读如图的程序框图,运行相应的程序,则输出S的值为( )
A.-10 B.6 C.14 D.18
答案 B
解析 执行程序:S=20,i=1,i=2,S=20-2=18;i=4,S=18-4=14;i=8,S=14-8=6,满足i>5的条件,结束循环,输出S的值为6,故选B.
3.如图所示的程序框图输出的S是126,则①应为( )
A.n≤5? B.n≤6? C.n≤7? D.n≤8?
答案 B
解析 2+22+23+24+25+26=126,所以应填“n≤6?”.
4.如图所示的程序框图输出的结果是________.
答案 360
解析 该程序框图的执行过程是
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.
5.运行如图所示的程序框图,则输出的T=________.
答案 20
解析 T=0,S=0,T≤S成立.执行第一次循环后,S=4,n=2,T=2,T≤S仍成立.执行第二次循环后,S=8,n=4,T=6,T≤S仍成立.执行第三次循环后,S=12,n=6,T=12,T≤S仍成立.执行第四次循环后,S=16,n=8,T=20,T≤S不成立,故输出T的值为20.
1.(1)循环结构是指在算法中需要重复执行一条或多条指令的控制结构;
(2)在循环结构中,通常都有一个起循环计数作用的变量,即计数变量;
(3)循环变量、循环体、循环终止条件称为循环结构的三要素.
2.画程序框图要注意:
(1)使用标准的框图符号;
(2)框图一般按从上到下、从左到右的方向画;
(3)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;
(4)框图中若出现循环结构,一定要分清当型和直到型结构的不同;
(5)在图形符号内描述的语言要非常简练、清楚.
一、选择题
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.(2017·山东)执行两次如图所示的程序框图,若第一次输入的x的值为7,第二次输入的x的值为9,则第一次、第二次输出的a的值分别为( )
A.0,0 B.1,1 C.0,1 D.1,0
答案 D
解析 当输入x=7时,b=2,因为b2>x不成立且x不能被b整除,故b=3,这时b2>x成立,故a=1,输出a的值为1.
当输入x=9时,b=2,因为b2>x不成立且x不能被b整除,故b=3,这时b2>x不成立且x能被b整除,故a=0,输出a的值为0.
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=132,若要使输出的结果为1 320,则正确的修改方法是( )
A.①处改为k=13,S=1 B.②处改为k<10?
C.③处改为S=S×(k-1) D.④处改为k=k-2
答案 B
解析 由题设条件可以看出,此程序是一个求几个数的连乘积的问题.
由于1 320=10×11×12,
故判断框中应改为k≤9?或者k<10?.故选B.
5.已知某算法的程序框图如图所示,输入的x和y均为自然数,若输出的有序数对为(13,14),则开始输入的有序数对(x,y)可能为( )
A.(6,7) B.(7,6) C.(4,5) D.(5,4)
答案 B
解析 设开始输入的有序数对为(x0,y0),当n=1时,x=y0+1,y=y0+2;当n=2时,x=y0+3,y=y0+4;当n=3时,x=y0+5,y=y0+6;当n=4时,x=y0+7,y=y0+8;当n=5时,循环结束.故输出的有序数对为(y0+7,y0+8)=(13,14),所以y0=6.故选B.
6.执行如图所示的程序框图后,输出的值为4,则P的取值范围是( )
A.<P≤ B.P>
C.<P≤ D.≤P<
答案 C
解析 ∵S<P时,执行循环体,S≥P时输出n=4,
∴S加上的最后一项为=,此时S=++=,
∴≥P,结合输出的值为4知,<P≤.
7.如图给出的是计算+++…+的值的一个程序框图,其中判断框内应填入的条件是( )
A.i<10? B.i≤10?
C.i>10? D.i≥10?
答案 C
解析 S=+++…+,并由程序框图中S=S+知i的初值为1,终值为10,步长为1,故经过10次循环才能算出S=+++…+的值,所以i≤10时应不满足条件,继续循环,i>10时满足条件,退出循环体,故选C.
8.如果执行如图所示的程序框图,那么输出的S为( )
A.24 B.25
C.30 D.20
答案 C
解析 框图表示的运算是S=2+4+…+10,其运算结果为30.
二、填空题
9.执行如图所示的程序框图,若输入n的值为3,则输出结果为________.
答案 8
解析 根据程序框图得,
第一次进入循环体后,S=1×2=2,k=1+1=2;
第二次进入循环体后,S=2×2=4,k=2+1=3;
第三次进入循环体后,S=4×2=8,k=3+1=4,
此时不满足条件k≤3,退出循环,
故输出的结果是8.
10.执行如图所示的程序框图,输出的S值为________.
答案 4
解析 模拟程序框图的运行,输入S=1,i=1,
满足条件i<4,i=2,S==2;
满足条件i<4,i=3,S==3;
满足条件i<4,i=4,S==4.
不满足条件i<4,退出循环体,输出S的值为4.
三、解答题
11.设计求使1+2+3+4+5+…+n<100成立的最大自然数n的值的算法,并画出程序框图.
解 算法:第一步,令S=0,n=1.第二步,S=S+n.
第三步,n=n+1.第四步,若S≥100,
则输出n-2,结束算法;否则,返回第二步.程序框图如图所示.
12.根据条件把图中的程序框图补充完整,求区间[1,1 000]内所有奇数的和,(1)处填________;(2)处填________.
答案 (1)S=S+i (2)i=i+2
解析 求[1,1 000]内所有奇数的和,
初始值i=1,S=0,并且i<1 000时执行循环体,
所以(1)处应填“S=S+i”,(2)处应填“i=i+2”.
13.如图所示的程序框图,输出S的值是,则判断框内应填( )
A.n<2 018? B.n≤2 017?
C.n≤2 019? D.n≤2 018?
答案 D
解析 由程序框图可知,该程序的功能是利用循环结构输出1××××…×=的值,
若输出S的值是,
则循环变量的终值为2 018,
故判断框内应填入n≤2 018?,
故选D.
课件31张PPT。第3课时 循环结构第一章 1.1.2 程序框图与算法的基本逻辑结构学习目标XUEXIMUBIAO1.掌握当型和直到型两种循环结构的程序框图的画法.
2.理解两种循环结构程序框图的执行功能,并能正确解题.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 循环结构
1.循环结构的定义
在一些算法中,经常会出现从某处开始,按照一定的条件 某些步骤的情况,这就是循环结构.反复执行的步骤称为 .
2.循环结构的特点
(1)重复性:在一个循环结构中,总有一个过程要重复一系列的步骤若干次,而且每次的操作完全相同.
(2)判断性:每个循环结构都包含一个判断条件,它决定这个循环的执行与终止.
(3)函数性:循环变量在构造循环结构中起了关键作用,蕴含着函数的思想.反复执行循环体知识点二 两种循环结构的比较
常见的两种循环结构执行循环体终止循环执行循环体思考 两种循环结构会导致执行结果不一样吗?答案 不会.两种循环结构形式虽然不一样,但不会导致执行结果的变化.终止循环1.循环结构中,判断框内的条件不是唯一的.( )
2.判断框中的条件成立时,要结束循环向下执行.( )
3.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”.( )
4.循环结构中,不一定都有条件结构.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU√××√2题型探究PART TWO题型一 循环结构程序框图的运行例1 (1)阅读如图所示的程序框图,运行相应的程序,则输出S的值为
A.15 B.105
C.245 D.945解析 当i=1时,T=3,S=3;
当i=2时,T=5,S=15;
当i=3时,T=7,S=105,
当i=4时输出S=105.√ (2)如图所示,程序框图的输出结果是______.反思感悟 利用循环结构解决问题的“三个确定”:
(1)确定循环变量及初始值,弄清循环变量表示的意义、取值范围及变化规律.
(2)确定循环体的功能,根据实际情况确定采用哪种循环结构.
(3)确定循环结构的终止条件,弄清不等号的方向及是否含有等号.跟踪训练1 运算如图所示的程序框图,输出S的值是____.3解析 由题意可知S,k的取值如下表:故S的取值周期为3,
所以当k=2 019时,进入循环得到S的值为3,k又被赋值为2 020,退出循环,故输出S的值为3.题型二 循环结构的程序框图的设计例2 设计一个计算1+2+…+100的值的算法,并画出程序框图.解 方法一 第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;
否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
程序框图:方法二 第一步,令i=1,S=0.
第二步,S=S+i.
第三步,i=i+1.
第四步,若i>100不成立,则返回第二步;
否则,输出S,结束算法.
程序框图:反思感悟 两种循环结构的联系和区别
(1)联系
①当型循环结构与直到型循环结构可以相互转化;
②循环结构中必然包含条件结构,以保证在适当的时候终止循环;
③循环结构只有一个入口和一个出口;
④循环结构内不存在死循环,即不存在无终止的循环.
(2)区别
直到型循环结构是先执行一次循环体,然后再判断是否继续执行循环体,当型循环结构是先判断是否执行循环体;直到型循环结构是在条件不满足时执行循环体,当型循环结构是在条件满足时执行循环体.要掌握这两种循环结构,必须抓住它们的区别.跟踪训练2 设计算法求1×2×3×…×2 018×2 019的值,并画出程序框图.解 算法如下:
第一步,设M的值为1.
第二步,设i的值为2.
第三步,如果i≤2 019,则执行第四步;否则执行第六步.
第四步,计算M=M×i.
第五步,计算i=i+1,返回执行第三步.
第六步,输出M的值,并结束算法.
程序框图如图所示.题型三 利用循环结构求满足条件的最值问题例3 写出一个求满足1×3×5×7×…×n>50 000的最小正整数n的算法,并画出相应的程序框图.解 算法如下:
第一步,S=1.
第二步,n=3.
第三步,如果S≤50 000,那么S=S×n,n=n+2,重复第三步;
否则,执行第四步.
第四步,n=n-2.
第五步,输出n.
程序框图如图所示.反思感悟 (1)在使用循环结构时,需恰当地设置累加(乘)变量和计数变量,在循环体中要设置循环终止的条件.
(2)在最后输出结果时,要避免出现多循环一次或少循环一次的情况.跟踪训练3 设计一个程序框图,求满足1+2+3+…+n>2 019的最小正整数n.解 程序框图如图所示.核心素养之数学建模HEXINSUYANGZHISHUXUEJIANMO循环结构在实际中的应用典例 以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,
73,64,77,82,94,60.要求将80分以上的同学的平均分求出来,请画出程序框图.解 程序框图如图所示.素养评析 (1)应用循环结构解决实际问题的策略(2)通过对实际问题进行分析,建立用循环结构解决问题的模型,这就是用数学方法构建模型解决问题的素养.3达标检测PART THREE1.下列框图是循环结构的是解析 由循环结构的特点知③④是循环结构,而①是顺序结构,②是条件结构.12345A.①② B.②③ C.③④ D.②④√2.阅读如图的程序框图,运行相应的程序,则输出S的值为
A.-10 B.6
C.14 D.18解析 执行程序:S=20,i=1,i=2,S=20-2=18;i=4,S=18-4=14;i=8,S=14-8=6,满足i>5的条件,结束循环,输出S的值为6,故选B.12345√3.如图所示的程序框图输出的S是126,则①应为
A.n≤5? B.n≤6?
C.n≤7? D.n≤8?解析 2+22+23+24+25+26=126,所以应填“n≤6?”.12345√4.如图所示的程序框图输出的结果是________.36012345解析 该程序框图的执行过程是
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.5.运行如图所示的程序框图,则输出的T=________.1234520解析 T=0,S=0,T≤S成立.
执行第一次循环后,S=4,n=2,T=2,T≤S仍成立.
执行第二次循环后,S=8,n=4,T=6,T≤S仍成立.
执行第三次循环后,S=12,n=6,T=12,T≤S仍成立.
执行第四次循环后,S=16,n=8,T=20,T≤S不成立,故输出T的值为20.课堂小结KETANGXIAOJIE1.(1)循环结构是指在算法中需要重复执行一条或多条指令的控制结构;
(2)在循环结构中,通常都有一个起循环计数作用的变量,即计数变量;
(3)循环变量、循环体、循环终止条件称为循环结构的三要素.
2.画程序框图要注意:
(1)使用标准的框图符号;
(2)框图一般按从上到下、从左到右的方向画;
(3)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;
(4)框图中若出现循环结构,一定要分清当型和直到型结构的不同;
(5)在图形符号内描述的语言要非常简练、清楚.§1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
学习目标 1.了解输入语句、输出语句和赋值语句的作用.2.理解这些语句与相应逻辑结构的关系,并能转化为算法语句.
知识点一 输入语句
输入语句的格式:INPUT “提示内容”;变量.
输入语句的功能:输入提示内容要求的相应信息或值.即把程序使用者新输入的值赋给变量.
知识点二 输出语句
输出语句的格式及功能
(1)格式:PRINT “提示内容”;表达式.
(2)功能:
知识点三 赋值语句
赋值语句的格式及功能
(1)格式:变量=表达式.
(2)功能:将表达式所代表的值赋给变量.一般先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.
思考 赋值语句中的“=”和平时所用的“=”意义相同吗?
答案 意义不同,赋值语句中的“=”叫赋值号,它表示把右边的表达式所代表的常量、变量或算式赋给左边的变量,如C=Y+Z表示把计算Y+Z所得的值赋给C.
1.输入语句的作用是计算.( × )
2.输出语句的作用是实现算法的输出结果功能.( √ )
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)下列给出的输入、输出语句正确的是( )
①输入语句INPUT a;b;c
②输入语句INPUT x=3
③输出语句PRINT A=4
④输出语句PRINT 20,3*2
A.①② B.②③ C.③④ D.④
答案 (1)B (2)D
解析 (1)提示内容与输入内容之间要用“;”隔开,故A错;提示内容在前,输入内容在后,故C错;输入语句用“INPUT”而非“PRINT”,故D错.
(2)①INPUT语句可以给多个变量赋值,变量之间用“,”隔开;②INPUT语句中只能是变量,而不能是表达式;③PRINT语句中不用赋值号“=”;④PRINT语句可以输出常量、表达式的值.
反思感悟 (1)输入语句没有计算功能,只能输入常量;而输出语句有计算功能,可以输出常量、变量或表达式的值以及字符.
(2)“提示内容”和变量之间用分号隔开,若输入(出)多个数,各数之间应用逗号隔开,“提示内容”可以省略.
(3)程序中运算符号要规范,输出语句中不用赋值号“=”,这是易错点.
跟踪训练1 (1)下列给出的输入语句正确的是______.(填序号)
①INPUT a;b;c;②INPUT x=3;
③INPUT a,b,c;④INPUT “a=,b=”,a,b;
⑤INPUT “a=,b=”a,b.
(2)下列给出的输出语句正确的是________.(填序号)
①PRINT A=4;②PRINT “你的姓名”XM;
③PRINT a,b,c;④PRINT 5*6;
⑤PRINT S.
答案 (1)③ (2)③④⑤
解析 (1)判断一个输入语句正确与否,关键是要理解输入语句的格式:INPUT “提示内容”;变量,另外,还要注意一些需要记住的细节部分.
(2)结合输出语句的格式,对照说明内容,比较可得结论.
题型二 赋值语句的应用
例2 (1)下列给出的赋值语句正确的有________个.
①x=2*y+z;②x=3;③x+y=7;④y=3.14*4.
(2)下列程序的运行结果为________.
x=1
x=x*2
x=x*3
x=x*4
PRINT x*5
END
答案 (1)3 (2)120
解析 (1)赋值语句的格式是:变量=表达式,故①②④正确,③错误.
(2)由赋值语句的特点,可知结果为1×2×3×4×5,故答案为120.
反思感悟 赋值号与数学中的等号的意义是不完全相同的,是以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.如:N=N+1,是将N的原值加1再赋给N.
跟踪训练2 (1)下面程序的运行结果为________.
a=2
a=2+a
a=a-5
PRINT 1/a
END
(2)下面语句执行后输出的i=________,j=________.
i=5
j=-2
i=i+j
j=i+j
PRINT i,j
END
答案 (1)-1 (2)3 1
解析 (1)程序如下:
第二句给a赋值后a=4,
第三句给a赋值后a=-1,
故最后输出为=-1.
(2)第一句把5赋给i,第二句把-2赋给j,第三句把5+(-2)的值3赋给i,第四句把3+(-2)的值1赋给j,并最终输出3,1.
题型三 算法语句与程序框图的转换
例3 已知一个正三棱柱的底面边长为a,高为h,求解这个正三棱柱的表面积和体积的程序框图如图,根据程序框图,写出求这个正三棱柱的表面积和体积的程序.
解 程序如下.
INPUT “a,h=”;a,h
S=SQR(3(*a^2/4
V=S*h
C=3*a
T=C*h
P=T+2*S
PRINT “体积:”;V
PRINT “表面积:”;P
END
反思感悟 程序框图是算法的一种直观表示,而程序设计语言则是将框图转化为计算机能读懂的一种表示形式,二者之间联系密切.
跟踪训练3 阅读下面的程序,根据程序画出程序框图.
INPUT “x,y=”;x,y
m=x/4
n=2*y
PRINT m,n
x=x+2
y=y-1
PRINT x,y
END
解 程序框图如图所示.
运算程序的设计
典例 编写一个程序,要求输入两个正数a和b的值,输出ab与ba的值.
解 程序为:
INPUT “a,b=”;a,b
A=a^b
B=b^a
PRINT “a^b=”;A
PRINT “b^a=”;B
END
[素养评析] (1)在任何一个程序中输入、输出、赋值语句是不可缺少的,它们在程序中各有作用.解决实际问题时,先将语句转译为数学语言,然后求解.
(2)选择运算方法,设计运算程序是数学运算素养的重要体现.
1.下列赋值语句正确的为( )
A.x2+2x=5 B.x=x+5
C.0=0 D.x=2y=
答案 B
解析 依据赋值语句的格式“变量=表达式”可知选项A,C错误;而选项D中一次给多个变量同时赋值,故选项D错误,故选B.
2.下面的程序输出的结果是( )
a=2
b=5
c=a+b
a=c+4
PRINT a,b
END
A.2,5 B.4,5 C.11,5 D.7,5
答案 C
解析 第三句给c赋值后c=7,
第四句给a赋值后a=11,故最后输出11,5.
3.下列程序执行后结果为3,则输入的x值为( )
INPUT “x=”;x
y=x*x+2*x
PRINT y
END
A.1 B.-3 C.-1 D.1或-3
答案 D
解析 由题意得,x2+2x=3,
解方程得x=1或x=-3.
4.下面一段程序执行后的结果是________.
A=2
A=A*2
A=A+6
PRINT A
END
答案 10
解析 先把2赋给A,然后把A*2赋给A,
即A的值为4,再把4+6=10赋给A,
所以输出的结果为10.
5.根据如图所示的程序框图,写出相应的算法语句.
解 程序如下:
INPUT “x,y=”;x,y
x=2*x
y=y/4
PRINT x,y
x=x-y
y=y-2
PRINT x,y
END
1.需输入信息时用INPUT语句,需输出信息时用PRINT语句,当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.
2.赋值语句是一个程序必不可少的重要组成部分,使用赋值语句,一定要注意其格式要求,不能利用赋值语句进行代数式计算等.
一、选择题
1.下列给变量赋值的语句正确的是( )
A.5=a B.a+2=a
C.a=b=4 D.a=2*a
答案 D
解析 A错,因为赋值语句的左右两边不能对换,赋值语句是将赋值号右边表达式的值赋给赋值号左边的变量;B错,赋值语句左边是一个变量,而不是代数式;C错,因为赋值语句不能把一个值同时赋给两个变量;D项正确.
2.运行如图所示的程序,输出的结果是( )
a=1
b=2
a=a+b
PRINT a
END
A.3 B.4 C.1 D.2
答案 A
解析 a=1,b=2,把1与2的和赋给a,即a=3,输出的结果为3.
3.给出下列程序,若输入x=2,y=3,则输出x,y的值分别为( )
INPUT x,y
A=x
x=y
y=A
PRINT x,y
END
A.2,3 B.2,2
C.3,3 D.3,2
答案 D
解析 该程序的运行过程是:
输入2,3
A=2
x=3
y=2
输出3,2
即x,y的值分别为3,2.
4.执行如图所示的程序,若输入的a,b的值分别为1,2,则输出c的值为( )
INPUT a,b
a=b
c=a+b
PRINT c
END
A.2 B.3
C.4 D.5
答案 C
解析 由题意可得a=1,b=2;a=2,c=2+2=4,所以输出c的值为4.故选C.
5.下列程序的运行结果是( )
a=2
b=3
c=4
a=b
b=a+c
c=b+a
a=(a+b+c(/2
PRINT a
END
A.3 B.6 C.10 D.20
答案 C
解析 由于a=2,b=3,c=4,
运行程序可得
由a=b,得a=3,
由b=a+c,得b=7,
由c=b+a,得c=10,
由a=,
得a=10.
6.如图所示,如果下面程序中输入的r=,f(r)是用来求圆内接正方形边长a的一个函数,则输出的结果为( )
INPUT “r=”;r
a=f(r(
S1=3.14*r*r
S2=a*a
S=S1-S2
PRINT “S=”;S
END
A.4 B.6.28 C.2.28 D.3.14
答案 C
解析 由程序可知,S1表示的是半径为r的圆的面积;S2表示的是边长为a的正方形的面积,由图可知该正方形是圆的内接正方形,所以其边长a=r;S表示圆的面积与正方形的面积之差,即图中阴影部分的面积S=S1-S2.
由已知r=,故a=r=2,
所以S1=3.14×()2=6.28,S2=a2=22=4,
故S=S1-S2=6.28-4=2.28.
7.下列程序执行后,变量a,b的值分别为( )
a=15
b=20
a=a+b
b=a-b
a=a-b
PRINT a,b
END
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.
8.“x=5*6”“x=x+2”是某程序中先后相邻的两个语句,那么下列说法正确的是( )
①x=5*6的意思是x=5×6=30,此式与代数运算中的式子是一样的;
②x=5*6是将数值30赋给“x”;
③x=5*6可以写成5*6=x;
④语句x=x+2在执行时“=”右边“x”的值是30,左边的值是32.
A.①③ B.②④ C.①④ D.②③
答案 B
解析 赋值号与等号意义不一样,故①错误;赋值语句中左边是变量,右边是表达式,所以②正确,③错误;x=x+2的意思就是将前面x的值加上2赋给x,故④也正确.
9.给出下列程序:
INPUT “实数”;x1,y1,x2,y2
a=x1-x2
m=a^2
b=y1-y2
n=b^2
s=m+n
d=SQR(s(
PRINT d
END
此程序的功能(SQR()是一个函数,用来求某个非负数的算术平方根)为( )
A.求点到直线的距离
B.求两点之间的距离
C.求一个多项式函数的值
D.求输入的值的平方和
答案 B
解析 输入的四个实数可作为两个点的坐标,程序中的a,b分别表示两个点的横、纵坐标之差,而m,n分别表示两点横、纵坐标之差的平方.s是横、纵坐标之差的平方和,d是平方和的算术平方根,即两点之间的距离,最后输出此距离.
10.执行下列算法语句后的结果(x MOD y表示整数x除以整数y的余数)为( )
INPUT “x,y=”;x,y
A=x*y
B=x MOD y
C=A*y+B
PRINT A,B,C
END
(运行时从键盘上输入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
解析 第一句输入x=16,y=5,
第二句A=xy=80,
第三句B取x除以y的余数,即B=1,
第四句C=80×5+1=401,
故选A.
二、填空题
11.若输入3,2,6,则下面的程序运行后输出的结果是________.
INPUT “A,B,C=”;A,B,C
A=A+B
B=B-A
C=C/B+A
C=C/2
PRINT C
END
答案
解析 程序执行“A=A+B”后,A=5;
执行“B=B-A”后,B=2-5=-3;
执行“C=C/B+A”后,C=-+5=3;
执行“C=C/2”后,C=.
故输出的结果为.
12.下面程序的功能是求所输入的两个正数的平方和,已知最后输出的结果为3.46,试据此将程序补充完整.
INPUT “x1=”;1.1
INPUT “x2=”;
S=
PRINT S
END
答案 1.5 x1^ 2+x2^ 2
解析 因为程序的功能是求所输入的两个正数的平方和,所以S=x+x,
又因为最后输出的结果是3.46,
所以3.46=1.12+x,
解得x=2.25.
又因为x2是正数,
所以x2=1.5.
三、解答题
13.编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积(π取3.14).
解 程序如下:
INPUT “R=”;R
C=2*3.14*R
S=3.14*R^2
PRINT “C=”;C
PRINT “S=”;S
END
14.阅读如下两个程序,完成下列问题.
程序Ⅰ
x=0
x=x+2
x=x+3
PRINT x
END
程序Ⅱ
INPUT x
y=x*x+6*x+10
PRINT y
END
(1)程序Ⅰ的运行结果为________;
(2)若程序Ⅱ与程序Ⅰ运行结果相同,则程序Ⅱ输入的值为________.
答案 (1)5 (2)-1或-5
解析 (1)Ⅰ中,运行“x=x+2”后,x=2,
运行“x=x+3”后,x=5,故输出x的值是5.
(2)Ⅱ的功能是求y=x2+6x+10的函数值,
由题意Ⅱ中y=5,∴x2+6x+10=5,即x=-1或-5.
输入的值为-1或-5.
15.“鸡兔同笼”问题是我国古代著名的趣题之一.大约在1500年前,《孙子算经》中就记载了这个有趣的问题.书中这样描述:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔几何?
试设计一个算法,输入鸡兔的总数和鸡兔的脚的总数,分别输出鸡、兔的数量,并编写程序,画出相应的程序框图.
解 算法步骤如下:第一步,输入鸡和兔的总数量M.
第二步,输入鸡和兔的脚的总数量N.
第三步,鸡的数量为A=.
第四步,兔的数量为B=M-A.
第五步,输出A,B,得出结果.
程序如下:
INPUT “鸡和兔的总数量为:”;M
INPUT “鸡和兔的脚的总数量为:”;N
A=(4*M-N(/2
B=M-A
PRINT “鸡的数量为:”;A
PRINT “兔的数量为:”;B
END
程序框图如图所示:
课件32张PPT。1.2.1 输入语句、输出语句和赋值语句第一章 §1.2 基本算法语句学习目标XUEXIMUBIAO1.了解输入语句、输出语句和赋值语句的作用.
2.理解这些语句与相应逻辑结构的关系,并能转化为算法语句.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 输入语句输入语句的格式:INPUT ;变量.
输入语句的功能:输入提示内容要求的相应信息或值.即把程序使用者
的值赋给变量.“提示内容”新输入知识点二 输出语句输出语句的格式及功能
(1)格式:PRINT ;表达式.“提示内容”(2)功能:①输出 、 的值和 信息;②进行数值计算并输出结果.常量变量系统知识点三 赋值语句赋值语句的格式及功能
(1)格式: .
(2)功能:将表达式所代表的值赋给变量.一般先计算“=”右边 ,然后把这个值赋给“=”左边的 .变量=表达式表达式的值变量思考 赋值语句中的“=”和平时所用的“=”意义相同吗?答案 意义不同,赋值语句中的“=”叫赋值号,它表示把右边的表达式所代表的常量、变量或算式赋给左边的变量,如C=Y+Z表示把计算Y+Z所得的值赋给C.1.输入语句的作用是计算.( )
2.输出语句的作用是实现算法的输出结果功能.( )
3.赋值语句的作用是把赋值号左边的值赋给右边.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU×√×2题型探究PART TWO题型一 输入语句和输出语句例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解析 提示内容与输入内容之间要用“;”隔开,故A错;
提示内容在前,输入内容在后,故C错;
输入语句用“INPUT”而非“PRINT”,故D错.√(2)下列给出的输入、输出语句正确的是
①输入语句INPUT a;b;c
②输入语句INPUT x=3
③输出语句PRINT A=4
④输出语句PRINT 20,3*2
A.①② B.②③ C.③④ D.④解析 ①INPUT语句可以给多个变量赋值,变量之间用“,”隔开;
②INPUT语句中只能是变量,而不能是表达式;
③PRINT语句中不用赋值号“=”;
④PRINT语句可以输出常量、表达式的值.√反思感悟 (1)输入语句没有计算功能,只能输入常量;而输出语句有计算功能,可以输出常量、变量或表达式的值以及字符.
(2)“提示内容”和变量之间用分号隔开,若输入(出)多个数,各数之间应用逗号隔开,“提示内容”可以省略.
(3)程序中运算符号要规范,输出语句中不用赋值号“=”,这是易错点.跟踪训练1 (1)下列给出的输入语句正确的是______.(填序号)
①INPUT a;b;c;
②INPUT x=3;
③INPUT a,b,c;
④INPUT “a=,b=”,a,b;
⑤INPUT “a=,b=”a,b.③解析 判断一个输入语句正确与否,关键是要理解输入语句的格式:INPUT “提示内容”;变量,另外,还要注意一些需要记住的细节部分.(2)下列给出的输出语句正确的是________.(填序号)
①PRINT A=4;
②PRINT “你的姓名”XM;
③PRINT a,b,c;
④PRINT 5*6;
⑤PRINT S.③④⑤解析 结合输出语句的格式,对照说明内容,比较可得结论.题型二 赋值语句的应用例2 (1)下列给出的赋值语句正确的有___个.
①x=2*y+z;②x=3;③x+y=7;④y=3.14*4.3解析 赋值语句的格式是:变量=表达式,故①②④正确,③错误.(2)右列程序的运行结果为_______.解析 由赋值语句的特点,可知结果为1×2×3×4×5,故答案为120.x=1
x=x*2
x=x*3
x=x*4
PRINT x*5
END120反思感悟 赋值号与数学中的等号的意义是不完全相同的,是以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.如:N=N+1,是将N的原值加1再赋给N.跟踪训练2 (1)下面程序的运行结果为_____.解析 程序如下:
第二句给a赋值后a=4,
第三句给a赋值后a=-1,a=2
a=2+a
a=a-5
PRINT 1/a
END-1(2)下面语句执行后输出的i=________,j=________.解析 第一句把5赋给i,第二句把-2赋给j,第三句把5+(-2)的值3赋给i,第四句把3+(-2)的值1赋给j,并最终输出3,1.3i=5
j=-2
i=i+j
j=i+j
PRINT i,j
END1例3 已知一个正三棱柱的底面边长为a,高为h,求解这个正三棱柱的表面积和体积的程序框图如图,根据程序框图,写出求这个正三棱柱的表面积和体积的程序.题型三 算法语句与程序框图的转换解 程序如下.INPUT “a,h=”;a,h
S=SQR(3)*a^2/4
V=S*h
C=3*a
T=C*h
P=T+2*S
PRINT “体积:”;V
PRINT “表面积:”;P
END反思感悟 程序框图是算法的一种直观表示,而程序设计语言则是将框图转化为计算机能读懂的一种表示形式,二者之间联系密切.跟踪训练3 阅读下面的程序,根据程序画出程序框图.解 程序框图如图所示.INPUT “x,y=”;x,y
m=x/4
n=2*y
PRINT m,n
x=x+2
y=y-1
PRINT x,y
END典例 编写一个程序,要求输入两个正数a和b的值,输出ab与ba的值.核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN运算程序的设计解 程序为:INPUT “a,b=”;a,b
A=a^b
B=b^a
PRINT “a^b=”;A
PRINT “b^a=”;B
END素养评析 (1)在任何一个程序中输入、输出、赋值语句是不可缺少的,它们在程序中各有作用.解决实际问题时,先将语句转译为数学语言,然后求解.
(2)选择运算方法,设计运算程序是数学运算素养的重要体现.3达标检测PART THREE1.下列赋值语句正确的为
A.x2+2x=5 B.x=x+5
C.0=0 D.x=2y=√解析 依据赋值语句的格式“变量=表达式”可知选项A,C错误;
而选项D中一次给多个变量同时赋值,故选项D错误,故选B.123452.右面的程序输出的结果是
A.2,5 B.4,5
C.11,5 D.7,5√解析 第三句给c赋值后c=7,
第四句给a赋值后a=11,故最后输出11,5.a=2
b=5
c=a+b
a=c+4
PRINT a,b
END123453.右列程序执行后结果为3,则输入的x值为
A.1 B.-3
C.-1 D.1或-3INPUT “x=”;x
y=x*x+2*x
PRINT y
END√解析 由题意得,x2+2x=3,
解方程得x=1或x=-3.123454.右面一段程序执行后的结果是______.10A=2
A=A*2
A=A+6
PRINT A
END解析 先把2赋给A,然后把A*2赋给A,
即A的值为4,再把4+6=10赋给A,
所以输出的结果为10.12345解 程序如下:5.根据如图所示的程序框图,写出相应的算法语句.INPUT “x,y=”;x,y
x=2*x
y=y/4
PRINT x,y
x=x-y
y=y-2
PRINT x,y
END12345课堂小结KETANGXIAOJIE1.需输入信息时用INPUT语句,需输出信息时用PRINT语句,当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.
2.赋值语句是一个程序必不可少的重要组成部分,使用赋值语句,一定要注意其格式要求,不能利用赋值语句进行代数式计算等.1.2.2 条件语句
学习目标 1.理解条件语句的格式及功能.2.能用条件语句编写简单的程序.
知识点一 条件语句
条件语句的格式、功能及与条件结构的对应关系
格式一
格式二
条件语句
IF 条件 THEN
语句体
END IF
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
语句功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
对应条件结构框图
知识点二 条件语句的嵌套和叠加
1.条件语句的嵌套
①语句格式
IF 条件1 THEN
语句体1
ELSE
IF 条件2 THEN
语句体2
ELSE
语句体3
END IF
END IF
②程序框图
③条件语句嵌套的实质
将外层条件语句中的分支语句再设计成一个条件语句.
特别提醒:在条件语句中的嵌套中,每一个“IF”对应着一个“END IF”,注意书写格式.
2.条件语句的叠加
①语句格式
IF 条件1 THEN
语句体1
END IF
IF 条件2 THEN
语句体2
END IF
IF 条件3 THEN
语句体3
END IF
②程序框图
1.条件语句中必须有ELSE和END IF.( × )
2.条件语句中可以没有END IF.( × )
3.条件语句中可以没有ELSE,但是必须有END IF.( √ )
4.条件语句中可以没有END IF,但是必须有ELSE.( × )
5.条件语句是用来表达算法中的条件结构的.( √ )
题型一 对条件语句的理解
例1 (1)条件语句的一般形式为“IF A THEN B ELSE C”,其中语句C的作用是( )
A.条件语句
B.不满足条件时执行的内容
C.条件
D.满足条件时执行的内容
(2)下列对条件语句的描述正确的是( )
A.ELSE后面的语句不可以是条件语句
B.两个条件语句可以共用一个END IF语句
C.条件语句可以没有ELSE后的语句
D.条件语句中IF—THEN和ELSE后的语句必须都有
(3)下面的问题中必须用条件语句才能实现的个数是( )
①已知三角形三边的长,求三角形的面积;
②求方程mx+n=0(m,n为常数)的根;
③求三个实数a,b,c中的最大数;
④求函数f(x)=ax2+bx+c(a≠0)的图象的对称轴方程.
A.4 B.3 C.2 D.1
答案 (1)B (2)C (3)C
解析 (1)“IF A THEN B ELSE C”,先判断IF后的条件,若“真”,则执行B;若“假”,则执行C.
(2)条件语句有两种格式,分别是IF—THEN格式和IF—THEN—ELSE格式.只有一个分支的条件语句可以没有ELSE后的语句.
(3)①已知三角形三边的长,求三角形的面积,直接代入公式,需要用顺序结构;②求方程mx+n=0(m,n为常数)的根,需要分类讨论m的取值,根据取值的不同,执行不同的算法;③求三个实数a,b,c中的最大数,需要用到条件语句;④求f(x)=ax2+bx+c(a≠0)的图象的对称轴方程,不需要用条件语句.
反思感悟 (1)在解题中,需要进行分类讨论的就必须用到条件语句.
(2)根据条件结构写条件语句:
①首先选择语句格式.当判断语句的两个出口语句都要执行时,采用“IF—THEN—ELSE”语句,当判断语句的两个出口语句只有一个要执行时,采用“IF—THEN”语句.
②然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中(如果有的话)的内容,是ELSE后的语句体2.
跟踪训练1 (1)条件语句的一般形式为:IF A THEN B ELSE C,其中B表示的是( )
A.满足条件时执行的内容
B.条件语句
C.条件
D.不满足条件时,执行的内容
(2)给出以下四个问题,①输入一个数x,输出它的绝对值;②求表面积为6的正方体的体积;③求三个数a,b,c中的最小值;④求函数f(x)=的函数值.其中需要用条件语句来描述其算法的有________.(填序号)
答案 (1)A (2)①③④
解析 (1)IF A THEN B ELSE C表示如果条件A成立,则执行B步骤,否则执行C步骤.
(2)②直接用顺序结构即可,不需用条件语句;而①需要判断这个数的正负;③需要判断这三个数的大小;④是分段函数求值问题,故①③④需用到条件语句.
题型二 条件语句的应用
例2 (1)阅读下面的程序,若分别输入0,1,4,8,9,10,则输出的结果是( )
INPUT “x=”;x
IF x MOD 4=0 THEN
PRINT x
END IF
END
A.0,8 B.4,8
C.0,4,8 D.0,1,4,8,9,10
(2)若输入8,则下列程序执行后输出的结果是________.
INPUT “t=”;t
IF t<=3 THEN
c=0.2
ELSE
c=0.2+0.1*t-0.1*3
END IF
PRINT c
END
答案 (1)C (2)0.7
解析 (1)算法的功能是输入一个数,判断其是否能被4整除,若能,则输出该数.在输入的数中,能被4整除的有0,4,8.
(2)本题中的程序实际上解决的是求分段函数c=在t=8时的函数值的问题.
因为t=8>3,所以c=0.2+0.1×(8-3)=0.7.
反思感悟 解决根据条件语句写出运行结果的思路
根据程序写运行结果,首先观察所给语句是IF—THEN—END IF型条件语句还是IF—THEN—ELSE—END IF型条件语句,再看输入的值是否符合条件,进而执行相应的步骤,也可转化为数学式子,再代入求值.
跟踪训练2 (1)下列程序运行后的结果是( )
a=2
b=3
IF a<b THEN
t=a
a=b
b=t
END IF
PRINT “a=”;a,“b=”;b
END
A.a=2,b=3 B.a=3,b=2
C.a=2,b=2 D.a=3,b=3
(2)下列算法语句,若输入x为60,则输出y的值为( )
INPUT x
IF x<=50 THEN
y=0.5*x
ELSE
y=25+0.6*(x-50(
END IF
PRINT y
END
A.25 B.30 C.31 D.61
答案 (1)B (2)C
解析 (1)计算机执行本条件语句时,先对条件进行判断.因为2<3成立,所以把2赋给t,把3赋给a,再把2赋给b,并且最终输出的结果是a=3,b=2.故选B.
(2)因为60>50,所以y=25+0.6×(60-50)=31.
题型三 条件语句的编写
例3 已知y=编写一个程序,
输入x的值,得到相应的函数值,并画出程序框图.
解 程序:
INPUT “x=”;x
IF x<0 THEN
y=2*x^2-5
ELSE
y=x-1
END IF
PRINT y
END
程序框图如图.
反思感悟 (1)“条件”表示判断的条件,“语句体1”表示满足条件时执行的操作内容,“语句体2”表示不满足条件时执行的操作内容,“END IF”表示条件语句的结束.
(2)计算机在执行时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后面的语句体1;如果条件不符合,就执行ELSE后面的语句体2,然后结束这一条件语句.“条件”处可以是复合条件.在“语句体”处可以有多个语句,执行时按从上到下的顺序执行.
跟踪训练3 编写程序,输出两个不相等的实数a,b中的较大数,并画出程序框图.
解 程序如下:
INPUT “a,b=”;a,b
IF b>a THEN
a=b
END IF
PRINT a
END
程序框图如图所示.
条件语句的实际应用
典例 某地电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.22元;如果通话时间超过3分钟,则超过部分按每分钟0.1元收费,不足1分钟按1分钟计算.设通话时间为t(单位:分钟),通话费用为y(单位:元),设计一个计算通话费用的程序.
解 定义y=[x]为正实数x的整数部分,
则通话费用y与通话时间t的关系式为
y=
程序:
INPUT “请输入通话时间(分钟(:”;t
IF 0y=0.22
ELSE
IF INT(t(=t THEN
y=0.22+0.1*(t-3(
ELSE
y=0.22+0.1*(INT(t-3(+1(
END IF
END IF
PRINT “通话费用(元(:”;y
END
[素养评析] (1)解决实际应用问题,应先建立函数模型,由于对应函数为分段函数,可考虑用条件语句对算法进行描述.应用多个条件语句的嵌套时,要明确各种条件与相应语句之间的对应关系,一般先由程序框图直观地弄清这些关系之后再编写程序.
(2)根据题意,建立函数模型,设计运算程序,可以促进学生数学建模和数学运算的核心素养的提高.
1.阅读下面程序:
INPUT x
IF x<0 THEN
x=-x
END IF
PRINT x
END
若输入x=5,则输出结果x为( )
A.-5 B.5 C.0 D.不确定
答案 B
解析 当x≥0时,不符合条件,执行END IF之后的语句,直接输出x的值,即为5.
2.当a=3时,下面的程序输出的结果是( )
INPUT a
IF a<10 THEN
y=2*a
ELSE
y=a*a
END IF
PRINT y
END
A.9 B.3 C.10 D.6
答案 D
解析 该程序表示的是求分段函数y=的值,所以当a=3时,y=2×3=6.
3.若运行下面的程序后输出3,则输入的x值一定是( )
INPUT x
IF x>0 THEN
y=x
ELSE
y=-x
END IF
PRINT y
END
A.3 B.-3 C.3或-3 D.0
答案 C
解析 该程序的功能是求函数y=|x|的值,
∵y=3,∴x=±3.
4.下面程序的算法功能是:判断任意输入的数x是不是正数,若是,则输出它的平方值;若不是,则输出它的相反数.
INPUT “x=”;x
IF THEN
y=-x
ELSE
y=x*x
END IF
PRINT “y=”;y
END
则横线处填入的条件应该是( )
A.x>0 B.x<0 C.x>=0 D.x<=0
答案 D
解析 条件成立时,执行y=-x;条件不成立时,执行y=x*x.由程序的算法功能,知条件应为x<=0,
故选D.
5.某程序如下:
INPUT x
IF x>=1 THEN
y=x+1
ELSE
y=3-2*x
END IF
PRINT y
END
当执行此程序时,没有执行语句y=x+1,则输入的x值的取值范围为________.
答案 (-∞,1)
解析 由题意知,不执行语句y=x+1,说明输入x的值不满足条件x≥1,故x<1.
1.使用条件语句时应注意的问题
(1)条件语句是一个语句,IF,THEN,ELSE,END IF都是语句的一部分.
(2)条件语句必须是以IF开始,以END IF结束,一个IF必须与一个END IF相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般IF,ELSE与END IF顶格书写,其他的语句体前面则空两格.
2.对于三段或三段以上的分段函数求函数值时,需要条件语句的嵌套结构.在编写条件语句的嵌套中的“条件”时,要注意“IF”与“END IF”的配对,通常可以利用文字的缩进来表示嵌套的层次,以帮助我们对程序的阅读和理解.
3.条件语句的嵌套,其一般形式是
一、选择题
1.阅读下面程序,若输入x=-2,则输出的y为( )
INPUT “x=”;x
IF x<0 THEN
y=π*x/2+3
ELSE
IF x>0 THEN
y=-π*x/2-5
ELSE
y=0
END IF
END IF
PRINT y
END
A.3+π B.3-π
C.π-5 D.-π-5
答案 B
解析 输入x=-2,满足“x<0”的条件,执行“y=π*x/2+3”,则y=3-π.
2.若运行如下程序,最后输出y的值为-20,那么输入的t值为( )
INPUT “t=”;t
IF t<5 THEN
y=2*t-8
ELSE
y=8*t-t^2
END IF
PRINT y
END
A.10或-6 B.10或-2
C.-6 D.10或-2或-6
答案 A
解析 当t<5时,由2t-8=-20,得t=-6;当t≥5时,由8t-t2=-20,得t=10.
3.下面程序运行的结果是3,则输入的x值是( )
INPUT x
IF x>=0 THEN
y=x^2+2
ELSE
y=-x
END IF
PRINT y
END
A.1 B.-3
C.1或-3 D.±1或-3
答案 C
解析 当x≥0时,3=x2+2,所以x=1;
当x<0时,3=-x,所以x=-3,
故选C.
4.阅读下列程序,这个程序的功能是( )
INPUT “a,b,c=”;a,b,c
IF a>b THEN
a=b
END IF
IF a>c THEN
a=c
END IF
PRINT a
END
A.求出a,b,c三个数中的最大值
B.求出a,b,c三个数中的最小值
C.将a,b,c三个数从小到大排列
D.将a,b,c三个数从大到小排列
答案 B
5.下列程序语句是求函数y=|x-4|+1的函数值,则①处为( )
INPUT “x=”;x
IF x>=4 THEN
y=x-3;
ELSE
__① ;
END IF
PRINT y
END
A.y=3-x B.y=x-5
C.y=5-x D.y=x-3
答案 C
解析 y=|x-4|+1=
故选C.
6.执行如图所示的程序,如果输出的结果是4,那么输入的可能是( )
INPUT x
IF x>=0 THEN
y=x^2
ELSE
y=x
END IF
PRINT y
END
A.2 B.-4
C.2或-4 D.±2或-4
答案 A
解析 根据题意得,当x≥0时,y=x2=4,解得x=2;当x<0时,y=x<0,输出的值不可能为4,则输入的只可能是2,故选A.
7.运行下列程序,当输入x=-2时,输出结果是( )
INPUT “x=”;x
IF x>0 THEN
y=3*SQR(x(
ELSE
IF x=0 THEN
y=1
ELSE
y=-2*x^2+4*x
END IF
END IF
PRINT y
END
A.16 B.-16
C.2 D.8
答案 B
解析 该程序的功能是求分段函数y=的函数值,
∵x=-2,∴y=-16.
8.阅读下面的程序程序,运行的结果是( )
a=3
IF a<=3 THEN
PRINT 3
END IF
IF a<=4 THEN
PRINT 4
END IF
IF a<=5 THEN
PRINT 5
END IF
IF a<=6 THEN
PRINT 6
END IF
END
A.3 B.3,4 C.3,4,5 D.3,4,5,6
答案 D
解析 在本题中共出现四次条件判断,每一个条件都成立,故输出结果为3,4,5,6.
9.在下面程序中,若输入x=,则输出的y值为( )
INPUT x
IF x>=0 THEN
IF x>0 THEN
PRINT “y=”;(π/2(*x-5
ELSE
PRINT “y=”;0
END IF
ELSE
PRINT “y=”;(π/2(*x-3
END IF
END
A.0 B.1 C.3 D.
答案 B
解析 由于>0,故输出y=×-5=1,
故选B.
10.如图所示程序在开始运行后,通过键盘输入三个值3,24,7,则输出结果是( )
程序:
INPUT “a,b,c=”;a,b,c
IF b>a THEN
t=a
a=b
b=t
END IF
IF c>a THEN
t=a
a=c
c=t
END IF
IF c>b THEN
t=b
b=c
c=t
END IF
PRINT a,b,c
END
A.3,24,7 B.3,7,24
C.24,7,3 D.7,3,24
答案 C
解析 当a=3,b=24,c=7时,此时b>a,首先是a,b交换数值即a=24,b=3,c=7,又此时c>b,执行的程序是b,c交换数值,即b=7,c=3,所以a=24,b=7,c=3.
二、填空题
11.为了在运行下面的程序之后输出y=25,输入的x应该是________.
INPUT x
IF x<0 THEN
y=(x+1(*(x+1(
ELSE
y=(x-1(*(x-1(
END IF
PRINT y
END
答案 -6或6
解析 该程序的功能是求函数y=的函数值,
由或
得x=-6或x=6.
12.写出下面程序运行的结果:
INPUT x
IF x<=10 THEN
p=x*0.35
ELSE
p=10*0.35+(x-10(*0.7
END IF
PRINT p
END
若x=6,则p=________;若x=20,则p =________.
答案 2.1 10.5
解析 此程序功能是求函数
p=的函数值,
∴当x=6时,p=0.35×6=2.1,
当x=20时,p=3.5+0.7×(20-10)=10.5.
三、解答题
13.已知函数y=根据输入x的值,计算y的值,设计一个算法并写出相应的程序.
解 算法分析:
第一步,输入x的值.
第二步,判断x的范围,若x>2.5,则用y=x2-1求函数值.
若x≤2.5,则用y=x2+1求函数值.
第三步,输出y的值.
程序如下:
INPUT “x=”;x
IF x>2.5 THEN
y=x^2-1
ELSE
y=x^2+1
END IF
PRINT “y=”;y
END
14.下面的程序是求一个函数的函数值的程序:
INPUT x
IF x<=0 THEN
y=-x
ELSE
IF x<=1 THEN
y=0
ELSE
y=x-1
END IF
END IF
PRINT y
END
若执行此程序的结果为3,则输入的x值为________.
答案 4或-3
解析 此程序是求函数y=的值.若输出的结果为3,则有可能x-1=3,即x=4或-x=3,即x=-3.
15.如图是一个计算函数y=f(x)的值的程序,若输出的y值为4,则输入的x值是________.
INPUT x
IF x<0 THEN
y=(x+2(^2
ELSE
IF x=0 THEN
y=4
ELSE
y=(x-2(^2
END IF
END IF
PRINT y
END
答案 -4或0或4
解析 由题意知该程序的作用是计算分段函数
y=的值.
当x<0时,若y=4,则(x+2)2=4,得x=-4;
当x>0时,若y=4,则(x-2)2=4,得x=4;
当x=0时,y=4,正好输出y=4.
故满足条件的x值为-4,0,4.
课件43张PPT。1.2.2 条件语句第一章 §1.2 基本算法语句学习目标XUEXIMUBIAO1.理解条件语句的格式及功能.
2.能用条件语句编写简单的程序.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 条件语句条件语句的格式、功能及与条件结构的对应关系语句体语句体1语句体2条件语句体条件语句体1语句体2知识点二 条件语句的嵌套和叠加1.条件语句的嵌套
①语句格式IF 条件1 THEN
语句体1
ELSE
IF 条件2 THEN
语句体2
ELSE
语句体3
END IF
END IF②程序框图③条件语句嵌套的实质
将外层条件语句中的分支语句再设计成一个条件语句.
特别提醒:在条件语句中的嵌套中,每一个“IF”对应着一个“END IF”,注意书写格式.2.条件语句的叠加
①语句格式IF 条件1 THEN
语句体1
END IF
IF 条件2 THEN
语句体2
END IF
IF 条件3 THEN
语句体3
END IF②程序框图1.条件语句中必须有ELSE和END IF.( )
2.条件语句中可以没有END IF.( )
3.条件语句中可以没有ELSE,但是必须有END IF.( )
4.条件语句中可以没有END IF,但是必须有ELSE.( )
5.条件语句是用来表达算法中的条件结构的.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU×√××√2题型探究PART TWO题型一 对条件语句的理解例1 (1)条件语句的一般形式为“IF A THEN B ELSE C”,其中语句C的作用是
A.条件语句
B.不满足条件时执行的内容
C.条件
D.满足条件时执行的内容解析 “IF A THEN B ELSE C”,先判断IF后的条件,若“真”,则执行B;若“假”,则执行C.√(2)下列对条件语句的描述正确的是
A.ELSE后面的语句不可以是条件语句
B.两个条件语句可以共用一个END IF语句
C.条件语句可以没有ELSE后的语句
D.条件语句中IF—THEN和ELSE后的语句必须都有解析 条件语句有两种格式,分别是IF—THEN格式和IF—THEN—ELSE格式.只有一个分支的条件语句可以没有ELSE后的语句.√(3)下面的问题中必须用条件语句才能实现的个数是
①已知三角形三边的长,求三角形的面积;
②求方程mx+n=0(m,n为常数)的根;
③求三个实数a,b,c中的最大数;
④求函数f(x)=ax2+bx+c(a≠0)的图象的对称轴方程.
A.4 B.3 C.2 D.1√解析 ①已知三角形三边的长,求三角形的面积,直接代入公式,需要用顺序结构;
②求方程mx+n=0(m,n为常数)的根,需要分类讨论m的取值,根据取值的不同,执行不同的算法;
③求三个实数a,b,c中的最大数,需要用到条件语句;
④求f(x)=ax2+bx+c(a≠0)的图象的对称轴方程,不需要用条件语句.反思感悟 (1)在解题中,需要进行分类讨论的就必须用到条件语句.
(2)根据条件结构写条件语句:
①首先选择语句格式.当判断语句的两个出口语句都要执行时,采用“IF—THEN—ELSE”语句,当判断语句的两个出口语句只有一个要执行时,采用“IF—THEN”语句.
②然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中(如果有的话)的内容,是ELSE后的语句体2.跟踪训练1 (1)条件语句的一般形式为:IF A THEN B ELSE C,其中B表示的是
A.满足条件时执行的内容
B.条件语句
C.条件
D.不满足条件时,执行的内容解析 IF A THEN B ELSE C表示如果条件A成立,则执行B步骤,否则执行C步骤.√(2)给出以下四个问题,①输入一个数x,输出它的绝对值;②求表面积为6的正方体的体积;③求三个数a,b,c中的最小值;④求函数f(x)=
的函数值.其中需要用条件语句来描述其算法的有________.(填序号)①③④解析 ②直接用顺序结构即可,不需用条件语句;
而①需要判断这个数的正负;
③需要判断这三个数的大小;
④是分段函数求值问题,
故①③④需用到条件语句.题型二 条件语句的应用例2 (1)阅读下面的程序,若分别输入0,1,4,8,9,10,则输出的结果是解析 算法的功能是输入一个数,判断其是否能被4整除,若能,则输出该数.在输入的数中,能被4整除的有0,4,8.INPUT “x=”;x
IF x MOD 4=0 THEN
PRINT x
END IF
ENDA.0,8 B.4,8
C.0,4,8 D.0,1,4,8,9,10√(2)若输入8,则下列程序执行后输出的结果是________.因为t=8>3,所以c=0.2+0.1×(8-3)=0.7.INPUT “t=”;t
IF t<=3 THEN
c=0.2
ELSE
c=0.2+0.1*t-0.1*3
END IF
PRINT c
END0.7反思感悟 解决根据条件语句写出运行结果的思路
根据程序写运行结果,首先观察所给语句是IF—THEN—END IF型条件语句还是IF—THEN—ELSE—END IF型条件语句,再看输入的值是否符合条件,进而执行相应的步骤,也可转化为数学式子,再代入求值.跟踪训练2 (1)右列程序运行后的结果是解析 计算机执行本条件语句时,先对条件进行判断.因为2<3成立,所以把2赋给t,把3赋给a,再把2赋给b,并且最终输出的结果是a=3,b=2.故选B.a=2
b=3
IF a<b THEN
t=a
a=b
b=t
END IF
PRINT “a=”;a,“b=”;b
ENDA.a=2,b=3 B.a=3,b=2
C.a=2,b=2 D.a=3,b=3√(2)下列算法语句,若输入x为60,则输出y的值为解析 因为60>50,所以y=25+0.6×(60-50)=31.INPUT x
IF x<=50 THEN
y=0.5*x
ELSE
y=25+0.6*(x-50)
END IF
PRINT y
ENDA.25 B.30
C.31 D.61√例3 已知y= 编写一个程序,输入x的值,得到相应的函数值,
并画出程序框图.题型三 条件语句的编写解 程序:INPUT “x=”;x
IF x<0 THEN
y=2*x^2-5
ELSE
y=x-1
END IF
PRINT y
END程序框图如图.反思感悟 (1)“条件”表示判断的条件,“语句体1”表示满足条件时执行的操作内容,“语句体2”表示不满足条件时执行的操作内容,“END IF”表示条件语句的结束.
(2)计算机在执行时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后面的语句体1;如果条件不符合,就执行ELSE后面的语句体2,然后结束这一条件语句.“条件”处可以是复合条件.在“语句体”处可以有多个语句,执行时按从上到下的顺序执行.跟踪训练3 编写程序,输出两个不相等的实数a,b中的较大数,并画出程序框图.解 程序如下:INPUT “a,b=”;a,b
IF b>a THEN
a=b
END IF
PRINT a
END程序框图如图所示.典例 某地电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.22元;如果通话时间超过3分钟,则超过部分按每分钟0.1元收费,不足1分钟按1分钟计算.设通话时间为t(单位:分钟),通话费用为y(单位:元),设计一个计算通话费用的程序.核心素养之数学建模与运算HEXINSUYANGZHISHUXUEJIANMOYUYUNSUAN条件语句的实际应用解 定义y=[x]为正实数x的整数部分,
则通话费用y与通话时间t的关系式为程序:INPUT “请输入通话时间(分钟):”;t
IF 0y=0.22
ELSE
IF INT(t)=t THEN
y=0.22+0.1*(t-3)
ELSE
y=0.22+0.1*(INT(t-3)+1)
END IF
END IF
PRINT “通话费用(元):”;y
END素养评析 (1)解决实际应用问题,应先建立函数模型,由于对应函数为分段函数,可考虑用条件语句对算法进行描述.应用多个条件语句的嵌套时,要明确各种条件与相应语句之间的对应关系,一般先由程序框图直观地弄清这些关系之后再编写程序.
(2)根据题意,建立函数模型,设计运算程序,可以促进学生数学建模和数学运算的核心素养的提高.3达标检测PART THREE1.阅读右面程序:
若输入x=5,则输出结果x为
A.-5 B.5
C.0 D.不确定√解析 当x≥0时,不符合条件,执行END IF之后的语句,直接输出x的值,即为5.12345INPUT x
IF x<0 THEN
x=-x
END IF
PRINT x
END2.当a=3时,右面的程序输出的结果是
A.9 B.3
C.10 D.6√INPUT a
IF a<10 THEN
y=2*a
ELSE
y=a*a
END IF
PRINT y
END12345所以当a=3时,y=2×3=6.3.若运行右面的程序后输出3,则输入的x值一定是INPUT x
IF x>0 THEN
y=x
ELSE
y=-x
END IF
PRINT y
END解析 该程序的功能是求函数y=|x|的值,
∵y=3,∴x=±3.12345A.3 B.-3
C.3或-3 D.0√4.下面程序的算法功能是:判断任意输入的数x是不是正数,若是,则输出它的平方值;若不是,则输出它的相反数.INPUT “x=”;x
IF THEN
y=-x
ELSE
y=x*x
END IF
PRINT “y=”;y
END解析 条件成立时,执行y=-x;条件不成立时,执行y=x*x.由程序的算法功能,知条件应为x<=0,故选D.12345则横线处填入的条件应该是
A.x>0 B.x<0
C.x>=0 D.x<=0√5.某程序如右:INPUT x
IF x>=1 THEN
y=x+1
ELSE
y=3-2*x
END IF
PRINT y
END12345当执行此程序时,没有执行语句y=x+1,则输入的x值的取值范围为___________.(-∞,1)解析 由题意知,不执行语句y=x+1,说明输入x的值不满足条件x≥1,故x<1.课堂小结KETANGXIAOJIE1.使用条件语句时应注意的问题
(1)条件语句是一个语句,IF,THEN,ELSE,END IF都是语句的一部分.
(2)条件语句必须是以IF开始,以END IF结束,一个IF必须与一个END IF相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般IF,ELSE与END IF顶格书写,其他的语句体前面则空两格.
2.对于三段或三段以上的分段函数求函数值时,需要条件语句的嵌套结构.在编写条件语句的嵌套中的“条件”时,要注意“IF”与“END IF”的配对,通常可以利用文字的缩进来表示嵌套的层次,以帮助我们对程序的阅读和理解.3.条件语句的嵌套,其一般形式是IF 条件1 THEN
语句体1
ELSE
IF 条件2 THEN
语句体2
ELSE
语句体3
END IF
END IF内层条件语句外层条件语句1.2.3 循环语句
学习目标 1.了解循环语句,并掌握其结构.2.会应用条件语句和循环语句编写程序.3.通过对现实生活情境的探究,体会应用计算机解决数学问题的方便简捷.
知识点一 循环语句
循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型和当型两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.
知识点二 两种循环语句
两种循环语句的对比
名称
直到型
当型
格式
DO
循环体
LOOP UNTIL 条件
WHILE 条件
循环体
WEND
对应程序框图
过程
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体,直到条件符合时为止.这时不再执行循环体,跳出循环体,执行UNTIL语句后面的语句
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND后面的语句
1.算法中的循环结构由WHILE语句来实现.( × )
2.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句.( √ )
3.循环语句在循环的过程中需要有“结束”的语句.( √ )
4.因为循环结构中包含条件结构,所以在循环语句中也包含“IF—THEN”这样的语句.( × )
题型一 UNTIL(直到型)循环语句
例1 下面为一个求1,2,3,…,20的平均数的程序,在横线上应填充的语句为( )
S=0
i=1
DO
S=S+i
i=i+1
LOOP UNTIL
a=S/20
PRINT a
END
A.i>20 B.i<20
C.i>=20 D.i<=20
答案 A
解析 由题意知横线处应填i>20.
反思感悟 (1)直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
(2)循环次数由判断条件控制,控制条件的设置要综合考虑初始化值和LOOP UNTIL后的判断条件,若初始值为1,则循环体中变量累加,若初始值为循环的次数,则循环体中变量递减.
跟踪训练1 如果下面的程序运行后输出的结果是132,那么在程序中LOOP UNTIL后面的“条件”应为( )
i=12
s=1
DO
s=s*i
i=i-1
LOOP UNTIL “条件”
PRINT s
END
A.i>11 B.i>=11 C.i<=11 D.i<11
答案 D
解析 计数变量i的初始值为12,累积变量s的初始值为1,
第1次执行循环后得s=12,i=11,
因为12≠132,故第2次执行循环,
得s=12×11=132,i=10,满足s=132,
故退出循环.结合选项,可知“条件”应为i<11,
故选D.
题型二 WHILE(当型)循环语句
例2 下面的程序运行后的输出结果为( )
i=1
WHILE i<8
i=i+2
s=2*i+3
WEND
PRINT s
END
A.17 B.19 C.21 D.23
答案 C
解析 计数变量i的初始值为1,满足i<8,
则第1次执行循环体,
得i=1+2=3,s=2×3+3=9;
i=3仍然满足i<8,
则第2次执行循环体,
得i=3+2=5,s=2×5+3=13;
i=5仍然满足i<8,则第3次执行循环体,
得i=5+2=7,s=2×7+3=17;
i=7仍然满足i<8,则第4次执行循环体,
得i=7+2=9,s=2×9+3=21;i=9不满足i<8,
则循环结束,输出21,故选C.
引申探究
阅读程序,回答下列问题:
INPUT n
i=1
S=0
WHILE i<=n
S=S+1/[i*(i+1)]
i=i+1
WEND
PRINT S
END
(1)若输入n=3,则输出的结果为 .
(2)此程序对应的计算式子是 .
(3)程序中的循环语句对应 型循环结构.
答案 (1) (2)++…+ (3)当
解析 (1)输入n=3,当i=1时,S=0+=;
当i=2时,S=+=;
当i=3时,S=+=;
当i=4时,结束循环,此时输出S=.
(2)此程序是用于计算++…+的值.
(3)这是WHILE语句,对应的是当型循环结构.
反思感悟 (1)当型循环语句以WHILE开头,以WEND作为结束标志.WEND是WHILE END的缩写,表示WHILE循环到此结束.
(2)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
(3)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行WEND后面的语句.
跟踪训练2 已知程序如下:
INPUT n
i=1
s=0
WHILE i<=n
s=s+2*i
i=i+1
WEND
PRINT s
END
若输入变量n的值为3,则输出变量s的值为 ;若输出变量s的值为30,则输入变量n的值为 .
答案 12 5
解析 该程序的作用是累加并输出s=0+2×1+2×2+2×3+…+2n,
若输入变量n的值为3,则输出变量s的值为s=0+2×1+2×2+2×3=12;
若输出变量s的值为30,由于0+2×1+2×2+2×3+…+2n=30,解得n=5,则输入变量n的值为5.
循环语句的设计
典例 (1)画出计算12+32+52+…+9992的程序框图,并写出程序.
解 由题意知各项指数相同,底数相差2,可以借助于循环语句设计算法.
①程序框图:
②程序为:
S=0
i=1
DO
S=S+i^2
i=i+2
LOOP UNTIL i>999
PRINT S
END
(2)编写程序求2×4×6×…×100的值.
解 程序:
i=2
m=1
WHILE i<=100
m=m*i
i=i+2
WEND
PRINT m
END
[素养评析] (1)循环语句有两种,即直到型和当型,直到型循环又称“后测试”循环,也就是我们所讲的“先执行后测试”,“先循环后判断”.
当型循环也叫“前测试”循环,也就是我们所讲的“先测试后执行”,“先判断后执行”.
(2)选择运算方法,设计运算程序,求得运算结果是数学核心素养的重要内容.
1.下列问题可以设计成循环语句计算的有( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个 B.1个 C.2个 D.3个
答案 C
解析 ①④用到循环语句;②③用不到.故选C.
2.下面程序执行后输出的结果是( )
n=5
S=0
WHILE S<15
S=S+n
n=n-1
WEND
PRINT n
END
A.-1 B.0 C.1 D.2
答案 B
解析 当S=5+4+3+2=14时,
n=5-1-1-1-1=1,
此时S<15,执行循环体,
则S=5+4+3+2+1=15,n=1-1=0,
此时S=15,循环结束,输出0.
3.已知如图所示语句,
i=1
DO
i=i+1
LOOP UNTIL i*i>=100
i=i-1
PRINT i
END
最后输出的结果是( )
A.i-1 B.100 C.10 D.9
答案 D
解析 由循环语句及赋值语句可知,当i*i≥100时跳出循环体,此时i=10,故最后输出结果为9.
4.下面的程序运行后第3次输出的数是________.
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOP UNTIL i>5
END
答案 2
解析 该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x=1+=,
第三次输出的数是x=1++=2.
5.设计一个程序,输出100~200之间被7除余3的数.
解 程序如下:
i=100
WHILE i<=200
n=i MOD 7
IF n=3 THEN
PRINT i
END IF
i=i+1
WEND
END
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死”循环.
(3)在循环中要改变循环条件中涉及到的变量.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
一、选择题
1.有以下程序段,其中描述正确的是( )
k=8
WHILE k=0
k=k+1
WEND
A.循环体语句执行10次
B.循环体是无限循环的
C.循环体语句一次也不执行
D.循环体语句只执行一次
答案 C
解析 对于WHILE语句,条件符合则执行循环体,而本题k=8,不满足条件k=0,所以循环体语句一次也不执行.故选C.
2.下面的程序:
a=1
WHILE a<100
a=a+1
WEND
PRINT a
END
执行完毕后a的值为( )
A.99 B.100 C.101 D.102
答案 B
解析 a=99+1=100.
3.运行下面的程序,如果输入的n是6,那么输出的p是( )
INPUT “n=”;n
k=1
p=1
WHILE k<n
p=p*k
k=k+1
WEND
PRINT p
END
A.120 B.720 C.1 440 D.5 040
答案 A
4.下面的程序,其循环体执行的次数是( )
S=0
i=1
DO
S=S+i
i=i+2
LOOP UNTIL i>100
PRINT S
END
A.50 B.49 C.100 D.99
答案 A
解析 程序实质就是求1~100之间的奇数之和,即S=1+3+5+…+99,共50个奇数,因此循环体执行50次.
5.当x=2时,下面程序运行后输出的结果是( )
i=1
s=0
DO
s=s*x+1
i=i+1
LOOP UNTIL i>4
PRINT s
END
A.3 B.7 C.15 D.17
答案 C
解析 0×2+1=1,1×2+1=3,3×2+1=7,7×2+1=15,此时,i=5>4,跳出循环,故输出s的值为15.
6.阅读下列算法语句,若输入的n为10,则输出的变量S和T的值分别为( )
INPUT “n=”;n
S=0
T=0
DO
S=S+n
n=n-1
T=T+n
n=n-1
LOOP UNTIL n<2
PRINT S,T
END
A.30,25 B.30,30 C.25,25 D.25,30
答案 A
解析 当n=10时,S=10+8+6+4+2=30,T=9+7+5+3+1=25,故选A.
7.执行下面的程序,输入a=3,b=-1,n=4后,输出的结果是( )
INPUT “a,b,n=”;a,b,n
i=1
WHILE i<=n
c=a+b
a=b
b=c
i=i+1
WEND
PRINT c
END
A.3 B.4 C.5 D.6
答案 B
解析 循环体被执行了四次,第一次执行循环体得到的结果是c=2,a=-1,b=2,i=2;第二次执行得到的结果是c=1,a=2,b=1,i=3;第三次执行得到的结果是c=3,a=1,b=3,i=4;第四次执行得到的结果是c=4,a=3,b=4,i=5,此时输出c=4.
8.下面是一个求20个数的平均数的程序,在横线上应填入的语句为( )
S=0
i=1
WHILE
INPUT x
S=S+x
i=i+1
WEND
a=S/20
PRINT a
END
A.i>20 B.i<20
C.i>=20 D.i<=20
答案 D
解析 根据题意得循环体需执行20次,从而横线上应填入的语句为“i<=20”.故选D.
9.阅读下面的程序.
i=1
S=0
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
END
该程序是计算下列和式中的( )
A.
B.1+2+…+101
C.1+2+3+…+99
D.1+2+3+…+100
答案 D
10.下面是求1~1 000内所有偶数的和的程序,把程序补充完整,则( )
i=2
S=0
WHILE i<=1 000
WEND
PRINT S
END
A.①处为S=S+i,②处为i=i+1
B.①处为S=S+i,②处为i=i+2
C.①处为i=i+1,②处为S=S+i
D.①处为i=i+2,②处为S=S+i
答案 B
解析 程序求的是1~1 000内所有偶数的和,故i步长为2,应有i=i+2,排除A,C;i初值为2,S应加的第一个偶数为2,而不是4,故语句S=S+i应在i=i+2的前面,排除D.
二、填空题
11.执行下面的程序,则输出的结果为________.
I=1
WHILE I<7
S=2*I+1
I=I+2
WEND
PRINT S
END
答案 11
解析 由题意可得I=1,满足条件I<7,S=3;I=3,
满足条件I<7,S=7;I=5,满足条件I<7,S=11;I=7,
不满足条件I<7,退出循环,输出S的值为11.
12.下面程序执行后,输出的结果是________.
i=11
S=1
DO
S=S*i
i=i-1
LOOP UNTIL i<9
PRINT S
END
答案 990
解析 分析程序知S=1×11×10×9=990.
三、解答题
13.给出一个算法的程序框图(如图所示).
(1)说明该程序的功能;
(2)请用WHILE型循环语句写出程序.
解 (1)该程序的功能是求1+++…+的值.
(2)程序如下:
S=0
K=1
WHILE K<=99
S=S+1/K
K=K+1
WEND
PRINT S
END
14.下面程序运行的结果是________.
x=100
i=1
DO
x=x+10
i=i+1
LOOP UNTIL x>=200
PRINT x,i
END
答案 200,11
解析 每次执行循环体后x与i的值对应如下.
x
110
120
130
140
150
160
170
180
190
200
i
2
3
4
5
6
7
8
9
10
11
15.如图是计算1+2++3++…+2 020+的值的程序框图.
(1)图中空白的判断框中应填________,处理框中应填________;
(2)写出与程序框图相对应的程序.
解 (1)第一个空填:i≤2 020?或i<2 021?;
第二个空填:S=S+i+.
(2)程序如下所示.
S=1
i=2
WHILE i<=2 020
S=S+i+1/i
i=i+1
WEND
PRINT S
END
课件31张PPT。1.2.3 循环语句第一章 §1.2 基本算法语句学习目标XUEXIMUBIAO1.了解循环语句,并掌握其结构.
2.会应用条件语句和循环语句编写程序.
3.通过对现实生活情境的探究,体会应用计算机解决数学问题的方便简捷.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 循环语句循环语句与程序框图中的 相对应,一般程序设计语言中都有 和
两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.循环结构直到型当型知识点二 两种循环语句两种循环语句的对比LOOP UNTILWEND不符合条件符合UNTIL条件符合条件仍符合条件不符合WEND1.算法中的循环结构由WHILE语句来实现.( )
2.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句.
( )
3.循环语句在循环的过程中需要有“结束”的语句.( )
4.因为循环结构中包含条件结构,所以在循环语句中也包含“IF—THEN”这样的语句.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU×√√×2题型探究PART TWO题型一 UNTIL(直到型)循环语句例1 下面为一个求1,2,3,…,20的平均数的程序,在横线上应填充的语句为解析 由题意知横线处应填i>20.S=0
i=1
DO
S=S+i
i=i+1
LOOP UNTIL_______
a=S/20
PRINT a
ENDA.i>20
B.i<20
C.i>=20
D.i<=20√反思感悟 (1)直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
(2)循环次数由判断条件控制,控制条件的设置要综合考虑初始化值和LOOP UNTIL后的判断条件,若初始值为1,则循环体中变量累加,若初始值为循环的次数,则循环体中变量递减.跟踪训练1 如果下面的程序运行后输出的结果是132,那么在程序中LOOP UNTIL后面的“条件”应为解析 计数变量i的初始值为12,累积变量s的初始值为1,
第1次执行循环后得s=12,i=11,
因为12≠132,故第2次执行循环,
得s=12×11=132,i=10,满足s=132,
故退出循环.结合选项,可知“条件”应为i<11,
故选D.i=12
s=1
DO
s=s*i
i=i-1
LOOP UNTIL “条件”
PRINT s
ENDA.i>11 B.i>=11
C.i<=11 D.i<11√题型二 WHILE(当型)循环语句例2 右面的程序运行后的输出结果为A.17
B.19
C.21
D.23√i=1
WHILE i<8
i=i+2
s=2*i+3
WEND
PRINT s
END解析 计数变量i的初始值为1,满足i<8,
则第1次执行循环体,
得i=1+2=3,s=2×3+3=9;
i=3仍然满足i<8,
则第2次执行循环体,
得i=3+2=5,s=2×5+3=13;
i=5仍然满足i<8,则第3次执行循环体,
得i=5+2=7,s=2×7+3=17;
i=7仍然满足i<8,则第4次执行循环体,
得i=7+2=9,s=2×9+3=21;i=9不满足i<8,
则循环结束,输出21,故选C.引申探究
阅读程序,回答下列问题:
(1)若输入n=3,则输出的结果为 .INPUT n
i=1
S=0
WHILE i<=n
S=S+1/[i*(i+1)]
i=i+1
WEND
PRINT S
END(2)此程序对应的计算式子是 .INPUT n
i=1
S=0
WHILE i<=n
S=S+1/[i*(i+1)]
i=i+1
WEND
PRINT S
END(3)程序中的循环语句对应 型循环结构.INPUT n
i=1
S=0
WHILE i<=n
S=S+1/[i*(i+1)]
i=i+1
WEND
PRINT S
END当解析 这是WHILE语句,对应的是当型循环结构.反思感悟 (1)当型循环语句以WHILE开头,以WEND作为结束标志.WEND是WHILE END的缩写,表示WHILE循环到此结束.
(2)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
(3)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行WEND后面的语句.跟踪训练2 已知程序如右:解析 该程序的作用是累加并输出s=0+2×1+2×2+2×3+…+2n,
若输入变量n的值为3,则输出变量s的值为s=0+2×1+2×2+2×3=12;
若输出变量s的值为30,由于0+2×1+2×2+2×3+…+2n=30,解得n=5,则输入变量n的值为5.INPUT n
i=1
s=0
WHILE i<=n
s=s+2*i
i=i+1
WEND
PRINT s
END若输入变量n的值为3,则输出变量s的值为 ;若输出变量s的值为30,则输入变量n的值为 .125核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN循环语句的设计典例 (1)画出计算12+32+52+…+9992的程序框图,并写出程序.解 由题意知各项指数相同,底数相差2,可以借助于循环语句设计算法.
①程序框图:②程序为:S=0
i=1
DO
S=S+i^2
i=i+2
LOOP UNTIL i>999
PRINT S
END(2)编写程序求2×4×6×…×100的值.解 程序:i=2
m=1
WHILE i<=100
m=m*i
i=i+2
WEND
PRINT m
END素养评析 (1)循环语句有两种,即直到型和当型,直到型循环又称“后测试”循环,也就是我们所讲的“先执行后测试”,“先循环后判断”.
当型循环也叫“前测试”循环,也就是我们所讲的“先测试后执行”,“先判断后执行”.
(2)选择运算方法,设计运算程序,求得运算结果是数学核心素养的重要内容.3达标检测PART THREE1.下列问题可以设计成循环语句计算的有
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个 B.1个 C.2个 D.3个√解析 ①④用到循环语句;
②③用不到.故选C.123452.右面程序执行后输出的结果是
A.-1 B.0
C.1 D.2√n=5
S=0
WHILE S<15
S=S+n
n=n-1
WEND
PRINT n
END12345解析 当S=5+4+3+2=14时,
n=5-1-1-1-1=1,
此时S<15,执行循环体,
则S=5+4+3+2+1=15,n=1-1=0,
此时S=15,循环结束,输出0.3.已知如图所示语句,i=1
DO
i=i+1
LOOP UNTIL i*i>=100
i=i-1
PRINT i
END解析 由循环语句及赋值语句可知,当i*i≥100时跳出循环体,此时i=10,故最后输出结果为9.12345最后输出的结果是
A.i-1 B.100
C.10 D.9√4.下面的程序运行后第3次输出的数是________.i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOP UNTIL i>5
END解析 该程序中关键是循环语句,
第一次输出的数是1,1234525.设计一个程序,输出100~200之间被7除余3的数.12345解 程序如下:i=100
WHILE i<=200
n=i MOD 7
IF n=3 THEN
PRINT i
END IF
i=i+1
WEND
END课堂小结KETANGXIAOJIE应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死”循环.
(3)在循环中要改变循环条件中涉及到的变量.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.§1.3 算法案例
第1课时 辗转相除法与更相减损术
学习目标 1.了解辗转相除法与更相减损术中的数学原理.2.会求两个数的最大公约数.3.体会案例中的数学素养.
知识点一 辗转相除法
1.辗转相除法,又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.
2.辗转相除法的算法步骤
第一步,给定两个正整数m,n(m>n).
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;
否则,返回第二步.
思考 注意到8 251=6 105×1+2 146,那么8 251与6 105这两个数的公约数和6 105与2 146的公约数有什么关系?
答案 显然8 251与6 105的公约数也必是2 146的约数,同样6 105与2 146的公约数也必是8 251的约数,所以8 251与6 105的最大公约数也是6 105与2 146的最大公约数.
知识点二 更相减损术
更相减损术的运算步骤
第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
1.辗转相除法的基本步骤是用较大的数除以较小的数.( √ )
2.求最大公约数的方法除辗转相除法之外,没有其他方法.( × )
3.编写辗转相除法的程序时,要用到循环语句.( √ )
题型一 辗转相除法
例1 试用辗转相除法求228与1 995的最大公约数.
解 1 995=8×228+171,
228=1×171+57,
171=3×57,
所以228与1 995的最大公约数为57.
反思感悟 辗转相除法的实质:对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成一对新数,继续上面的除法,直到大数被小数除尽,则这时的小数就是原来两个正整数的最大公约数.
跟踪训练1 用辗转相除法求204与85的最大公约数时,需要做除法的次数是________.
答案 3
解析 用辗转相除法可得
204÷85=2……34,
85÷34=2……17,
34÷17=2,
此时可以判断204与85的最大公约数是17,做了3次除法得出结果.
题型二 更相减损术
例2 试用更相减损术求612,396的最大公约数.
解 方法一 612÷2=306,396÷2=198,306÷2=153,198÷2=99,
∴153-99=54,99-54=45,54-45=9,45-9=36,
36-9=27,27-9=18,18-9=9.
∴612,396的最大公约数为9×22=36.
方法二 612-396=216,396-216=180,216-180=36,180-36=144,144-36=108,108-36=72,72-36=36.故36为612,396的最大公约数.
反思感悟 更相减损术的算法步骤
第一步,给定两个正整数m,n,不妨设m>n.
第二步,若m,n都是偶数,则不断用2约简,使它们不同时是偶数,约简后的两个数仍记为m,n.
第三步,d=m-n.
第四步,判断“d≠n”是否成立,若是,则将n,d中的较大者记为m,较小者记为n,返回第三步;否则,2kd(k是约简整数2的个数)为所求的最大公约数.
跟踪训练2 用更相减损术求261和319的最大公约数.
解 ∵319-261=58,
261-58=203,
203-58=145,
145-58=87,
87-58=29,
58-29=29,
∴319与261的最大公约数为29.
求三个正整数的最大公约数
典例 用辗转相除法和更相减损术两种方法,求三个数72,120,168的最大公约数.
解 (辗转相除法):
先求120,168的最大公约数.
因为168=120×1+48,120=48×2+24,48=24×2,
所以120,168的最大公约数是24.
再求72,24的最大公约数.
因为72=24×3,所以72,24的最大公约数为24,
即72,120,168的最大公约数为24.
(更相减损术):
先求120,168的最大公约数.
168-120=48,120-48=72,72-48=24,48-24=24,
所以120,168的最大公约数为24.
再求72,24的最大公约数.
72-24=48,48-24=24,
所以72,24的最大公约数为24,
即72,120,168的最大公约数为24.
[素养评析] (1)求多个正整数的最大公约数,先求两个数的最大公约数,再求这个最大公约数与另一个数的最大公约数,依次类推.
(2)求最大公约数,首先要设计运算方案,选择运算方法,求得运算结果,所以说,这类题目是培养学生数学核心素养的重要内容.
1.1 337与382的最大公约数是( )
A.3 B.382 C.191 D.201
答案 C
解析 1 337=382×3+191,382=191×2,所以1 337与382的最大公约数是191.
2.下列各组关于最大公约数的说法中不正确的是( )
A.16和12的最大公约数是4
B.102和84的最大公约数是6
C.85和357的最大公约数是34
D.105和315的最大公约数是105
答案 C
解析 85和357的最大公约数是17.
3.用更相减损术求36与134的最大公约数,第一步应为________.
答案 先除以2,得到18与67
解析 ∵36与134都是偶数,∴第一步应为先除以2,得到18与67.
4.已知a=333,b=24,则使得a=bq+r(q,r均为自然数,且0≤r<b)成立的q和r的值分别为________.
答案 13,21
解析 用333除以24,商即为q,余数就是r.333÷24=13……21.
5.用辗转相除法求85与51的最大公约数.
解 85=51×1+34,
51=34×1+17,
34=17×2+0,
所以8与51的最大公约数为17.
1.辗转相除法,就是对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽为止,这时的较小的数即为原来两个数的最大公约数.
2.更相减损术,就是对于给定的两个正整数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,继续上面的减法,直到差和较小的数相等,此时相等的两数即为原来两个数的最大公约数.
一、选择题
1.1 037和425的最大公约数是( )
A.51 B.17 C.9 D.3
答案 B
解析 ∵1 037=425×2+187,
425=187×2+51,
187=51×3+34,
51=34×1+17,
34=17×2,
即1 037和425的最大公约数是17.
2.用更相减损术求得78和36的最大公约数是( )
A.24 B.18 C.12 D.6
答案 D
3.用辗转相除法求87与27的最大公约数时,需要进行除法运算的次数是( )
A.3 B.4 C.5 D.6
答案 A
4.45和150的最大公约数和最小公倍数分别是( )
A.5,150 B.15,450
C.450,15 D.15,150
答案 B
解析 利用辗转相除法求45和150的最大公约数:150=45×3+15,45=15×3,所以45和150的最大公约数为15.所以45和150的最小公倍数为15×(45÷15)×(150÷15)=450,故选B.
5.运行下面的程序,当输入168,72时,输出的结果是( )
INPUT m,n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL r=0
PRINT m
END
A.12 B.24
C.36 D.72
答案 B
解析 分析程序可知,该程序是求168和72的最大公约数,故应输出的结果是24.
6.用辗转相除法求得238和306的最大公约数是( )
A.3 B.9 C.17 D.34
答案 D
7.三个数4 557,1 953,5 115的最大公约数是( )
A.31 B.93
C.217 D.651
答案 B
8.若mod(m,3)=2,则m的取值可以是( )
A.2 005 B.2 006
C.2 007 D.2 008
答案 B
二、填空题
9.用辗转相除法计算60和48的最大公约数,需要做的除法次数是________.
答案 2
解析 60=48×1+12,48=12×4,故需做2次除法.
10.用更相减损术求459和357的最大公约数,需进行减法的次数为________.
答案 5
解析 利用更相减损术,有459-357=102,357-102=255,255-102=153,153-102=51,102-51=51,共进行了5次减法.
11.930与868的最大公约数是________.
答案 62
三、解答题
12.试用辗转相除法求325,130,270的最大公约数.
解 ∵325=130×2+65,130=65×2,
∴325与130的最大公约数是65.
∵270=65×4+10,65=10×6+5,10=5×2,
∴65与270的最大公约数是5,
故325,130,270这三个数的最大公约数为5.
13.阅读程序:
INPUT “m,n=”;m,n
IF n>m THEN
t=m
m=n
n=t
END IF
DO
r=m MOD n
m=n
n=r
LOOP UNTIL r=0
PRINT m
END
若输入m,n的值分别是161,368,则输出的结果为________.
答案 23
解析 该程序的功能是用辗转相除法求两个数的最大公约数.输入161,368,可求出它们的最大公约数为23.
14.我国古代名著《九章算术》用“更相减损术”求两个正整数的最大公约数是一个伟大的创举,这个伟大创举与“辗转相除法”的实质一样.如图所示的程序框图源于“辗转相除法”.当输入a=6 102,b=2 016时,输出的a=________.
答案 18
解析 由程序框图和辗转相除法的计算特点可知6 102=2 016×3+54,2 016=54×37+18,54=18×3,由此可得a=18.
课件25张PPT。第1课时 辗转相除法与更相减损术第一章 §1.3 算法案例学习目标XUEXIMUBIAO1.了解辗转相除法与更相减损术中的数学原理.
2.会求两个数的最大公约数.
3.体会案例中的数学素养.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 辗转相除法1.辗转相除法,又叫欧几里得算法,是一种求两个正整数的 的古老而有效的算法.
2.辗转相除法的算法步骤
第一步,给定 .
第二步,计算 .
第三步, .
第四步,若r=0,则m,n的最大公约数等于 ;
否则,返回 .最大公约数两个正整数m,n(m>n)m除以n所得的余数rm=n,n=rm第二步思考 注意到8 251=6 105×1+2 146,那么8 251与6 105这两个数的公约数和6 105与2 146的公约数有什么关系?答案 显然8 251与6 105的公约数也必是2 146的约数,同样6 105与2 146的公约数也必是8 251的约数,所以8 251与6 105的最大公约数也是6 105与2 146的最大公约数.知识点二 更相减损术
更相减损术的运算步骤
第一步,任意给定两个正整数,判断它们是否都是 .若是,用 约简;若不是,执行 .
第二步,以 的数减去 的数,接着把所得的差与 的数比较,并以大数减小数,继续这个操作,直到所得的数 为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.偶数2第二步较大较小较小相等1.辗转相除法的基本步骤是用较大的数除以较小的数.( )
2.求最大公约数的方法除辗转相除法之外,没有其他方法.( )
3.编写辗转相除法的程序时,要用到循环语句.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU√√×2题型探究PART TWO题型一 辗转相除法例1 试用辗转相除法求228与1 995的最大公约数.解 1 995=8×228+171,
228=1×171+57,
171=3×57,
所以228与1 995的最大公约数为57.反思感悟 辗转相除法的实质:对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成一对新数,继续上面的除法,直到大数被小数除尽,则这时的小数就是原来两个正整数的最大公约数.跟踪训练1 用辗转相除法求204与85的最大公约数时,需要做除法的次数是____.解析 用辗转相除法可得
204÷85=2……34,
85÷34=2……17,
34÷17=2,
此时可以判断204与85的最大公约数是17,做了3次除法得出结果.3题型二 更相减损术解 方法一 612÷2=306,396÷2=198,306÷2=153,198÷2=99,
∴153-99=54,99-54=45,54-45=9,45-9=36,
36-9=27,27-9=18,18-9=9.
∴612,396的最大公约数为9×22=36.
方法二 612-396=216,396-216=180,216-180=36,180-36=144,144-36=108,108-36=72,72-36=36.故36为612,396的最大公约数.例2 试用更相减损术求612,396的最大公约数.反思感悟 更相减损术的算法步骤
第一步,给定两个正整数m,n,不妨设m>n.
第二步,若m,n都是偶数,则不断用2约简,使它们不同时是偶数,约简后的两个数仍记为m,n.
第三步,d=m-n.
第四步,判断“d≠n”是否成立,若是,则将n,d中的较大者记为m,较小者记为n,返回第三步;否则,2kd(k是约简整数2的个数)为所求的最大公约数.跟踪训练2 用更相减损术求261和319的最大公约数.解 ∵319-261=58,
261-58=203,
203-58=145,
145-58=87,
87-58=29,
58-29=29,
∴319与261的最大公约数为29.典例 用辗转相除法和更相减损术两种方法,求三个数72,120,168的最大公约数.核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN求三个正整数的最大公约数解 (辗转相除法):
先求120,168的最大公约数.
因为168=120×1+48,120=48×2+24,48=24×2,
所以120,168的最大公约数是24.
再求72,24的最大公约数.
因为72=24×3,所以72,24的最大公约数为24,
即72,120,168的最大公约数为24.(更相减损术):
先求120,168的最大公约数.
168-120=48,120-48=72,72-48=24,48-24=24,
所以120,168的最大公约数为24.
再求72,24的最大公约数.
72-24=48,48-24=24,
所以72,24的最大公约数为24,
即72,120,168的最大公约数为24.素养评析 (1)求多个正整数的最大公约数,先求两个数的最大公约数,再求这个最大公约数与另一个数的最大公约数,依次类推.
(2)求最大公约数,首先要设计运算方案,选择运算方法,求得运算结果,所以说,这类题目是培养学生数学核心素养的重要内容.3达标检测PART THREE1.1 337与382的最大公约数是
A.3 B.382
C.191 D.201√解析 1 337=382×3+191,382=191×2,所以1 337与382的最大公约数是191.123452.下列各组关于最大公约数的说法中不正确的是
A.16和12的最大公约数是4
B.102和84的最大公约数是6
C.85和357的最大公约数是34
D.105和315的最大公约数是105√解析 85和357的最大公约数是17.123453.用更相减损术求36与134的最大公约数,第一步应为_____________________.先除以2,得到18与67解析 ∵36与134都是偶数,
∴第一步应为先除以2,得到18与67.4.已知a=333,b=24,则使得a=bq+r(q,r均为自然数,且0≤r<b)成立的q和r的值分别为________.13,21解析 用333除以24,商即为q,余数就是r.333÷24=13……21.123455.用辗转相除法求85与51的最大公约数.12345解 85=51×1+34,
51=34×1+17,
34=17×2+0,
所以8与51的最大公约数为17.课堂小结KETANGXIAOJIE1.辗转相除法,就是对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽为止,这时的较小的数即为原来两个数的最大公约数.
2.更相减损术,就是对于给定的两个正整数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,继续上面的减法,直到差和较小的数相等,此时相等的两数即为原来两个数的最大公约数.第2课时 秦九韶算法与进位制
学习目标 1.了解秦九韶算法.2.了解生活中的各种进位制,了解计算机内部运算为什么选择二进制.3.会用除k取余法把十进制转换为各种进位制,并理解其中的数学规律.
知识点一 秦九韶算法
1.求n次多项式的值的算法,有一种比较好的算法叫秦九韶算法.
2.秦九韶算法的一般步骤:
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+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个一次多项式的值.
知识点二 进位制
若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式anan-1…a1a0(k)(an,an-1,…,a1,a0∈N,0为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),六进制数341(6),十进制数一般不标注基数.
思考 59分59秒再过1秒是多少时间?
答案 1小时.
上述计时法遵循的是满60进一,称为六十进制.类比给出k进制的概念.“满k进一”就是k进制,k进制的基数是k.
知识点三 进制间的转化
1.一般地,将k进制数anan-1…a1a0(k)转化为十进制:
anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k1+a0×k0.
2.把十进制的数化为k进制的数的方法是:
把十进制数除以k,余数为k进制的右数第一位数.把商再除以k,余数为k进制右数第二位数;依次除以k,直至商为0.这个方法称为除k取余法.
1.二进制数中可以出现数字3.( × )
2.把十进制数转化成其它进制数的方法是除k取余法.( √ )
3.不同进制数之间可以相互转化.( √ )
题型一 秦九韶算法的应用
例1 用秦九韶算法求多项式f(x)=x5+5x4+10x3+10x2+5x+1当x=-2时的值.
解 f(x)=x5+5x4+10x3+10x2+5x+1
=((((x+5)x+10)x+10)x+5)x+1.
当x=-2时,有v0=1;
v1=v0x+a4=1×(-2)+5=3;
v2=v1x+a3=3×(-2)+10=4;
v3=v2x+a2=4×(-2)+10=2;
v4=v3x+a1=2×(-2)+5=1;
v5=v4x+a0=1×(-2)+1=-1.
故f(-2)=-1.
反思感悟 (1)先将多项式写成一次多项式的形式,然后运算时从里到外,一步一步地做乘法和加法即可.这样比直接将x=-2代入原式大大减少了计算量.若用计算机计算,则可提高运算效率.
(2)注意:当多项式中n次项不存在时,可将第n次项看作0·xn.
跟踪训练1 用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64当x=2时的值.
解 根据秦九韶算法,把多项式改写成如下形式:
f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64.
由内向外依次计算一次多项式当x=2时的值:
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.
所以当x=2时,多项式的值为0.
题型二 k进制化为十进制
例2 二进制数110 011(2)化为十进制数是什么数?
解 110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=32+16+2+1=51.
反思感悟 将k进制数anan-1…a1a0(k)化为十进制数的方法:把k进制数anan-1…a1a0(k)写成各数位上的数字与基数k的幂的乘积之和的形式,然后计算出结果即为对应的十进制数.
跟踪训练2 (1)把二进制数1 110 011(2)化为十进制数.
(2)将8进制数314 706(8)化为十进制数.
解 (1)1 110 011(2)=1×26+1×25+1×24+0×23+0×22+1×21+1×20=115.
(2)314 706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104 902.
所以,化为十进制数是104 902.
题型三 十进制化k进制
例3 将十进制数458分别转化为四进制数和六进制数.
解 算式如图,
则458=13 022(4)=2 042(6).
反思感悟 十进制数化为k进制数的思路为
→→.
跟踪训练3 把89化为二进制数.
解 算式如图,
则89=1 011 001(2).
秦九韶算法求多项式的值
典例 用秦九韶算法求多项式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.
按从内到外的顺序,依次计算多项式的值:
v0=1,
v1=1×0.3+0=0.3,
v2=0.3×0.3+0.11=0.2,
v3=0.2×0.3+0=0.06,
v4=0.06×0.3-0.15=-0.132,
v5=-0.132×0.3-0.04=-0.079 6.
∴当x=0.3时,f(x)的值为-0.079 6.
[素养评析] (1)当多项式中出现空项时,利用秦九韶算法求多项式的值,必须补上系数为0的相应项.这是本题的易错点.
(2)理解运算对象即求多项式的值,掌握运算法则即秦九韶算法,这些均是数学核心素养之数学运算的具体体现.
1.已知175(r)=125(10),则r的值为( )
A.1 B.5 C.3 D.8
答案 D
解析 ∵1×r2+7×r1+5×r0=125,
∴r2+7r-120=0,
∴r=8或r=-15(舍去),
∴r=8,故选D.
2.用秦九韶算法计算多项式f(x)=6x6+5x5+4x4+3x3+2x2+x+7在x=0.4时的值时,需做加法和乘法的次数的和为( )
A.10 B.9 C.12 D.8
答案 C
解析 f(x)=(((((6x+5)x+4)x+3)x+2)x+1)x+7,
∴做加法6次,乘法6次,∴6+6=12(次),故选C.
3.用秦九韶算法求多项式f(x)=x4+2x3+3x2+x+1当x=2时的值时,第一次运算的是( )
A.1×2 B.24
C.2+1 D.1×2+2
答案 D
解析 因为f(x)=(((x+2)x+3)x+1)x+1,据由内到外的运算规律可知先运算的是1×2+2.
4.下列各数中,最小的数是( )
A.85(9) B.210(6)
C.1 000(4) D.111 111(2)
答案 D
解析 85(9)=8×9+5=77,
210(6)=2×62+1×6+0=78,
1 000(4)=1×43=64,
111 111(2)=1×25+1×24+1×23+1×22+1×2+1=63.
故最小的是63.
5.(1)将二进制数转化成十进制数;
(2)将53(8)转化为二进制数.
解 (1) (2)=1×215+1×214+…+1×21+1×20=216-1.
(2)先将八进制数53(8)转化为十进制数:
53(8)=5×81+3×80=43;
再将十进制数43转化为二进制数的算法如图.
所以53(8)=101 011(2).
1.要把k进制数化为十进制数,首先把k进制数表示成不同位上数字与k的幂的乘积之和,其次按照十进制的运算规则计算和.
2.十进制数化为k进制数(除k取余法)的步骤:
3.用秦九韶算法求多项式f(x)当x=x0时的值的思路为(1)改写;(2)计算
(3)结论f(x0)=vn.
一、选择题
1.下列各数可能是五进制数的是( )
A.55 B.106
C.732 D.2 134
答案 D
解析 五进制数的基数是5,在所构成的数中,只可能用0,1,2,3,4这5个数字.
2.把五进制数123(5)改写成十进制数为( )
A.83 B.64 C.38 D.44
答案 C
解析 五进制数123(5)改写成十进制数应为1×52+2×51+3×50=38.
3.用秦九韶算法计算多项式f(x)=2x6+5x5+6x4+23x3-8x2+10x-3当x=-4时的值时,v3的值为( )
A.-742 B.-49
C.18 D.188
答案 B
解析 f(x)=2x6+5x5+6x4+23x3-8x2+10x-3=(((((2x+5)x+6)x+23)x-8)x+10)x-3,
v0=2,v1=v0x+5=2×(-4)+5=-3,v2=v1x+6=-3×(-4)+6=18,
v3=v2x+23=18×(-4)+23=-49,故选B.
4.两个二进制数101(2)与110(2)的和用十进制数表示为( )
A.12 B.11 C.10 D.9
答案 B
解析 101(2)=1×22+0×21+1×20=5,110(2)=1×22+1×21+0×20=6.即和为5+6=11.
5.四位二进制数能表示的最大十进制数是( )
A.4 B.64 C.255 D.15
答案 D
解析 由二进制数化为十进制数的过程可知,当四位二进制数为1 111时表示的十进制数最大,
此时,1 111(2)=15.
6.已知44(k)=36,把67(k)转化为十进制数为( )
A.8 B.55 C.56 D.62
答案 B
解析 由题意得,36=4×k1+4×k0,所以k=8.
则67(k)=67(8)=6×81+7×80=55.
7.用秦九韶算法求多项式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,由秦九韶算法的递推关系式
得v1=v0x+a3=2×(-1)-3=-5,v2=v1x+a2=-5×(-1)+1=6,故选D.
8.已知一个k进制的数132与十进制的数30相等,那么k等于( )
A.7或4 B.-7
C.4 D.-4
答案 C
解析 132(k)=1×k2+3×k+2=k2+3k+2,
∴k2+3k+2=30,
即k2+3k-28=0,
解得k=4或k=-7(舍去).
9.下列四个数最大的是( )
A.322(7) B.402(6)
C.342(7) D.355(6)
答案 C
解析 342(7)=3×72+4×7+2=177,
402(6)=4×62+0×6+2=146.
所以342(7)>402(6).
而342(7)>322(7),402(6)>355(6),
所以最大的数是342(7).
二、填空题
10.若146(x)=66,则x的值为________.
答案 6
解析 146(x)=1×x2+4×x+6×x0=66.
可得x=6(负值舍去).
11.用秦九韶算法求多项式f(x)=2+0.35x+1.8x2-3x3+6x4-5x5+x6当x=-1时的值时,令v0=a6,v1=v0x+a5,…,v6=v5x+a0,则v3的值是________.
答案 -15
解析 f(x)=x6-5x5+6x4-3x3+1.8x2+0.35x+2=(((((x-5)x+6)x-3)x+1.8)x+0.35)x+2,
所以v0=1,v1=1×(-1)-5=-6,
v2=(-6)×(-1)+6=12,v3=12×(-1)-3=-15.
三、解答题
12.利用秦九韶算法求多项式f(x)=3x6+12x5+8x4-3.5x3+7.2x2+5x-13当x=6时的值,写出详细步骤.
解 ∵f(x)=(((((3x+12)x+8)x-3.5)x+7.2)x+5)x-13,v0=3,v1=v0×6+12=30,v2=v1×6+8=188,v3=v2×6-3.5=1 124.5,v4=v3×6+7.2=6 754.2,v5=v4×6+5=40 530.2,v6=v5×6-13=243 168.2,
∴f(6)=243 168.2.
13.十六进制数与十进制数的对应如表:
十六进制数
0
1
2
3
4
5
6
7
8
9
10
A
B
C
D
E
十进制数
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
例如:A+B=11+12=16+7=1×16+7=17(16),所以A+B的值用十六进制表示就等于17(16).
试计算:A×B+D=________.(用十六进制表示)
答案 92(16)
解析 ∵A×B+D=11×12+14=146,
146=9×16+2,
∴用十六进制表示146为92(16).
14.秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为( )
A.9 B.18
C.20 D.35
答案 B
解析 初始值n=3,x=2,
程序运行过程如下:
v=1
i=2 v=1×2+2=4
i=1 v=4×2+1=9
i=0 v=9×2+0=18
i=-1 跳出循环,输出v=18,故选B.
课件31张PPT。第2课时 秦九韶算法与进位制第一章 §1.3 算法案例学习目标XUEXIMUBIAO1.了解秦九韶算法.
2.了解生活中的各种进位制,了解计算机内部运算为什么选择二进制.
3.会用除k取余法把十进制转换为各种进位制,并理解其中的数学规律.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 秦九韶算法1.求n次多项式的值的算法,有一种比较好的算法叫秦九韶算法.
2.秦九韶算法的一般步骤:
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:
(…((anx+an-1)x+an-2)x+…+a1)x+a0,求多项式的值时,首先计算________
一次多项式的值,即v1= ,然后由内向外逐层计算一次多项式的值,即v2= ,v3= ,…,vn= ,这样,求n次多项式f(x)的值就转化为求 的值.最内层括n个一次多项式号内anx+an-1v1x+an-2v2x+an-3vn-1x+a0若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式anan-1…a1a0(k)(an,an-1,…,a1,a0∈N,0为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),六进制数341(6),十进制数一般不标注基数.知识点二 进位制思考 59分59秒再过1秒是多少时间?答案 1小时.
上述计时法遵循的是满60进一,称为六十进制.类比给出k进制的概念.“满k进一”就是k进制,k进制的基数是k.1.一般地,将k进制数anan-1…a1a0(k)转化为十进制:
anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k1+a0×k0.
2.把十进制的数化为k进制的数的方法是:
把十进制数除以k,余数为k进制的右数第一位数.把商再除以k,余数为k进制右数第二位数;依次除以k,直至商为0.这个方法称为除k取余法.知识点三 进制间的转化1.二进制数中可以出现数字3.( )
2.把十进制数转化成其它进制数的方法是除k取余法.( )
3.不同进制数之间可以相互转化.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU√√×2题型探究PART TWO题型一 秦九韶算法的应用例1 用秦九韶算法求多项式f(x)=x5+5x4+10x3+10x2+5x+1当x=-2时的值.解 f(x)=x5+5x4+10x3+10x2+5x+1
=((((x+5)x+10)x+10)x+5)x+1.
当x=-2时,有v0=1;
v1=v0x+a4=1×(-2)+5=3;
v2=v1x+a3=3×(-2)+10=4;
v3=v2x+a2=4×(-2)+10=2;
v4=v3x+a1=2×(-2)+5=1;
v5=v4x+a0=1×(-2)+1=-1.
故f(-2)=-1.反思感悟 (1)先将多项式写成一次多项式的形式,然后运算时从里到外,一步一步地做乘法和加法即可.这样比直接将x=-2代入原式大大减少了计算量.若用计算机计算,则可提高运算效率.
(2)注意:当多项式中n次项不存在时,可将第n次项看作0·xn.跟踪训练1 用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64当x=2时的值.解 根据秦九韶算法,把多项式改写成如下形式:
f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64.
由内向外依次计算一次多项式当x=2时的值:
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.
所以当x=2时,多项式的值为0.题型二 k进制化为十进制解 110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=32+16+2+1=51.例2 二进制数110 011(2)化为十进制数是什么数?反思感悟 将k进制数anan-1…a1a0(k)化为十进制数的方法:把k进制数anan-1
…a1a0(k)写成各数位上的数字与基数k的幂的乘积之和的形式,然后计算出结果即为对应的十进制数.跟踪训练2 (1)把二进制数1 110 011(2)化为十进制数.解 1 110 011(2)=1×26+1×25+1×24+0×23+0×22+1×21+1×20=115.(2)将8进制数314 706(8)化为十进制数.解 314 706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104 902.
所以,化为十进制数是104 902.题型三 十进制化k进制解 算式如图,例3 将十进制数458分别转化为四进制数和六进制数.则458=13 022(4)=2 042(6).反思感悟 十进制数化为k进制数的思路为跟踪训练3 把89化为二进制数.解 算式如图,则89=1 011 001(2).典例 用秦九韶算法求多项式f(x)=x5+0.11x3-0.15x-0.04当x=0.3时的值.核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN秦九韶算法求多项式的值解 将f(x)写为f(x)=((((x+0)·x+0.11)x+0)x-0.15)x-0.04.
按从内到外的顺序,依次计算多项式的值:
v0=1,
v1=1×0.3+0=0.3,
v2=0.3×0.3+0.11=0.2,
v3=0.2×0.3+0=0.06,
v4=0.06×0.3-0.15=-0.132,
v5=-0.132×0.3-0.04=-0.079 6.
∴当x=0.3时,f(x)的值为-0.079 6.素养评析 (1)当多项式中出现空项时,利用秦九韶算法求多项式的值,必须补上系数为0的相应项.这是本题的易错点.
(2)理解运算对象即求多项式的值,掌握运算法则即秦九韶算法,这些均是数学核心素养之数学运算的具体体现.3达标检测PART THREE1.已知175(r)=125(10),则r的值为
A.1 B.5
C.3 D.8√解析 ∵1×r2+7×r1+5×r0=125,
∴r2+7r-120=0,
∴r=8或r=-15(舍去),
∴r=8,故选D.123452.用秦九韶算法计算多项式f(x)=6x6+5x5+4x4+3x3+2x2+x+7在x=0.4时的值时,需做加法和乘法的次数的和为
A.10 B.9
C.12 D.8√解析 f(x)=(((((6x+5)x+4)x+3)x+2)x+1)x+7,
∴做加法6次,乘法6次,∴6+6=12(次),故选C.123453.用秦九韶算法求多项式f(x)=x4+2x3+3x2+x+1当x=2时的值时,第一次运算的是
A.1×2 B.24
C.2+1 D.1×2+2解析 因为f(x)=(((x+2)x+3)x+1)x+1,据由内到外的运算规律可知先运算的是1×2+2.√123454.下列各数中,最小的数是
A.85(9) B.210(6)
C.1 000(4) D.111 111(2)解析 85(9)=8×9+5=77,
210(6)=2×62+1×6+0=78,
1 000(4)=1×43=64,
111 111(2)=1×25+1×24+1×23+1×22+1×2+1=63.
故最小的是63.√123455.(1)将二进制数 (2)转化成十进制数;解 (2)=1×215+1×214+…+1×21+1×20=216-1.12345(2)将53(8)转化为二进制数.解 先将八进制数53(8)转化为十进制数:
53(8)=5×81+3×80=43;
再将十进制数43转化为二进制数的算法如图.
所以53(8)=101 011(2).12345课堂小结KETANGXIAOJIE1.要把k进制数化为十进制数,首先把k进制数表示成不同位上数字与k的幂的乘积之和,其次按照十进制的运算规则计算和.
2.十进制数化为k进制数(除k取余法)的步骤:3.用秦九韶算法求多项式f(x)当x=x0时的值的思路为(1)改写;(2)计算
(3)结论f(x0)=vn.专题突破一 例析典型算法与程序框图
一、解方程(方程组)的算法
例1 用自然语言描述求一元二次方程x2+bx+c=0的根的算法.
思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法.
解 用自然语言来描述算法,
第一步,计算Δ=b2-4ac.
第二步,如果Δ<0,则原方程无实数解,输出“无实数解”;否则(Δ≥0)计算x1=,x2=,输出x1,x2的值.
点评 第二步中包含了一个判断Δ=b2-4ac是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b2-4ac小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的.
二、套用公式求值的算法
例2 已知摄氏温度C与华氏温度F的关系是F=C×+32,写出由摄氏温度求华氏温度的算法.
思维切入 这是一个函数求值问题,给C赋值再代入解析式求F.
解 第一步,输入摄氏温度C.
第二步,代入F=C×+32.
第三步,输出华氏温度F.
点评 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果.
三、判断性质型问题的算法
例3 试描述判断圆(x-x0)2+(y-y0)2=r2和直线Ax+By+C=0位置关系的算法.
思维切入 直线与圆的位置关系有三种:相离、相切、相交,如果圆心到直线的距离d>r,则直线与圆相离,d=r,则直线与圆相切,d解 第一步,输入圆心的坐标、直线方程的系数和半径r.
第二步,计算z1=Ax0+By0+C.
第三步,计算z2=A2+B2.
第四步,计算d=.
第五步,如果d>r则输出相离,如果d=r则输出相切,如果d点评 算法要求分步计算,不要直接计算d=.一个比较大的程序,会分成若干模块,一个模块出了问题只需要修改这一模块,而不需要全盘翻工.
四、累加、累乘问题的算法
例4 用自然语言描述求解P=1×2×3×4×5×6问题的算法.
思维切入 根据算法的特点,我们学过的加、减、乘、除运算法则都是算法,只要按照具体的规则有步骤地描述过程,便有了该题的算法.
解 第一步,设i=1,P=1.
第二步,如果i≤6执行第三步,否则执行第五步.
第三步,计算P×i并将结果代替P.
第四步,将i+1代替i,转去执行第二步.
第五步,输出P.
点评 i称为计数变量,每一次循环它的值增加1,由1变到6,P是一个累乘变量,每一次循环得到一个新的结果,然后新的结果代替原值.
五、顺序结构的程序框图
例5 输入一个实数x,画出求函数y=x3+3x-7的值的一个程序框图.
解 程序框图如图所示.
点评 一般的,对于一次函数、二次函数、高次函数等的求值问题,通常采用顺序结构.
六、条件结构的程序框图
例6 假设到银行办理个人异地汇款时,银行要收取一定的手续费,汇款不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取手续费;超过5 000元,一律收取50元手续费.试写出汇款额为x元时,银行收取手续费y元的计算方法,并画出程序框图.
思维切入 根据题意,建立函数模型.写出算法,确定用含有条件结构的程序框图表示.
解 本题是一个实际问题,应先建立数学模型:
y=
由此可知,求手续费,需先判断x的取值范围.
故应用条件结构描述,程序框图如图所示.
点评 对于三段或以上的分段函数,可以写成嵌套式条件结构,也可以用顺序结构一段一段地讨论.
七、循环结构的程序框图
例7 某机械厂为增加产值进行了技术革新.据统计2009年的生产总值为500万元,技术革新后预计每年的生产总值比上一年增加5%,问最早要到哪一年生产总值才能超过600万元,试用程序框图表示.
思维切入 用变量n,a分别表示所经过的年数和生产总值的数量,注意变量的初始值以及递加的值是多少.由题意知第n年后的生产总值为a=500(1+0.05)n,此时为(2009+n)年.由于题中进行了重复的运算,故应引入循环结构.
解 程序框图如图所示.
点评 在本例中,给出了当型循环结构的框图,同学们可以自行完成直到型循环结构.
1.已知如图所示的程序框图,若输出的S是30,则①中可以为( )
A.n≤2? B.n≤3? C.n≤4? D.n≤5?
答案 C
解析 第一次循环:S=0+2=2,n=1+1=2,继续循环;
第二次循环:S=2+22=6,n=2+1=3,继续循环;
第三次循环:S=6+23=14,n=3+1=4,继续循环;
第四次循环:S=14+24=30,n=4+1=5,停止循环,输出S=30.
2.某市的士收费办法如下:不超过2公里收7元(即起步价7元),超过2公里的里程每公里收2.6元,另每车次超过2公里收燃油附加费1元(不考虑其他因素).相应收费系统的程序框图如图所示,则①处应填( )
A.y=7+2.6x
B.y=8+2.6x
C.y=7+2.6(x-2)
D.y=8+2.6(x-2)
答案 D
解析 当x>2时,2公里内的收费为7元,2公里外的收费为7+(x-2)×2.6(元),另外燃油附加费为1元,
所以y=7+2.6(x-2)+1=8+2.6(x-2).
3.执行如图所示的程序框图,若输入的ε的值为0.25,则输出的n的值为________.
答案 3
解析 由程序框图可知:第一次循环,
F1=1+2=3,F0=3-1=2,n=2,
此时=≤0.25不成立;
第二次循环,F1=2+3=5,F0=5-2=3,n=3,
此时=≤0.25成立,输出n=3.
4.写出解x2-4x+3<0的算法.
解 第一步,求出对应方程x2-4x+3=0的根x1=1,x2=3.
第二步,确定根的大小x1第三步,写出解集{x|15.高一(2)班共有54名学生参加数学竞赛,现已有他们的竞赛分数,请设计一个将竞赛成绩优秀的学生的平均分输出的算法(规定90分以上为优秀,画出程序框图).
解 程序框图如图所示.
6.如图,在边长为4的正方形ABCD的边上有一点P,沿着BCDA的方向由点B向点A运动,设点P运动的路程为x(0解 y与x的关系满足分段函数:
y=
程序框图如图所示.
一、选择题
1.下列能称为算法的是( )
A.吃饭
B.做饭
C.刷碗
D.先买菜,再做饭,然后吃饭,最后刷碗
答案 D
解析 D项是完成一件事的步骤,所以是算法,A,B,C项均不符合算法的定义.
2.算法有三种基本逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是( )
A.一个算法只能包含一种基本逻辑结构
B.一个算法最多可以包含两种基本逻辑结构
C.一个算法必须包含三种基本逻辑结构
D.一个算法可能包含三种基本逻辑结构
答案 D
3.执行如图所示的程序框图,则输出S的值为( )
A.- B. C.- D.
答案 D
解析 按照程序框图依次循环运算,当k=5时,停止循环,当k=5时,S=sin =.
4.执行如图所示的程序框图,若输出k的值为8,则判断框内可填入的条件是( )
A.s≤? B.s≤? C.s≤? D.s≤?
答案 C
解析 由s=0,k=0满足条件;则k=2,s=,满足条件;k=4,s=+=,满足条件;k=6,s=+=,满足条件;k=8,s=+=,不满足条件,输出k=8,所以应填“s≤?”.
5.如图所示的程序框图是算法结构中的( )
A.条件结构 B.顺序结构
C.递归结构 D.循环结构
答案 A
解析 该程序框图符合条件结构的特征.
6.阅读如图所示的程序框图,若输出S的值为-7,则判断框内可填写( )
A.i<3? B.i<4? C.i<5? D.i<6?
答案 D
解析 第一次循环,S=2-1=1,i=1+2=3;
第二次循环,S=1-3=-2,i=3+2=5;
第三次循环,S=-2-5=-7,i=5+2=7.
因为输出S的值为-7,故判断框内应填“i<6?”.
7.执行如图所示的程序框图,若输入x=-2,h=0.5,则输出的各个数的和等于( )
A.3 B.3.5 C.4 D.4.5
答案 B
解析 按照程序框图依次执行为x=-2,h=0.5,输出y=0;
x=-1.5,h=0.5,输出y=0;
x=-1,h=0.5,输出y=0;
x=-0.5,h=0.5,输出y=0;
x=0,h=0.5,输出y=0;
x=0.5,h=0.5,输出y=0.5;
x=1,h=0.5,输出y=1;
x=1.5,h=0.5,输出y=1;
x=2,h=0.5,输出y=1,结束循环.
故输出的各个数的和为3.5,故选B.
8.阅读如图所示程序框图.若输入x为3,则输出的y的值为( )
A.24 B.25 C.30 D.40
答案 D
9.某程序框图如图所示,若运行该程序后输出的值是,则a的值为( )
A.4 B.5 C.6 D.7
答案 A
解析 由题意知S=1++++…+=,所以a=4.
10.某店一个月的收入或支出为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
解析 月总收入S应当为本月的各项收入之和,故需满足A>0,月净盈利应当为月总收入减去本月各项支出的和,又T<0,所以V=S+T.
因此判断框内应填“A>0”,处理框内应填“V=S+T”.
二、填空题
11.如图为计算y=|x|函数值的程序框图,则此程序框图中的判断框内应填__________.
答案 x<0?
解析 输入x应判断x是否大于等于零,由图知判断框应填x<0?.
12.阅读如图所示程序框图,若输入的a,b,c分别是21,32,75,则输出的a,b,c分别是________.
答案 75,21,32
解析 输入a=21,b=32,c=75,
则x=21,a=75,c=32,b=21,
则输出a=75,b=21,c=32.
三、解答题
13.如图所示的程序框图表示了一个什么样的算法?试用当型循环写出它的算法并画出相应的程序框图.
解 这是一个计算10个数的平均数的算法.
当型循环的算法如下:
第一步,S=0,
第二步,I=1.
第三步,如果I小于等于10,执行第四步;否则,转第七步.
第四步,输出G.
第五步,S=S+G.
第六步,I=I+1,返回第三步.
第七步,A=.
第八步,输出A.
程序框图如图.
14.执行如图所示的程序框图,若x∈[a,b],y∈[0,4],则b-a的最小值为( )
A.2 B.3 C.4 D.5
答案 A
解析 程序框图的功能为求分段函数y=的函数值,其图象如图所示.
由图可知2≤b-a≤5,故选A.
15.某市劳动保障部门规定:某工种在法定工作时间内,工资为每小时8元,加班工资为每小时12元.已知某人在一周内工作60个小时,其中加班20个小时,他每周收入的10%要交纳税金,请设计一个算法,计算此人这周所得的净收入,并画出相应的程序框图.
解 此人一周在法定工作时间内工作40个小时,加班20个小时,他一周内的净收入等于(40×8+20×12)×(1-10%)元.
算法如下:
第一步,令T=40,t=20.
第二步,计算S=(8×T+12×t)×(1-10%).
第三步,输出S.
程序框图如图.
课件24张PPT。专题突破一 例析典型算法与程序框图第一章 算法初步一、解方程(方程组)的算法
例1 用自然语言描述求一元二次方程x2+bx+c=0的根的算法.思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法.解 用自然语言来描述算法,
第一步,计算Δ=b2-4ac.
第二步,如果Δ<0,则原方程无实数解,输出“无实数解”;点评 第二步中包含了一个判断Δ=b2-4ac是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b2-4ac小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的.二、套用公式求值的算法思维切入 这是一个函数求值问题,给C赋值再代入解析式求F.解 第一步,输入摄氏温度C.第三步,输出华氏温度F.点评 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果.三、判断性质型问题的算法思维切入 直线与圆的位置关系有三种:相离、相切、相交,如果圆心到直线的距离d>r,则直线与圆相离,d=r,则直线与圆相切,d第二步,计算z1=Ax0+By0+C.
第三步,计算z2=A2+B2.第五步,如果d>r则输出相离,如果d=r则输出相切,如果d会分成若干模块,一个模块出了问题只需要修改这一模块,而不需要全盘翻工.思维切入 根据算法的特点,我们学过的加、减、乘、除运算法则都是算法,只要按照具体的规则有步骤地描述过程,便有了该题的算法.解 第一步,设i=1,P=1.
第二步,如果i≤6执行第三步,否则执行第五步.
第三步,计算P×i并将结果代替P.
第四步,将i+1代替i,转去执行第二步.
第五步,输出P.例4 用自然语言描述求解P=1×2×3×4×5×6问题的算法.四、累加、累乘问题的算法点评 i称为计数变量,每一次循环它的值增加1,由1变到6,P是一个累乘变量,每一次循环得到一个新的结果,然后新的结果代替原值.五、顺序结构的程序框图解 程序框图如图所示.例5 输入一个实数x,画出求函数y=x3+3x-7的值的一个程序框图.点评 一般的,对于一次函数、二次函数、高次函数等的求值问题,通常采用顺序结构.六、条件结构的程序框图例6 假设到银行办理个人异地汇款时,银行要收取一定的手续费,汇款不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取手续费;超过5 000元,一律收取50元手续费.试写出汇款额为x元时,银行收取手续费y元的计算方法,并画出程序框图.思维切入 根据题意,建立函数模型.写出算法,确定用含有条件结构的程序框图表示.解 本题是一个实际问题,应先建立数学模型:由此可知,求手续费,需先判断x的取值范围.
故应用条件结构描述,程序框图如图所示.点评 对于三段或以上的分段函数,可以写成嵌套式条件结构,也可以用顺序结构一段一段地讨论.七、循环结构的程序框图例7 某机械厂为增加产值进行了技术革新.据统计2009年的生产总值为500万元,技术革新后预计每年的生产总值比上一年增加5%,问最早要到哪一年生产总值才能超过600万元,试用程序框图表示.思维切入 用变量n,a分别表示所经过的年数和生产总值的数量,注意变量的初始值以及递加的值是多少.由题意知第n年后的生产总值为a=500(1+0.05)n,此时为(2009+n)年.由于题中进行了重复的运算,故应引入循环结构.解 程序框图如图所示.点评 在本例中,给出了当型循环结构的框图,同学们可以自行完成直到型循环结构.123451.已知如图所示的程序框图,若输出的S是30,
则①中可以为
A.n≤2? B.n≤3?
C.n≤4? D.n≤5?√解析 第一次循环:S=0+2=2,n=1+1=2,继续循环;
第二次循环:S=2+22=6,n=2+1=3,继续循环;
第三次循环:S=6+23=14,n=3+1=4,继续循环;
第四次循环:S=14+24=30,n=4+1=5,停止循环,输出S=30.6达标检测DABIAOJIANCE1234562.某市的士收费办法如下:不超过2公里收7元(即起步价7元),超过2公里的里程每公里收2.6元,另每车次超过2公里收燃油附加费1元(不考虑其他因素).相应收费系统的程序框图如图所示,则①处应填
A.y=7+2.6x B.y=8+2.6x
C.y=7+2.6(x-2) D.y=8+2.6(x-2)√解析 当x>2时,2公里内的收费为7元,2公里外的收费为7+(x-2)×2.6(元),另外燃油附加费为1元,
所以y=7+2.6(x-2)+1=8+2.6(x-2).123453解析 由程序框图可知:第一次循环,
F1=1+2=3,F0=3-1=2,n=2,63.执行如图所示的程序框图,若输入的ε的值为0.25,则输出的n的值为_____.第二次循环,F1=2+3=5,F0=5-2=3,n=3,1234564.写出解x2-4x+3<0的算法.解 第一步,求出对应方程x2-4x+3=0的根x1=1,x2=3.
第二步,确定根的大小x1第三步,写出解集{x|1一、基本的条件语句
例1 运行如图所示的程序,输出的y与输入的x满足的关系式为____________________.
INPUT x
IF x<1 OR x>8 THEN
y=2^x
ELSE
y=3*x+1
END IF
PRINT y
END
思维切入 本题中使用的是“IF-THEN-ELSE-END IF”语句.当条件成立时,执行语句“y=2^x”,不成立时,执行语句“y=3*x+1”,故y=
答案 y=
点评 (1)基本的条件语句有两种.当判断条件成立与否都需要执行某操作时,使用“IF-THEN-ELSE-END IF”语句;当条件判断后只需执行一种操作时,使用“IF-THEN-END IF”语句.
(2)求分段函数的值是条件语句的重要应用.
二、条件语句的复合
例2 已知a,b,c三个实数中,有且只有一个是负数,设计一个程序,筛选出这个负数.
思维切入 需要对这三个数逐一进行判断,故用条件语句的并列形式或嵌套形式.
解 程序如图.
INPUT “a,b,c=”;a,b,c
IF a<0 THEN
PRINT a
ELSE
IF b<0 THEN
PRINT b
ELSE
PRINT c
END IF
END IF
END
点评 ①一般要求一个“IF”都要有一个“END IF”与其对应;②在用条件语句的嵌套书写程序时,要弄清哪个“IF”对应哪个“END IF”;③书写时,注意每一层要对齐.
三、循环语句求累加和或累乘积
例3 编写程序,计算2+23+25+…+299的值.
思维切入 这是一个累加问题,可以用WHILE语句,也可以用UNTIL语句来编写程序.
解 程序如图.
i=1
S=0
WHILE i<=50
S=S+2^(2*i-1(
i=i+1
WEND
PRINT S
END
点评 解决具体的构造循环语句的算法问题,要尽可能地少引入变量,因为较多的变量会使得程序设计比较麻烦.同一问题的程序并不唯一.本题也可用如下图所示的程序表示.注意两程序中循环体部分的区别.当然了,变量的初值不同,程序也会有所改变.
i=1
S=0
WHILE i<=99
S=S+2^i
i=i+2
WEND
PRINT S
END
四、条件语句与循环语句的嵌套
例4 分别用WHILE语句和UNTIL语句编写计算机程序输出1~100之间(含1和100)能被3整除的所有整数.
思维切入
解 利用WHILE语句编写程序如下:
i=1
WHILE i<=100
IF i MOD 3=0 THEN
PRINT i
END IF
i=i+1
WEND
END
利用UNTIL语句编写程序如下:
i=1
DO
IF i MOD 3=0 THEN
PRINT i
END IF
i=i+1
LOOP UNTIL i>100
END
点评 对于循环语句内嵌套条件语句的问题,先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不冲突,以免引起矛盾.
五、循环语句的嵌套问题
例5 设计一个程序,输出落在圆x2+y2=100内且在第一象限的所有整点的坐标.
思维切入 由题意知1≤x<10,1≤y<10且x,y∈Z.故设计算法时可先确定x,让y由1取到9逐一验证条件,然后改变x的值,直至验完.
解 程序如下:
r=10
x=1
WHILE x<r
y=1
WHILE y<r
IF x^2+y^2<r^2 THEN
PRINT x,y
END IF
y=y+1
WEND
x=x+1
WEND
END
点评 对于循环语句的嵌套问题,需要正确区分内循环变量和外循环变量.循环变量是循环语句的关键,循环变量的范围决定着循环的次数.解决二重循环问题时,首先固定外循环变量的值,由外向内推导,以此类推,可解决更复杂的循环语句的嵌套问题.
1.设计一个计算1×3×5×7×9的算法,下面给出了算法语句的一部分,则在横线①上应填入下面数据中的( )
S=1
i=3
DO
S=S*i
i=i+2
LOOP UNTIL i> ①
PRINT S
END
A.8 B.11 C.10 D.12
答案 C
解析 由算法知i的取值为3,5,7,9,…,又只需计算1×3×5×7×9,因此只要保证所填数大于等于9,小于11即可,故选C.
2.阅读程序,当输入x的值为3时,输出y的值为________.(其中e为自然对数的底数)
INPUT x
IF x<=e THEN
y=0.5+0.5*(x-2(
ELSE
y=0.5*x
END IF
PRINT y
END
答案 1.5
解析 当输入x=3时,由于3>e,故执行y=0.5x,
即y=0.5×3=1.5.
3.阅读如图所示的程序,若输入x的值为5,则输出的结果是________.
INPUT x
IF x<3 THEN
y=2*x
ELSE
IF x>3 THEN
y=x*x-1
ELSE
y=2
END IF
END IF
PRINT y
END
答案 24
解析 当x=5时,y=52-1=24.
4.阅读下列算法语句:
i=1
S=0
DO
S=S+i
i=i+1
LOOP UNTIL i>98
PRINT S
END
则S的表达式为________.
答案 S=1+2+3+…+98
解析 这是一个UNTIL语句,终止条件是i>98.循环体累加,即从1累加到98.
5.执行下面的程序,如果输入N=4,那么输出的S=________.
INPUT N
k=1
S=0
T=1
DO
T=
S=S+T
k=k+1
LOOP UNTIL k>N
PRINT S
END
答案
解析 第一次循环,T=1,S=1,k=2;第二次循环,T=,S=1+,k=3;第三次循环,T=,S=1++,k=4;第四次循环,T=,S=1+++,k=5,此时满足条件,输出S.
6.某学生在体育训练时弄伤了膝关节,医生给他开了一些消炎药,并叮嘱他每天早晚8时各服用一片药片.现知该药片每片220毫克,他的肾脏每12小时从体内滤出这种药的60%.设计一个程序,求他第n次服药后体内此药的残留量,并画出程序框图.
解 算法分析:第一次服药后体内此药的残留量:V1=220;
第二次服药后体内此药的残留量:V2=V1×0.4+220;
第三次服药后体内此药的残留量:V3=V2×0.4+220;…;
第n次服药后体内此药的残留量:Vn=Vn-1×0.4+220.
故可用循环语句求解.
程序框图如图:
程序如图:
INPUT “n=”;n
V=0
i=1
DO
V=V*0.4+220
i=i+1
LOOP UNTIL i>n
PRINT “V=”;V
END
一、选择题
1.下列语句中正确的个数是( )
①输入语句INPUT x+2;
②赋值语句x=x-5;
③输出语句PRINT M=2.
A.0 B.1 C.2 D.3
答案 B
解析 ①中输入语句只能给变量赋值,不能给表达式“x+2”赋值,所以①错误;②中“x=x-5”表示变量x减去5后再赋值给x,即执行“x=x-5”后,x比原来的值小5,所以②正确;③中不能输出赋值语句,所以③错误.
2.执行下列程序后,变量a,b的值分别为( )
a=15
b=20
a=a+b
b=a-b
a=a-b
PRINT a,b
END
A.20,15 B.35,35
C.5,5 D.-5,-5
答案 A
解析 a=15,b=20,把a+b的值赋给a,因此得出a=35,再把a-b的值赋给b,即b=35-20=15,再把a-b的值赋给a,此时a=35-15=20,因此最后输出的a,b的值分别为20,15.
3.若执行下列程序后输出的结果为3,则输入的x值可能为( )
INPUT “x=”;x
y=x*x+2*x
PRINT y
END
A.1 B.-3 C.-1 D.1或-3
答案 D
解析 由题意得x2+2x=3,解方程得x=1或x=-3.
4.下列程序的功能是求函数y=|x-4|+1的值,则①处为( )
INPUT “x=”;x
IF x>=4 THEN
y=x-3;
ELSE
①
END IF
PRINT y
END
A.y=3-x B.y=x-5
C.y=5-x D.y=ABS(x-4)+1
答案 C
解析 ∵y=|x-4|+1=
∴①处应为“y=5-x”.
5.阅读下列程序:
INPUT x
IF x<0 THEN
y=7*x/2+3
ELSE
IF x>0 THEN
y=7*x/2-5
ELSE
y=0
END IF
END IF
PRINT y
END
若输入x=-2,则输出结果为( )
A.2 B.-12 C.10 D.-4
答案 D
解析 输入x=-2,则x<0,执行“y=7*x/2+3”这一语句,即有y=-4.
6.运行下面的程序后,输出的结果为( )
i=1
WHILE i<8
i=i+2
S=2*i+3
i=i-1
WEND
PRINT S
END
A.17 B.19 C.21 D.23
答案 C
解析 最后一次执行循环体时,S=2×9+3=21.
7.如果运行以下程序后输出的结果是720,那么在程序中UNTIL后面的“条件”是( )
i=10
S=1
DO
S=S*i
i=i-1
LOOP UNTIL “条件”
PRINT S
END
A.i>8 B.i>=8 C.i<=8 D.i<8
答案 D
解析 该程序的功能是计算S=10×9×8×…×n的值,在UNTIL循环语句中满足条件则退出循环体,由于运行程序后输出的结果是720,故选D.
8.阅读下列程序:
INPUT“x=”;4
IF x>3 THEN
y=x*x
ELSE
y=2*x
END IF
PRINT y
END
运行该程序后,变量y的值为( )
A.4 B.16 C.6 D.8
答案 B
解析 因x=4满足“x>3”的条件,所以执行的是THEN后面的语句,得y=4×4=16.
9.运行下面程序的结果为( )
i=1
S=0
WHILE S<=20
S=S+i
i=i+1
WEND
PRINT i
END
A.7 B.8 C.5 D.6
答案 A
解析 第一次循环,S=0+1=1,i=1+1=2;
第二次循环,S=1+2=3,i=2+1=3;
第三次循环,S=3+3=6,i=3+1=4;
第四次循环,S=6+4=10,i=4+1=5;
第五次循环,S=10+5=15,i=5+1=6;
第六次循环,S=15+6=21>20,i=6+1=7.
故输出i的值为7.
二、填空题
10.2014年11月,国家调控了物价后,某水果店三种水果的标价分别为香蕉:2元/千克,苹果:3元/千克,梨:2.5元/千克.店主为了方便收款设计了一个程序,请将下面的程序补充完整.
INPUT
x=2*a
y=3*b
z=2.5*c
S=
PRINT S
END
答案 a,b,c x+y+z
11.已知下面的程序,写出相应的输出结果.
INPUT x
IF x<=10 THEN
p=x*0.35
ELSE
p=10*0.35+(x-10(*0.7
END IF
PRINT p
END
(1)若输入x=6,则p=________;
(2)若输入x=12,则p=________.
答案 (1)2.1 (2)4.9
解析 (1)当x=6时,x≤10,则p=6×0.35=2.1.
(2)当x=12时,x>10,则p=10×0.35+(12-10)×0.7=4.9.
12.运行下面的程序后第3个输出的数是________.
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOP UNTIL i>5
END
答案 2
解析 第一个输出的数是1,
第二个输出的数是x=1+=,
第三个输出的数是x=1++=2.
三、解答题
13.阅读下面两个程序并回答问题.
INPUT x
INPUT y
x=2 019
y=2 020
x=y
PRINT x,y
END
(a)
INPUT x
INPUT y
x=2 019
y=2 020
y=x
PRINT x,y
END
(b)
(1)写出两个程序的运行结果;
(2)请简要说明上述两个程序的区别.
解 (1)程序(a)的运行结果是2 020,2 020;
程序(b)的运行结果是2 019,2 019.
(2)程序(a)中的“x=y”是将y的值2 020赋给x,赋值后x的值变为2 020,而y的值保持不变;
程序(b)中的“y=x”是将x的值2 019赋给y,赋值后y的值变为2 019,而x的值保持不变.
14.已知正四棱柱的底边长a和高h,试编写程序,计算该四棱柱的体积.
解
INPUT a
INPUT h
PRINT “四棱柱的体积为”;h*a^2
END
或
INPUT “四棱柱的底边长是”;a
INPUT “四棱柱的高是”;h
PRINT “四棱柱的体积为”;h*a^2
END
15.下面程序的功能是输出1~100内(包括100)的所有偶数.
i=1
DO
m=i MOD 2
IF ① THEN
PRINT i
END IF
__②
LOOP UNTIL i>100
END
(1)试将上面的程序补充完整;
(2)请用WHILE型循环语句改写上面的程序.
解 (1)①m=0 ②i=i+1
(2)改写为WHILE型循环程序如图:
i=1
WHILE i<=100
m=i MOD 2
IF m=0 THEN
PRINT i
END IF
i=i+1
WEND
END
课件23张PPT。专题突破二 算法语句的应用第一章 算法初步一、基本的条件语句
例1 运行如图所示的程序,输出的y与输入的x满足的关系式为
____________________.思维切入 本题中使用的是“IF-THEN-ELSE-END IF”语句.当条件成立时,执行语句“y=2^x”,不成立时,执行语句“y=3*x+1”,故y=INPUT x
IF x<1 OR x>8 THEN
y=2^x
ELSE
y=3*x+1
END IF
PRINT y
END点评 (1)基本的条件语句有两种.当判断条件成立与否都需要执行某操作时,使用“IF-THEN-ELSE-END IF”语句;当条件判断后只需执行一种操作时,使用“IF-THEN-END IF”语句.
(2)求分段函数的值是条件语句的重要应用.二、条件语句的复合思维切入 需要对这三个数逐一进行判断,故用条件语句的并列形式或嵌套形式.例2 已知a,b,c三个实数中,有且只有一个是负数,设计一个程序,筛选出这个负数.解 程序如图.INPUT “a,b,c=”;a,b,c
IF a<0 THEN
PRINT a
ELSE
IF b<0 THEN
PRINT b
ELSE
PRINT c
END IF
END IF
END点评 ①一般要求一个“IF”都要有一个“END IF”与其对应;②在用条件语句的嵌套书写程序时,要弄清哪个“IF”对应哪个“END IF”;③书写时,注意每一层要对齐.三、循环语句求累加和或累乘积思维切入 这是一个累加问题,可以用WHILE语句,也可以用UNTIL语句来编写程序.解 程序如图.例3 编写程序,计算2+23+25+…+299的值.i=1
S=0
WHILE i<=50
S=S+2^(2*i-1)
i=i+1
WEND
PRINT S
END点评 解决具体的构造循环语句的算法问题,要尽可能地少引入变量,因为较多的变量会使得程序设计比较麻烦.同一问题的程序并不唯一.本题也可用如图所示的程序表示.注意两程序中循环体部分的区别.当然了,变量的初值不同,程序也会有所改变.i=1
S=0
WHILE i<=99
S=S+2^i
i=i+2
WEND
PRINT S
END四、条件语句与循环语句的嵌套例4 分别用WHILE语句和UNTIL语句编写计算机程序输出1~100之间(含1和100)能被3整除的所有整数.思维切入 解 利用WHILE语句编写程序如下:i=1
WHILE i<=100
IF i MOD 3=0 THEN
PRINT i
END IF
i=i+1
WEND
END利用UNTIL语句编写程序如下:i=1
DO
IF i MOD 3=0 THEN
PRINT i
END IF
i=i+1
LOOP UNTIL i>100
END点评 对于循环语句内嵌套条件语句的问题,先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不冲突,以免引起矛盾.五、循环语句的嵌套问题例5 设计一个程序,输出落在圆x2+y2=100内且在第一象限的所有整点的坐标.思维切入 由题意知1≤x<10,1≤y<10且x,y∈Z.故设计算法时可先确定x,让y由1取到9逐一验证条件,然后改变x的值,直至验完.解 程序如右:r=10
x=1
WHILE x<r
y=1
WHILE y<r
IF x^2+y^2<r^2 THEN
PRINT x,y
END IF
y=y+1
WEND
x=x+1
WEND
END点评 对于循环语句的嵌套问题,需要正确区分内循环变量和外循环变量.循环变量是循环语句的关键,循环变量的范围决定着循环的次数.解决二重循环问题时,首先固定外循环变量的值,由外向内推导,以此类推,可解决更复杂的循环语句的嵌套问题.123451.设计一个计算1×3×5×7×9的算法,下面给出了算法语句的一部分,则在横线①上应填入下面数据中的
A.8 B.11
C.10 D.12√解析 由算法知i的取值为3,5,7,9,…,又只需计算1×3×5×7×9,因此只要保证所填数大于等于9,小于11即可,故选C.6达标检测DABIAOJIANCES=1
i=3
DO
S=S*i
i=i+2
LOOP UNTIL i> ①
PRINT S
END1234562.阅读程序,当输入x的值为3时,输出y的值为_____.(其中e为自然对数的底数)1.5解析 当输入x=3时,由于3>e,
故执行y=0.5x,
即y=0.5×3=1.5.INPUT x
IF x<=e THEN
y=0.5+0.5*(x-2)
ELSE
y=0.5*x
END IF
PRINT y
END12345解析 当x=5时,y=52-1=24.63.阅读如图所示的程序,若输入x的值为5,则输出的结果是____.INPUT x
IF x<3 THEN
y=2*x
ELSE
IF x>3 THEN
y=x*x-1
ELSE
y=2
END IF
END IF
PRINT y
END241234564.阅读右列算法语句:
则S的表达式为_______________________.i=1
S=0
DO
S=S+i
i=i+1
LOOP UNTIL i>98
PRINT S
END解析 这是一个UNTIL语句,终止条件是i>98.循环体累加,即从1累加到98.S=1+2+3+…+981234565.执行右面的程序,如果输入N=4,那么输出的S=
_____.INPUT N
k=1
S=0
T=1
DO
T=
S=S+T
k=k+1
LOOP UNTIL k>N
PRINT S
END解析 第一次循环,T=1,S=1,k=2;1234566.某学生在体育训练时弄伤了膝关节,医生给他开了一些消炎药,并叮嘱他每天早晚8时各服用一片药片.现知该药片每片220毫克,他的肾脏每12小时从体内滤出这种药的60%.设计一个程序,求他第n次服药后体内此药的残留量,并画出程序框图.解 算法分析:第一次服药后体内此药的残留量:V1=220;
第二次服药后体内此药的残留量:V2=V1×0.4+220;
第三次服药后体内此药的残留量:V3=V2×0.4+220;…;
第n次服药后体内此药的残留量:Vn=Vn-1×0.4+220.
故可用循环语句求解.
程序框图如图:123456程序如图:123456INPUT “n=”;n
V=0
i=1
DO
V=V*0.4+220
i=i+1
LOOP UNTIL i>n
PRINT “V=”;V
END章末复习
学习目标 1.加深对算法思想的理解.2.加强用程序框图清晰条理地表达算法的能力.3.进一步体会由自然语言到程序框图再到程序的逐渐精确的过程.
1.算法、程序框图、程序语言
(1)算法的概念: 算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的、确切的计算序列,并且这样的步骤或序列能够解决一类问题.
(2)程序框图: 程序框图由程序框组成, 按照算法进行的顺序用流程线将程序框连接起来.结构可分为顺序结构、条件结构和循环结构.
(3)算法语句: 基本算法语句有输入语句、输出语句、赋值语句、条件语句、循环语句五种,它们对应于算法的三种逻辑结构:顺序结构、条件结构、循环结构.用基本语句编写程序时要注意各种语句的格式要求,条件语句应注意IF与THEN、END_IF配套使用,缺一不可,而ELSE可选;循环语句应注意循环条件的准确表达以及循环变量的步长设置.
2.算法案例
本章涉及的辗转相除法、更相减损术是用来求两个正整数的最大公约数的,秦九韶算法是用来计算多项式的值的,二进制在计算机上的应用受到我国周易八卦的影响和启发,都是我国古代灿烂的数学文明的体现.对这些案例,应该知其然,还要知其所以然,体会其中蕴含的算法思想.
题型一 算法设计
例1 求两底面直径分别为2和4,且高为4的圆台的表面积及体积,写出解决该问题的算法.
解 算法如下:
第一步,取r1=1,r2=2,h=4.
第二步,计算l=.
第三步,计算S=πr+πr+π(r1+r2)l与V=π(r+r+r1r2)h.
第四步,输出计算结果.
反思感悟 设计解决具体问题的算法的一般步骤
(1)认真分析所给的问题,找出解决该类问题的一般方法.
(2)借助于一般变量或参数对算法进行描述.
(3)将解决问题的过程分解为若干个步骤.
(4)用简洁的语言将各个步骤表述出来.
跟踪训练1 已知函数y=2x4+8x2-24x+30,写出连续输入自变量的11个取值,分别输出相应的函数值的算法.
解 算法如下:
第一步,输入自变量x的值.
第二步,计算y=2x4+8x2-24x+30.
第三步,输出y.
第四步,记录输入次数.
第五步,判断输入的次数是否大于11.若是,则结束算法;否则,返回第一步.
题型二 程序框图的识图与画法
例2 (1)执行如图所示的程序框图,如果输入的a=4,b=6,那么输出的n等于( )
A.3 B.4 C.5 D.6
答案 B
解析 执行第一次循环的情况是:a=2,b=4,a=6,s=6,n=1;执行第二次循环的情况是:a=-2,b=6,a=4,s=10,n=2,执行第三次循环的情况是:a=2,b=4,a=6,s=16,n=3,执行第四次循环的情况是:a=-2,b=6,a=4,s=20,n=4.根据跳出循环体的判断条件可知执行完第四次跳出循环体,输出n的值,n的值为4.
(2)已知函数f(x)=试画出求f(f(x))的值的程序框图.
解 算法的程序框图如图所示.
反思感悟 程序框图的画法规则
(1)使用标准的图形符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.
(4)判断框分两大类,一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.
(5)在图形符号内描述的语言要简练、清楚.
跟踪训练2 (1)执行如图所示的程序框图,输出的S值为( )
A.8 B.9 C.27 D.36
答案 B
解析 ①S=0+03=0,k=0+1=1,满足k≤2;
②S=0+13=1,k=1+1=2,满足k≤2;
③S=1+23=9,k=2+1=3,不满足k≤2,输出S=9.
(2)画出计算S=1·22+2·23+3·24+…+10·211的值的程序框图.
解 程序框图如图所示.
题型三 算法语言
例3 (1)执行下列语句.分别输入8,4和2,4,则两次执行该语句的输出结果分别为( )
INPUT A,B
IF A>B THEN
C=
ELSE
C=
END IF
PRINT C
END
A.8,2 B.8,4 C.4,2 D.4,4
(2)阅读下面的程序:
INPUT n
i=1
S=1
WHILE i<=n
S=S*i
i=i+1
WEND
PRINT S
END
在执行上面的程序时如果输入6,那么输出的结果为( )
A.6 B.720 C.120 D.1
答案 (1)C (2)B
解析 (1)输入8,4时,满足A>B,则C===4;输入2,4时,满足A≤B,则C===2.
(2)经过第一次循环得到S=1,i=2;
经过第二次循环得到S=2,i=3;
经过第三次循环得到S=6,i=4;
经过第四次循环得到S=24,i=5;
经过第五次循环得到S=120,i=6;
经过第六次循环得到S=720,i=7,此时不满足循环的条件,输出S.故选B.
反思感悟 (1)在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法.WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体.
(2)循环语句主要用来实现算法中的循环结构,处理一些需要反复执行的运算任务,如累加求和,累乘求积等.
跟踪训练3 (1)下列算法语句为一个求50个数的平均数的程序,在横线上应填入的语句为( )
INPUT x
S=0
i=1
DO
S=S+x
i=i+1
LOOP UNTIL
a=S/50
PRINT a
END
A.i>50 B.i<50 C.i>=50 D.i<=50
(2)根据下列算法语句,当输入a,b的值分别为2,3时,最后输出的m的值是________.
INPUT a,b
IF a>b THEN
m=a
ELSE
m=b
END IF
PRINT m
END
答案 (1)A (2)3
解析 (1)由已知的程序语句可得这是一个直到型循环,当满足条件时退出循环.
由于第一次判断条件时i的值等于2,
故第五十次判断条件时i的值等于51,
即i≤50时继续循环,
故横线上应填入的语句为“i>50”.
(2)因为该算法的设计目的是输出a,b中较大的数,且a=2,b=3,较大的数是3,所以输出的m的值为3.
多项式求值
典例 用秦九韶算法求多项式f(x)=4x5+3x4+5x3+x2+x当x=2时的值.
解 因为f(x)=((((4x+3)x+5)x+1)x+1)x,
所以v0=4,
v1=4×2+3=11,
v2=11×2+5=27,
v3=27×2+1=55,
v4=55×2+1=111,
v5=111×2=222.
所以当x=2时,
多项式f(x)=4x5+3x4+5x3+x2+x的值为222.
[素养评析] (1)利用秦九韶算法可以求多项式的值.秦九韶算法的意义在于将多项式求值规范化、程序化、这是算法案例的一个重要内容.
(2)在求多项式的值时,依据秦九韶运算法则,设计运算程序,求得运算结果,充分体现了数学运算的核心素养.
1.如图所示,程序框图的输出结果是( )
A.3 B.4 C.5 D.8
答案 B
解析 当x=1,y=1时,满足x≤4,
则x=2,y=2;
当x=2,y=2时,满足x≤4,
则x=2×2=4,y=2+1=3;
当x=4,y=3时,满足x≤4,
则x=2×4=8,y=3+1=4;
当x=8,y=4时,不满足x≤4,
则输出y=4.
2.如图,程序框图所进行的求和运算是( )
A.1+++…+ B.1+++…+
C.+++…+ D.+++…+
答案 C
解析 因为i是计数变量,n是计算变量.
当i=1时,s=;
当i=2时,s=+;
…;
当i=11时,跳出循环.故选C.
3.若输入t=8,则下列程序执行后输出的结果是________.
INPUT t
IF t<=8 THEN,
c=0.2
ELSE
c=0.2+0.1*(t-3(
END IF
PRINT c
END
答案 0.2
解析 t=8满足条件“t<=8”,执行“c=0.2”.
4.程序如下:
INPUT “a,b,c=”;a,b,c
a=b
b=c
c=a
PRINT a,b,c
END
若输入10,20,30,则输出结果为________.
答案 20,30,20
解析 给a,b,c赋初值分别为10,20,30,执行“a=b”后a的值为20,执行“b=c”后b的值为30,执行“c=a”后c的值为20.故答案为20,30,20.
5.如图是某算法的程序框图,则程序运行后输出的结果是________.
答案 10
解析 程序运行后,s=0+(-1)1+1=0,n=2;
s=0+(-1)2+2=3,n=3;
s=3+(-1)3+3=5,n=4;
s=5+(-1)4+4=10>9,
故输出的结果是10.
1.算法往往是把问题的解法划分为若干个可执行的步骤,有些步骤甚至重复多次,但最终都必须在有限个步骤之内完成.
2.对程序框图的考查之一是程序的运行结果;考查之二是补全程序框图中的条件或循环体等.
3.算法设计和程序框图是程序设计的基础,编写程序的基本方法是“自上而下,逐步求精”.
课件30张PPT。章末复习第一章 算法初步学习目标XUEXIMUBIAO1.加深对算法思想的理解.
2.加强用程序框图清晰条理地表达算法的能力.
3.进一步体会由自然语言到程序框图再到程序的逐渐精确的过程.NEIRONGSUOYIN内容索引知识梳理题型探究达标检测1知识梳理PART ONE1.算法、程序框图、程序语言
(1)算法的概念: 算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的 、 计算序列,并且这样的步骤或序列能够解决 .
(2)程序框图: 程序框图由 组成, 按照 用 将程序框连接起来.结构可分为 结构、 结构和 结构.
(3)算法语句: 基本算法语句有 语句、 语句、 语句、 语句、 语句五种,它们对应于算法的三种逻辑结构:顺序结构、条件结构、循环结构.用基本语句编写程序时要注意各种语句的 ,条件语句应注意IF与 配套使用,缺一不可,而 可选;循环语句应注意 的准确表达以及 的步长设置.有限的确切的一类问题程序框算法进行的顺序流程线顺序条件循环输入输出赋值条件循环格式要求THEN、END IFELSE循环条件循环变量2.算法案例
本章涉及的辗转相除法、更相减损术是用来求 的,秦九韶算法是用来 的,二进制在计算机上的应用受到我国周易八卦的影响和启发,都是我国古代灿烂的数学文明的体现.对这些案例,应该知其然,还要知其所以然,体会其中蕴含的 .两个正整数的最大公约数计算多项式的值算法思想2题型探究PART TWO题型一 算法设计例1 求两底面直径分别为2和4,且高为4的圆台的表面积及体积,写出解决该问题的算法.解 算法如下:
第一步,取r1=1,r2=2,h=4.第四步,输出计算结果.反思感悟 设计解决具体问题的算法的一般步骤
(1)认真分析所给的问题,找出解决该类问题的一般方法.
(2)借助于一般变量或参数对算法进行描述.
(3)将解决问题的过程分解为若干个步骤.
(4)用简洁的语言将各个步骤表述出来.跟踪训练1 已知函数y=2x4+8x2-24x+30,写出连续输入自变量的11个取值,分别输出相应的函数值的算法.解 算法如下:
第一步,输入自变量x的值.
第二步,计算y=2x4+8x2-24x+30.
第三步,输出y.
第四步,记录输入次数.
第五步,判断输入的次数是否大于11.若是,则结束算法;否则,返回第一步.题型二 程序框图的识图与画法例2 (1)执行如图所示的程序框图,如果输入的a=4,b=6,那么输出的n等于
A.3 B.4
C.5 D.6√解析 执行第一次循环的情况是:a=2,b=4,a=6,s=6,n=1;
执行第二次循环的情况是:a=-2,b=6,a=4,s=10,n=2,
执行第三次循环的情况是:a=2,b=4,a=6,s=16,n=3,
执行第四次循环的情况是:a=-2,b=6,a=4,s=20,n=4.
根据跳出循环体的判断条件可知执行完第四次跳出循环体,输出n的值,n的值为4.解 算法的程序框图如图所示.反思感悟 程序框图的画法规则
(1)使用标准的图形符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.
(4)判断框分两大类,一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.
(5)在图形符号内描述的语言要简练、清楚.跟踪训练2 (1)执行如图所示的程序框图,输出的S值为
A.8 B.9
C.27 D.36√解析 ①S=0+03=0,k=0+1=1,满足k≤2;
②S=0+13=1,k=1+1=2,满足k≤2;
③S=1+23=9,k=2+1=3,不满足k≤2,输出S=9.解 程序框图如图所示.(2)画出计算S=1·22+2·23+3·24+…+10·211的值的程序框图.题型三 算法语言例3 (1)执行下列语句.分别输入8,4和2,4,则两次执行该语句的输出结果分别为INPUT A,B
IF A>B THEN
C=
ELSE
C=
END IF
PRINT C
ENDA.8,2 B.8,4
C.4,2 D.4,4√(2)阅读右面的程序:
在执行右面的程序时如果输入6,那么输出的结果为
A.6 B.720
C.120 D.1√解析 经过第一次循环得到S=1,i=2;
经过第二次循环得到S=2,i=3;
经过第三次循环得到S=6,i=4;
经过第四次循环得到S=24,i=5;
经过第五次循环得到S=120,i=6;
经过第六次循环得到S=720,i=7,此时不满足循环的条件,输出S.故选B.INPUT n
i=1
S=1
WHILE i<=n
S=S*i
i=i+1
WEND
PRINT S
END反思感悟 (1)在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法.WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体.
(2)循环语句主要用来实现算法中的循环结构,处理一些需要反复执行的运算任务,如累加求和,累乘求积等.跟踪训练3 (1)右列算法语句为一个求50个数的平均数的程序,在横线上应填入的语句为
A.i>50 B.i<50
C.i>=50 D.i<=50解析 由已知的程序语句可得这是一个直到型循环,当满足条件时退出循环.
由于第一次判断条件时i的值等于2,
故第五十次判断条件时i的值等于51,
即i≤50时继续循环,
故横线上应填入的语句为“i>50”.INPUT x
S=0
i=1
DO
S=S+x
i=i+1
LOOP UNTIL________
a=S/50
PRINT a
END√(2)根据右列算法语句,当输入a,b的值分别为2,3时,最后输出的m的值是________.解析 因为该算法的设计目的是输出a,b中较大的数,且a=2,b=3,较大的数是3,所以输出的m的值为3.INPUT a,b
IF a>b THEN
m=a
ELSE
m=b
END IF
PRINT m
END3核心素养之数学运算HEXINSUYANGZHISHUXUEYUNSUAN多项式求值典例 用秦九韶算法求多项式f(x)=4x5+3x4+5x3+x2+x当x=2时的值.解 因为f(x)=((((4x+3)x+5)x+1)x+1)x,
所以v0=4,
v1=4×2+3=11,
v2=11×2+5=27,
v3=27×2+1=55,
v4=55×2+1=111,
v5=111×2=222.
所以当x=2时,
多项式f(x)=4x5+3x4+5x3+x2+x的值为222.素养评析 (1)利用秦九韶算法可以求多项式的值.秦九韶算法的意义在于将多项式求值规范化、程序化、这是算法案例的一个重要内容.
(2)在求多项式的值时,依据秦九韶运算法则,设计运算程序,求得运算结果,充分体现了数学运算的核心素养.3达标检测PART THREE解析 当x=1,y=1时,满足x≤4,
则x=2,y=2;
当x=2,y=2时,满足x≤4,
则x=2×2=4,y=2+1=3;
当x=4,y=3时,满足x≤4,
则x=2×4=8,y=3+1=4;
当x=8,y=4时,不满足x≤4,
则输出y=4.1.如图所示,程序框图的输出结果是
A.3 B.4 C.5 D.8√123452.如图,程序框图所进行的求和运算是√解析 因为i是计数变量,n是计算变量.…;
当i=11时,跳出循环.故选C.123453.若输入t=8,则下列程序执行后输出的结果是________.0.2解析 t=8满足条件“t<=8”,执行“c=0.2”.INPUT t
IF t<=8 THEN
c=0.2
ELSE
c=0.2+0.1*(t-3)
END IF
PRINT c
END123454.程序如右:解析 给a,b,c赋初值分别为10,20,30,执行“a=b”后a的值为20,执行“b=c”后b的值为30,执行“c=a”后c的值为20.故答案为20,30,20.INPUT “a,b,c=”;a,b,c
a=b
b=c
c=a
PRINT a,b,c
END若输入10,20,30,则输出结果为__________.20,30,20123455.如图是某算法的程序框图,则程序运行后输出的结果是________.解析 程序运行后,s=0+(-1)1+1=0,n=2;
s=0+(-1)2+2=3,n=3;
s=3+(-1)3+3=5,n=4;
s=5+(-1)4+4=10>9,
故输出的结果是10.1012345课堂小结KETANGXIAOJIE1.算法往往是把问题的解法划分为若干个可执行的步骤,有些步骤甚至重复多次,但最终都必须在有限个步骤之内完成.
2.对程序框图的考查之一是程序的运行结果;考查之二是补全程序框图中的条件或循环体等.
3.算法设计和程序框图是程序设计的基础,编写程序的基本方法是“自上而下,逐步求精”.阶段训练一(§1.1~§1.3)
一、选择题
1.计算下列各式中的S值,能设计算法求解的是( )
①S=-1+2-3+…+28-29+30;
②S=1+2+3+…+30+…;
③S=1-2-3-…-n(n∈N*).
A.①② B.①③ C.②③ D.①②③
答案 B
解析 ②为求无限项的和,而算法要求必须在有限步之内完成.
2.用辗转相除法求394和82的最大公约数时,需要做除法的次数是( )
A.1 B.2
C.3 D.4
答案 D
解析 用辗转相除法得394=4×82+66,82=1×66+16,66=4×16+2,16=8×2,所以共需要4次.
3.下列赋值语句错误的是( )
A.i=i-1 B.m=m^2+1
C.k=-1/k D.x*y=a
答案 D
解析 执行A中语句后,i的值比原来小1,则A正确;执行B中语句后,m的值等于原来m的平方再加1,则B正确;执行C中语句后,k的值是原来的值的负倒数,则C正确;赋值号的左边只能是一个变量,则D错误.
4.下列程序段运行后输出的结果是( )
A=3
B=A*A
A=A+B
B=B+A
PRINT A,B
END
A.12,5 B.12,21
C.12,3 D.21,12
答案 B
解析 按照步骤执行,B=9,A=9+3=12,B=9+12=21,最后输出A,B的值即为12,21.
5.用秦九韶算法计算多项式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
解析 秦九韶算法中最多需用加法和乘法的次数是由多项式的次数n可知,故选A.
6.(2018·广雅中学高一月考)如图所示是一个循环结构的算法,下列说法不正确的是( )
A.①是循环变量初始化,循环就要开始
B.②是循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
答案 D
解析 由程序框图可得,①为初始条件,不可省略,故D说法错误,故选D.
7.程序运行后,输出的值是( )
i=0
DO
i=i+1
LOOP UNTIL i*i>=2 000
i=i-1
PRINT i
END
A.42 B.43 C.44 D.45
答案 C
解析 本题的目的是求出i-1,使得i×i≥2 000,
当i=45时满足条件,输出的值为i-1=44,故选C.
8.已知f(x)=x5+2x3+3x2+x+1,应用秦九韶算法计算当x=3时的值时,v3的值为( )
A.27 B.11 C.109 D.36
答案 D
解析 将函数式化成如下形式,
f(x)=((((x+0)x+2)x+3)x+1)x+1.
由内向外依次计算:
v0=1,
v1=1×3+0=3,
v2=3×3+2=11,
v3=11×3+3=36.
9.运行如图所示的程序框图,如果输入的n的值为6,那么输出的n的值为( )
A.3 B.5 C.10 D.16
答案 B
解析 输入n=6时,
第一次循环,有n==3,i=0+1=1;
第二次循环,有n=3×3+1=10,i=1+1=2;
第三次循环,有n==5,i=2+1=3,
退出循环,此时n=5,故选B.
10.运行如图所示的程序框图,若输入a,b的值分别为log43和log34,则输出M的值是( )
A.0 B.1 C.3 D.-1
答案 D
解析 ∵a=log43,b=log34,
∴b>1,0a,因此根据程序框图,
M=a·b-2=log43×log34-2=-1,故选D.
二、填空题
11.阅读下面的程序:
INPUT “x=”;x
IF x<0 THEN
y=x+3
ELSE
IF x>0 THEN
y=x+5
ELSE
y=0
END IF
END IF
PRINT y
END
如果输入x=-2,则输出的结果y为________.
答案 1
解析 本程序的功能是求分段函数
y=的值.
输入x=-2,输出y=-2+3=1.
12.执行如图的程序框图,若输出的S=,则输入的整数p的值为________.
答案 5
解析 当n=1时,S=;
当n=2时,S=;
当n=3时,S=;
当n=4时,S=;
当n=5时,S=.因此p=5.
三、解答题
13.某市对排放污水问题进行综合治理,征收污水处理费,对各厂一个月内排出的污水量m(单位:吨)收取的污水处理费为y(单位:元),为计算污水处理费现给出如下程序.请写出y与m的函数关系式,并求排放污水150吨时的污水处理费.
INPUT m
IF m<=50 THEN
y=13*m
ELSE
IF m<=100 THEN
y=50+15*(m-50(
ELSE
y=150+25*(m-100(
END IF
END IF
PRINT y
END
解 函数关系式为y=
当m=150时,y=150+25×(150-100)=1 400,
故排放污水150吨时的污水处理费为1 400元.
14.分别用算法步骤、程序框图、程序语句表示把k进制数a(共有n位数)转化成十进制数b.
解 算法步骤:
第一步,输入a,k,n的值.
第二步,赋值b=0,i=1.
第三步,b=b+ai·ki-1,i=i+1.
第四步,判断i>n是否成立.
若是,则执行第五步;
否则,返回第三步.
第五步,输出b的值.
程序框图:
程序语句:
INPUT “a,k,n=”;a,k,n
b=0
i=1
t=a MOD 10
DO
b=b+t*k^(i-1(
a=a10
t=a MOD 10
i=i+1
LOOP UNTIL i>n
PRINT b
END
15.用秦九韶算法分别计算f(x)=8x7+5x6+3x4+2x+1当x=2与x=-1时的值,并判断函数f(x)在区间[-1,2]上是否有零点.
解 ∵f(x)=((((((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时,f(x)=1 397.
同理可得当x=-1时,f(x)=-1.
∵f(-1)·f(2)=-1 397<0,
∴函数f(x)在区间[-1,2]上有零点.