第一章 算法初步(A)
(时间:120分钟 满分:150分)
一、选择题(本大题共12小题,每小题5分,共60分)
1.程序框图中 的功能是( )
A.算法的起始与结束 B.算法输入和输出信息
C.计算、赋值 D.判断条件是否成立
2.用二分法求方程x2-10=0的近似根的算法中要用哪种算法结构( )
A.顺序结构 B.条件结构
C.循环结构 D.以上都用
3.已知变量a,b已被赋值,要交换a、b的值,采用的算法是( )
A.a=b,b=a B.a=c,b=a,c=b
C.a=c,b=a,c=a D.c=a,a=b,b=c
4.阅读下图所示的程序框图,运行相应的程序,输出的结果是( )
A.1 B.2
C.3 D.4
5.给出程序如下图所示,若该程序执行的结果是3,则输入的x值是( )
A.3 B.-3
C.3或-3 D.0
6.下列给出的输入语句、输出语句和赋值语句:
(1)输出语句INPUT a,b,c
(2)输入语句INPUT x=3
(3)赋值语句 3=A
(4)赋值语句 A=B=C
则其中正确的个数是( )
A.0个 B.1个
C.2个 D.3个
7.在算法的逻辑结构中,要求进行逻辑判断,并根据结果进行不同处理的是哪种结构( )
A.顺序结构
B.条件结构和循环结构
C.顺序结构和条件结构
D.没有任何结构
8.阅读下面的程序框图,则输出的S等于( )
A.14 B.20
C.30 D.55
9.将二进制数110 101(2)转化为十进制数为( )
A.106 B.53
C.55 D.108
10.两个整数1 908和4 187的最大公约数是( )
A.51 B.43
C.53 D.67
11.运行下面的程序时,WHILE循环语句的执行次数是( )
A.3 B.4 C.15 D.19
12.下图是把二进制数11111(2)化成十进制数的一个程序框图,判断框内应填入的条件是( )
A.i>5 B.i≤4
C.i>4 D.i≤5
题号
1
2
3
4
5
6
7
8
9
10
11
12
答案
二、填空题(本大题共4小题,每小题5分,共20分)
13.如果a=123,那么在执行b=a/10-a10后,b的值是________.
14.给出一个算法:
根据以上算法,可求得f(-1)+f(2)=________.
15.把89化为五进制数是________.
16.执行下边的程序框图,输出的T=________.
三、解答题(本大题共6小题,共70分)
17.(10分)分别用辗转相除法和更相减损术求282与470的最大公约数.
18.(12分)画出计算12+32+52+…+9992的程序框图,并编写相应的程序.
19.(12分)已知函数f(x)=对每输入的一个x值,都得到相应的函数值.画出程序框图并写出程序.
20.(12分)用秦九韶算法计算f(x)=2x4+3x3+5x-4在x=2时的值.
21.(12分)高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的程序(规定90分以上为优秀),并画出程序框图.
22.(12分)已知函数f(x)=x2-5,写出求方程f(x)=0在[2,3]上的近似解(精确到0.001)的算法并画出程序框图.
第一章 算法初步(A)
1.B 2.D
3.D [由赋值语句知选D.]
4.D [初值,S=2,n=1.
执行第一次后,S=-1,n=2,
执行第二次后,S=,n=3,
执行第三次后,S=2,n=4.
此时符合条件,输出n=4.]
5.C [该算法对应的函数为y=|x|,已知y=3,则x=±3.]
6.A [(1)中输出语句应使用PRINT;
(2)中输入语句不符合格式INPUT“提示内容”;变量;
(3)中赋值语句应为A=3;
(4)中赋值语句出现两个赋值号是错误的.]
7.B [条件结构就是处理遇到的一些条件判断.算法的流程根据条件是否成立,有不同流向,而循环结构中一定包含条件结构.]
8.C [由题意知:S=12+22+…+i2,
当i=4时循环程序终止,
故S=12+22+32+42=30.]
9.B [110 101(2)=1×25+1×24+0×23+1×22+0×2+1×20=53.]
10.C [4 187=1 908×2+371,1 908=371×5+53,371=53×7,从而,最大公约数为53.]
11.A [解读程序时,可采用一一列举的形式:
第一次时,N=0+1=1;N=1×1=1;
第二次时,N=1+1=2;N=2×2=4;
第三次时,N=4+1=5;N=5×5=25.故选A.]
12.C [S=1×24+1×23+1×22+1×21+1=(((2×1+1)×2+1)×2+1)×2+1(秦九韶算法).循环体需执行4次后跳出,故选C.]
13.0.3
解析 ∵a=123,∴a/10=12.3
又∵a10表示a除以10的商,
∴a10=12.
∴b=a/10-a10=12.3-12=0.3.
14.0
解析 f(x)=
∴f(-1)+f(2)=-4+22=0.
15.324(5)
16.30
解析 按照程序框图依次执行为
S=5,n=2,T=2;
S=10,n=4,T=2+4=6;
S=15,n=6,T=6+6=12;
S=20,n=8,T=12+8=20;
S=25,n=10,T=20+10=30>S,
输出T=30.
17.解 辗转相除法:
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.解 程序框图如下图: 程序:
19.解
程序框图: 程序为:
20.解 f(x)改写为
f(x)=(((2x+3)x+0)x+5)x-4,
∴v0=2,
v1=2×2+3=7,
v2=7×2+0=14,
v3=14×2+5=33,
v4=33×2-4=62,
∴f(2)=62.
21.解 程序如下: 程序框图如下图:
22.解 本题可用二分法来解决,设x1=2,x2=3,m=.
算法如下:
第一步:x1=2,x2=3;
第二步:m=(x1+x2)/2;
第三步:计算f(m),如果f(m)=0,则输出m;
如果f(m)>0,则x2=m,否则x1=m;
第四步:若|x2-x1|<0.001,输出m,否则返回第二步.
程序框图如图所示:
第一章 算法初步(B)
(时间:120分钟 满分:150分)
一、选择题(本大题共12小题,每小题5分,共60分)
1.将两个数a=8,b=17交换,使a=17,b=8,下面语句正确一组是( )
2.运行如下的程序,输出结果为( )
A.32 B.33 C.61 D.63
3.表达算法的基本逻辑结构不包括( )
A.顺序结构 B.条件结构
C.循环结构 D.计算结构
4.设计一个计算1×2×3×…×10的值的算法时,下面说法正确的是( )
A.只需一个累乘变量和一个计数变量
B.累乘变量初始值设为0
C.计数变量的值不能为1
D.画程序框图只需循环结构即可
5.阅读下边的程序框图,运行相应的程序,则输出s的值为( )
A.-1 B.0
C.1 D.3
6.计算机执行下面的程序段后,输出的结果是( )
a=1
b=3
a=a+b
b=a-b
PRINT a,b
A.1,3 B.4,1 C.0,0 D.6,0
7.给出30个数:1,2,4,7,11,…,其规律是第一个数是1,第二个数比第一个数大1,第三个数比第二个数大2,第四个数比第三个数大3,……依此类推,要计算这30个数的和,现已知给出了该问题的程序框图如图所示.那么框图中判断框①处和执行框②处应分别填入( )
A.i≤30?;p=p+i-1 B.i≤29?;p=p+i-1
C.i≤31?;p=p+i D.i≤30?;p=p+i
8.当x=5,y=-20时,下面程序运行后输出的结果为( )
A.22,-22 B.22,22
C.12,-12 D.-12,12
9.阅读如图所示的程序框图,运行相应的程序,输出的结果是( )
A.2 B.4 C.8 D.16
10.读程序
INPUT x
IF x>0 THEN
y=SQR(x)
ELSE
y=(0.5)^x-1
END IF
PRINT y
END
当输出的y的范围大于1时,则输入的x值的取值范围是( )
A.(-∞,-1)
B.(1,+∞)
C.(-∞,-1)∪(1,+∞)
D.(-∞,0)∪(0,+∞)
11.用“辗转相除法”求得459和357的最大公约数是( )
A.3 B.9 C.17 D.51
12.以下给出了一个程序框图,其作用是输入x的值,输出相应的y的值,若要使输入的x的值与输出的y的值相等,则这样的x的值有( )
A.1个 B.2个
C.3个 D.4个
题号
1
2
3
4
5
6
7
8
9
10
11
12
答案
二、填空题(本大题共4小题,每小题5分,共20分)
13.读程序
本程序输出的结果是________.
14.人怕机械重复,如计算1+2+3+…+100,十岁的高斯就想到类似于梯形面积的求法:其和S=×100=5 050,而不是算99次加法,但计算机不怕重复,使用________来做完99步计算,也是瞬间的事,编写这个程序可用________,______两种语句结构.
15.某工厂2010年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.为了求年生产总值超过300万元的最早年份,有人设计了解决此问题的程序框图(如图),请在空白判断框内填上一个适当的式子应为________________.
16.如图是一个程序框图,则输出的S的值是________________________________.
三、解答题(本大题共6小题,共70分)
17.(10分)把“五进制”数1234(5)转化为“十进制”数,再把它转化为“八进制”数.
18.(12分)设计一个可以输入圆柱的底面半径r和高h,再计算出圆柱的体积和表面积的算法,画出程序框图.
19.(12分)某公司为激励广大员工的积极性,规定:若推销产品价值在10 000元之内的年终提成5%;若推销产品价值在10 000元以上(包括10 000元),则年终提成10%,设计一个求公司员工年终提成f(x)的算法的程序框图.
20.(12分)如图所示,利用所学过的算法语句编写相应的程序.
21.(12分)编写程序,对于函数y=要求输入x值,输出相应的y值.
22.(12分)在边长为4的正方形ABCD的边上有一点P,在折线BCDA中,由点B(起点)向A(终点)运动,设点P运动的路程为x,△APB的面积为y,求y与x之间的函数关系式,画出程序框图,写出程序.
第一章 算法初步(B)
1.B [先把b的值赋给中间变量c,这样c=17,再把a的值赋给变量b,这样b=8,把c的值赋给变量a,这样a=17.]
2.D [本程序实现的是:
求满足1+3+5+…+n>1 000的最小的整数n.
当n=61时,1+3+…+61==312=961<1 000;
当n=63时,1+3+…+63==322=1 024>1 000.]
3.D 4.A
5.B [当i=1时,s=1×(3-1)+1=3;当i=2时,s=3×(3-2)+1=4;当i=3时,s=4×(3-3)+1=1;当i=4时,s=1×(3-4)+1=0;紧接着i=5,满足条件i>4,跳出循环,输出s的值为0.]
6.B [把1赋给变量a,把3赋给变量b,把4赋给变量a,把1赋给变量b,输出a,b.]
7.D
8.A [具体运行如下:(x,y)→(5,-20)→(5,-17)∴x-y=22,y-x=-22.]
9.C [本小题考查的是程序框图中的循环结构,循环体中两个变量S、n其值对应变化,执行时,S与n对应变化情况如下表:
S
-1
2
n
2
4
8
故S=2时,输出n=8.]
10.C [由程序可得y=,
∵y>1,
∴①当x≤0时,x-1>1,
即2-x>2,
∴-x>1,
∴x<-1.②当x>0时,>1,
即x>1,
故输入的x值的范围为(-∞,-1)∪(1,+∞).]
11.D [459=357×1+102,357=102×3+51,102=51×2,
51是102和51的最大公约数,也就是459和357的最大公约数.]
12.C
13.3
解析 由题意知V=×2×2×3=3.
14.循环语句 WHILE型 UNTIL型
15.a>300?
16.63
解析 当n=1时,S=1+21=3;
当n=2时,S=3+22=7;
当n=3时,S=7+23=15;
当n=4时,S=15+24=31;
当n=5时,S=31+25=63>33.故S=63.
17.解 1234(5)=1×53+2×52+3×51+4×50=194,
∴194=302(8)
18.解 算法如下:
19.解 程序框图如下图所示:
20.解 程序如下:
21.解 程序如下:
22.解 y=程序框图如下图.
程序如下:
第一章 算法初步
1.1.1 算法的概念
课时目标 通过分析解决具体问题的过程与步骤,体会算法的思想,了解算法的含义,能用自然语言描述解决具体问题的算法.
1.算法的概念
12世纪的
算法
指的是用阿拉伯数字进行算术运算的过程
数学中的
算法
通常是指按照一定规则解决某一类问题的明确和有限的步骤
现代算法
通常可以编成计算机程序,让计算机执行并解决问题
2.算法与计算机
计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
一、选择题
1.下面四种叙述能称为算法的是( )
A.在家里一般是妈妈做饭
B.做米饭需要刷锅、淘米、添水、加热这些步骤
C.在野外做饭叫野炊
D.做饭必须要有米
答案 B
解析 算法是解决一类问题的程序或步骤,A、C、D均不符合.
2.下列对算法的理解不正确的是( )
A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)
B.算法要求是一步步执行,每一步都能得到唯一的结果
C.算法一般是机械的,有时要进行大量重复计算,它的优点是一种通法
D.任何问题都可以用算法来解决
答案 D
3.下列关于算法的描述正确的是( )
A.算法与求解一个问题的方法相同
B.算法只能解决一个问题,不能重复使用
C.算法过程要一步一步执行,每步执行的操作必须确切
D.有的算法执行完后,可能无结果
答案 C
解析 算法与求解一个问题的方法既有区别又有联系,故A不对;算法能重复使用,故B不对;每个算法执行后必须有结果,故D不对;由算法的有序性和确定性可知C正确.
4.计算下列各式中S的值,能设计算法求解的是( )
①S=+++…+
②S=+++…++…
③S=+++…+ (n≥1且n∈N*)
A.①② B.①③ C.②③ D.①②③
答案 B
解析 因为算法的步骤是有限的,所以②不能设计算法求解.
5.关于一元二次方程x2-5x+6=0的求根问题,下列说法正确的是( )
A.只能设计一种算法
B.可以设计两种算法
C.不能设计算法
D.不能根据解题过程设计算法
答案 B
解析 算法具有不唯一性,对于一个问题,我们可以设计不同的算法.
6.对于算法:第一步,输入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)一一验证,看是否有其他约数,来判断其是否为质数.
二、填空题
7.已知直角三角形两条直角边长分别为a,b.写出求斜边长c的算法如下:
第一步,输入两直角边长a,b的值.
第二步,计算c=的值.
第三步,________________.
将算法补充完整,横线处应填____________.
答案 输出斜边长c的值
8.下面给出了解决问题的算法:
第一步:输入x.
第二步:若x≤1,则y=2x-1,否则y=x2+3.
第三步:输出y.
(1)这个算法解决的问题是________;
(2)当输入的x值为________时,输入值与输出值相等.
答案 (1)求分段函数y=的函数值 (2)1
9.求1×3×5×7×9×11的值的一个算法是:
第一步,求1×3得到结果3;
第二步,将第一步所得结果3乘5,得到结果15;
第三步,____________________;
第四步,再将105乘9得到945;
第五步,再将945乘11,得到10 395,即为最后结果.
答案 将第二步所得的结果15乘7,得结果105
三、解答题
10.已知某梯形的底边长AB=a,CD=b,高为h,写出一个求这个梯形面积S的算法.
解 第一步,输入梯形的底边长a和b,以及高h.
第二步,计算a+b的值.
第三步,计算(a+b)×h的值.
第四步,计算S=的值.
第五步,输出结果S.
11.函数y=,写出给定自变量x,求函数值的算法.
解 算法如下:第一步,输入x.
第二步,若x>0,则令y=-x+1后执行第五步,否则执行第三步.
第三步,若x=0,则令y=0后执行第五步,否则执行第四步.
第四步,令y=x+1;
第五步,输出y的值.
能力提升
12.某铁路部门规定甲、乙两地之间旅客托运行李的费用为:
c=
其中ω(单位:kg)为行李的质量,如何设计计算托运费用c(单位:元)的算法.
解 第一步,输入行李的质量ω.
第二步,如果ω≤50,则令c=0.53×ω,否则执行第三步.
第三步,c=50×0.53+(ω-50)×0.85.
第四步,输出托运费c.
13.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:
(1)有三根杆子A,B,C,B杆上有三个碟子(大小不等,自上到下,由小到大),如图.
(2)每次移动一个碟子,小的只能叠在大的上面.
(3)把所有碟子从A杆移到C杆上.
试设计一个算法,完成上述游戏.
解 第一步,将A杆最上面碟子移到C杆.
第二步,将A杆最上面碟子移到B杆.
第三步,将C杆上的碟子移到B杆.
第四步,将A杆上的碟子移到C杆.
第五步,将B杆最上面碟子移到B杆.
第六步,将B杆上的碟子移到C杆.
第七步,将A杆上的碟子移到C杆.
1.算法的特点
(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.
(2)确定性:算法中的每一步应该是确定的并且能有效地执行且能得到确定的结果,而不应当是模棱两可的.
(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.
(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.
(5)普遍性:很多具体的问题,都可以设计合理的算法去解决.
2.算法与数学问题解法的区别与联系
(1)联系
算法与解法是一般与特殊的关系,也是抽象与具体的关系.
(2)区别
算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.
1.1.2 程序框图与算法的基本逻辑结构
第1课时 程序框图、顺序结构
课时目标 1.理解程序框图的含义.2.掌握各类程序框的功能.3.掌握算法的顺序结构.
1.程序框图
(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
(2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
2.常见的程序框、流程线及各自表示的功能
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线
连接程序框
○
连接点
连接程序框图的两部分
3.顺序结构
(1)顺序结构的定义
由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.
(2)结构形式
一、选择题
1.下列关于程序框图的说法正确的是( )
A.程序框图是描述算法的语言
B.程序框图中可以没有输出框,但必须要有输入框给变量赋值
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.程序框图和流程图不是一个概念
答案 A
2.尽管算法千差万别,但程序框图按其逻辑结构分类共有( )
A.2类 B.3类
C.4类 D.5类
答案 B
3.对终端框叙述正确的是( )
A.表示一个算法的起始和结束,程序框是
B.表示一个算法输入和输出的信息,程序框是
C.表示一个算法的起始和结束,程序框是
D.表示一个算法输入和输出的信息,程序框是
答案 C
4.下列程序框图所对应的算法和指向线分别为( )
A.5步,5条 B.5步,4条
C.3步,5条 D.3步,4条
答案 D
5.下列关于流程线的说法,不正确的是( )
A.流程线表示算法步骤执行的顺序,用来连接程序框
B.流程线只要是上下方向就表示自上向下执行可以不要箭头
C.流程线无论什么方向,总要按箭头的指向执行
D.流程线是带有箭头的线,它可以画成折线
答案 B
6.给出下列程序框图:
若输出的结果为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.
二、填空题
7.以下给出对程序框图的几种说法:
①任何一个程序框图都必须有起止框;
②输入框只能紧接开始框,输出框只能紧接结束框;
③判断框是唯一具有超出一个退出点的符号;
④对于一个问题的算法来说,其程序框图判断框内的条件的表述方法是唯一的.
其中正确说法的个数是________个.
答案 2
解析 ①③正确.因为任何一个程序框图都有起止框;输入、输出框可以在程序框图中的任何需要位置;判断框有一个入口、多个出口;判断框内的条件的表述方法不唯一.
8.下面程序框图表示的算法的运行结果是________.
答案 6
解析 由题意P==9,
S===6.
9.根据下边的程序框图所表示的算法,输出的结果是______.
答案 2
解析 该算法的第1步分别将X,Y,Z赋于1,2,3三个数,第2步使X取Y的值,即X 取值变成2,第3步使Y取X的值,即Y的值也是2,第4步让Z取Y的值,即Z取值也是2,从而第5步输出时,Z的值是2.
三、解答题
10.已知半径为r的圆的周长公式为C=2πr,当r=10时,写出计算圆的周长的一个算法,并画出程序框图.
解 算法如下:
第一步,令r=10.
第二步,计算C=2πr,
第三步,输出C.
程序框图如图:
11.已知函数y=2x+3,设计一个算法,若给出函数图象上任一点的横坐标x(由键盘输入),求该点到坐标原点的距离,并画出程序框图.
解 算法如下:
第一步,输入横坐标的值x.
第二步,计算y=2x+3.
第三步,计算d=.
第四步,输出d.
程序框图如图:
能力提升
12.画出用现代汉语词典查阅“仕”字的程序框图.
解 现代汉语词典检字有多种方法,如部首检字法、拼音检字法等.现以部首检字法为例加以说明.
13.如图所示的程序框图,当输入的x的值为0和4时,输出的值相等,根据该图和下列各小题的条件回答下面的几个问题.
(1)该程序框图解决的是一个什么问题?
(2)当输入的x的值为3时,输出的f(x)的值为多大?
(3)要想使输出的值最大,输入的x的值应为多大?
(4)按照这个程序框图输出的f(x)值,当x的值大于2时,x值大的输出的f(x)值反而小,为什么?
(5)要想使输出的值等于3,输入的x的值应为多大?
(6)要想使输入的值与输出的值相等,输入的x的值应为多大?
解 (1)该程序框图解决的是求二次函数
f(x)=-x2+mx的函数值的问题.
(2)当输入的x的值为0和4时,输出的值相等,即f(0)=f(4).
因为f(0)=0,f(4)=-16+4m,所以-16+4m=0,
所以m=4.所以f(x)=-x2+4x.
因为f(3)=-32+4×3=3,
所以当输入的x的值为3时,输出的f(x)的值为3.
(3)因为f(x)=-x2+4x=-(x-2)2+4,
当x=2时,f(x)max=4,
所以要想使输出的值最大,输入的x的值应为2.
(4)因为f(x)=-(x-2)2+4,
所以函数f(x)在[2,+∞)上是减函数.
所以在[2,+∞)上,x值大的对应的函数值反而小,
从而当输入的x的值大于2时,x值大的输出的f(x)值反而小.
(5)令f(x)=-x2+4x=3,解得x=1或x=3,
所以要想使输出的值等于3,
输入的x的值应为1或3.
(6)由f(x)=x,即-x2+4x=x,得x=0或x=3,
所以要想使输入的值和输出的值相等,输入的x的值应为0或3.
1.画程序框图实际上是将问题的算法用程序框图符号表示出来,所以首先要搞清楚需要解决什么问题,采用什么算法可以解决.其次要弄清楚初值、循环情况、条件、表达式、程序的结构、流向等.
2.顺序结构描述的是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.
1.1.2 程序框图与算法的基本逻辑结构
第2课时 条件结构
课时目标
1.进一步熟悉程序框图的画法.
2.掌握条件结构的程序框图的画法.
3.能用条件结构框图描述实际问题.
1.条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
2.常见的条件结构用程序框图表示为下面两种形式
结构形式
特征
两个步骤A、B根据条件选择一个执行
根据条件选择是否执行步骤A
一、选择题
1.下列算法中,含有条件结构的是( )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
答案 C
解析 解一元二次方程时,当判别式Δ<0时,方程无解,
当Δ≥0时,方程有解,由于分情况,故用到条件结构.
2.程序框图中,具有赋值、计算功能的是( )
A.处理框 B.输入、输出框
C.循环框 D.判断框
答案 A
3.下列关于条件结构的描述,不正确的是( )
A.条件结构的出口有两个,但在执行时,只有一个出口是有效的
B.条件结构的判断条件要写在判断框内
C.双选择条件结构有两个出口,单选择条件结构只有一个出口
D.条件结构根据条件是否成立,选择不同的分支执行
答案 C
4.中山市的士收费办法如下:不超过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公里外的收费为(x-2)×2.6,
另外燃油附加费为1元,
∴y=7+2.6(x-2)+1
=8+2.6(x-2).
5.输入-5,按图中所示程序框图运行后,输出的结果是( )
A.-5 B.0
C.-1 D.1
答案 D
解析 因x=-5,不满足x>0,所以在第一个判断框中执行“否”,在第2个判断框中,由于-5<0,执行“是”,所以得y=1.
6.给出一个程序框图,如图所示,其作用是输入x的值,输出相应的y的值.若要使输入的x的值与输出的y的值相等,则输入的这样的x的值有( )
A.1个 B.2个
C.3个 D.4个
答案 C
解析 当x≤2时,x=1或x=0则x=y;
当2
当x>6时,x=不成立,所以满足题意的x的值有1,0,3.
二、填空题
7.函数y=的程序框图如图所示,则①②③的填空完全正确的是________.
(1)①y=0;②x=0?;③y=x+6
(2)①y=0;②x<0?;③y=x+6
(3)①y=x2+1;②x>0?;③y=0
(4)①y=x2+1;②x=0?;③y=0
答案 (4)
解析 由分段函数的表达式知,x>0时,y=x2+1,故①处填y=x2+1;由②的否执
y=x+6知②处填x=0?;
当解析式x=0时,y=0知③处填y=0.
8.如图是求实数x的绝对值的算法程序框图,则判断框①中可填________.
答案 x≥0?
9.已知函数y=如图表示的是给定x的值,求
其对应的函数值y的程序框图.
①处应填写________;②处应填写________.
答案 x<2? y=log2x
解析 ∵满足判断框中的条件执行y=2-x,
∴①处应填x<2?.
不满足x<2即x≥2时,
y=log2x,故②处应填y=log2x.
三、解答题
10.画出计算函数y=|2x-3|的函数值的程序框图.(x由键盘输入)
解 程序框图如图:
11.已知函数y=,试设计一个算法的程序框图,计算输入自变量x的值时,输出y的值.
解 程序框图如图:
能力提升
12.画出解一元一次不等式ax>b的程序框图.
解 程序框图如图:
13.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费,其他情况不予办理.试设计一个算法描述汇款额为x元时,银行收取手续费为y元的过程,并画出程序框图.
解 由题意知本题是一个分段函数问题,分段函数解析式为
y=.
其算法如下:
第一步,输入汇款额x;
第二步,判断x≤100是否成立;若成立,则y=1,转执行第五步,若不成立,则执行第三步;
第三步,判断x≤5 000是否成立;若成立,则y=x×1%,转执行第五步,若不成立,则执行第四步;
第四步,判断x≤1 000 000是否成立;若成立,则y=50,转执行第五步,若不成立,则输出“不予办理”;
第五步,输出y.
程序框图如图
1.对需要按给定的条件进行分析、比较和判断,并按判断的不同情况进行不同的操作的问题,设计算法时就要用到条件结构.
2.条件结构要先根据指定的条件进行判断,再由判断的结果决定选取执行两条分支路径中的某一条.
1.1.2 程序框图与算法的基本逻辑结构
第3课时 循环结构、程序框图的画法
课时目标
1.掌握两种循环结构的程序框图的画法.
2.能进行两种循环结构程序框图间的转化.
3.能正确设置程序框图,解决实际问题.
1.循环结构的定义
在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为循环体.
2.常见的两种循环结构
名称
结构图
特征
直到型循
环结构
先执行循环体后判断条件,若不满足条件则执行循环体,否则终止循环
当型循
环结构
先对条件进行判断,满足时执行循环体,否则终止循环
一、选择题
1.在循环结构中,每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止,这样的循环结构是( )
A.分支型循环 B.直到型循环
C.条件型循环 D.当型循环
答案 D
2.下列关于循环结构的说法正确的是( )
A.循环结构中,判断框内的条件是唯一的
B.判断框中的条件成立时,要结束循环向下执行
C.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”
D.循环结构就是无限循环的结构,执行程序时会永无止境地运行下去
答案 C
解析 由于判断框内的条件不唯一故A错;
由于当型循环结构中,判断框中的条件成立时,执行循环体故B错;由于循环结构不是无限循环的,故C正确,D错.
3.如图所示是一个循环结构的算法,下列说法不正确的是( )
A.①是循环变量初始化,循环就要开始
B.②为循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
答案 D
4.某程序框图如图所示,若输出的S=57,则判断框内为( )
A.k>4? B.k>5?
C.k>6? D.k>7?
答案 A
解析 由题意k=1时S=1,当k=2时,S=2×1+2=4;
当k=3时,S=2×4+3=11,当k=4时,S=2×11+4=26,
当k=5时,S=2×26+5=57,此时与输出结果一致,
所以此时的k值为k>4.
5.如果执行下面的程序框图,输入n=6,m=4,那么输出的p等于( )
A.720 B.360
C.240 D.120
答案 B
解析 ①k=1,p=3;
②k=2,p=12;
③k=3,p=60;
④k=4,p=360.
而k=4时不符合条件,终止循环输出p=360.
6.如图是求x1,x2,…,x10的乘积S的程序框图,图中空白框中应填入的内容为( )
A.S=S*(n+1) B.S=S*xn+1
C.S=S*n D.S=S*xn
答案 D
解析 赋值框内应为累乘积,累乘积=前面项累乘积×第n项,即S=S*xn,故选D.
二、填空题
7.下图的程序框图输出的结果是________.
答案 20
解析 当a=5时,S=1×5=5;a=4时,S=5×4=20;
此时程序结束,故输出S=20.
8.某城市缺水问题比较突出,为了制定节水管理办法,对全市居民某年的月均用水量进行了抽样调查,其中n位居民的月均用水量分别为x1,…,xn(单位:吨).根据如图所示的程序框图,若n=2,且x1,x2分别为1,2,则输出的结果S为________.
答案
解析 当i=1时,S1=1,S2=1;
当i=2时,S1=1+2=3,S2=1+22=5,
此时S=(5-×9)=.
i的值变成3,从循环体中跳出输出S的值为.
9.按下列程序框图来计算:
如果x=5,应该运算________次才停止.
答案 4
解析 xn+1=3xn-2,x1=5,x2=13,x3=37,x4=109,x5=325>200,所以运行4次.
三、解答题
10.画出计算1+++…+的值的一个程序框图.
解 由题意知:
①所有相加数的分子均为1.
②相加数的分母有规律递增.
解答本题可使用循环结构,引入累加变量S和计数变量i,S=S+,i=i+1,两个式子是反复执行的部分,构成循环体.
11.求使1+2+3+4+5+…+n>100成立的最小自然数n的值,画出程序框图.
解 设累加变量为S,
程序框图如图.
能力提升
12.某班共有学生50人,在一次数学测试中,要搜索出测试中及格(60分以上)的成绩,试设计一个算法,并画出程序框图.
解 算法步骤如下:
第一步,把计数变量n的初始值设为1.
第二步,输入一个成绩r,比较r与60的大小.
若r≥60,则输出r,然后执行下一步;
若r<60,则执行下一步.
第三步,使计数变量n的值增加1.
第四步,判断计数变量n与学生个数50的大小,若n≤50,返回第二步,若n大于50,则结束.
程序框图如图.
1.循环结构
需要重复执行同一操作的结构称为循环结构,即从某处开始,按照一定条件反复执行某一处理步骤.反复执行的处理步骤称为循环体.
(1)循环结构中一定包含条件结构;
(2)在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或中止循环体的条件中.
2.三种基本结构的共同特点
(1)只有一个入口.
(2)只有一个出口,请注意一个菱形判断框有两个出口,而一个条件结构只有一个出口,不要将菱形框的
出口和条件结构的出口混为一谈.
(3)结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径通过它.如图1中的A,没有一条从入口到出口的路径通过它,就是不符合要求的程序框图.
(4)结构内不存在死循环,即无终止的循环.像图2就是一个死循环.在程序框图中是不允许有死循环出现的.
1.2基本算法语句
1.2.1 输入语句、输出语句和赋值语句
课时目标 掌握三种语句的定义,了解它们的一般格式和作用,借助三种语句完成算法到程序语句的转化.
1.输入语句
(1)格式:INPUT “提示内容”;变量
(2)功能:输入提示内容要求的相应信息或值.
2.输出语句
(1)格式:PRINT “提示内容”;表达式.
(2)功能:
3.赋值语句
(1)格式:变量=表达式.
(2)功能:将表达式所代表的值赋给变量.
一、选择题
1.在INPUT语句中,如果同时输入多个变量,变量之间的分隔符是( )
A.逗号 B.分号
C.空格 D.引号
答案 A
2.下列关于赋值语句的说法错误的是( )
A.赋值语句先计算出赋值号右边的表达式的值
B.赋值语句是把左边变量的值赋给赋值号右边的表达式
C.赋值语句是把右边表达式的值赋给赋值号左边的变量
D.赋值语句中的“=”和数学中的“=”不完全一样
答案 B
解析 赋值语句的作用是把右边表达式的值赋给赋值号左边的变量.
3.下列程序执行后结果为3,则输入的x值可能为( )
INPUT “x=”;x
y=x
PRINT y
END
A.1 B.-3
C.-1 D.1或-3
答案 D
解析 由题意得:x2+2x=3.
解方程得:x=1或-3.
4.下列给出的赋值语句中正确的是( )
A.4=M B.M=-M
C.B=B=3 D.x+y=0
答案 B
解析 赋值语句的格式为:变量=表达式,是将右边表达式的值赋给左边的变量,赋值时左右两端不能对换,也不能进行字符运算.故选B.
5.下列程序段执行后,变量a,b的值分别为( )
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.
6.下列程序在电脑屏幕上显示的结果为( )
A=2
x = A
PRINT“x=”;x
END
A.2 B.“x=”;x
C.“x=”;2 D.x=2
答案 D
二、填空题
7.下面一段程序执行后的结果是________.
A=2
A=A2
A=A+6
PRINT A
END
答案 10
解析 先把2赋给A,然后把A*2=4赋给A,即B的值为4,再把4+6=10赋给A,所以输出的为10.
8.
A=11
B=22
A=A+B
PRINT“A=”;A
PRINT“B=”;B
END
该程序的输出结果为______________.
答案 A=33,B=22
9.下面所示的程序执行后,若输入2,5,输出结果为________.
答案 5,2
三、解答题
10.编写一个程序,要求输入两个正数a,b的值,输出ab和ba的值.
解
11.试设计一个程序,已知底面半径和高,求圆柱体表面积.(π取3.14)
解
INPUT “R=,H=”;R,H
A=23.14RH
B=3.14RR
S=A+2B
PRINT “S=”;S
END
能力提升
12.编写一个程序,求用长度为L的细铁丝分别围成一个正方形和一个圆时所围成的正方形和圆的面积.要求输入L的值,输出正方形和圆的面积,并画出程序框图.(π取3.14)
解 由题意知,正方形的边长为,面积S1=;
圆的半径为r=,面积S2=π()2=.
因此程序如下:
INPUT “L=”;L
S1=(L*L)/16
S2=(L*L)/(4*3.14)
PRINT “正方形面积为”;S1
PRINT “圆面积为”;S2
程序框图:
13.给出如图所示程序框图,写出相应的程序.
解 程序如下:
INPUT “x,y=”;x,y
x=x/2
y=3*y
PRINT x,y
x= x – y
y = y –1
PRINT x,y
END
1.输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能),若输入多个数,各数之间应用逗号“,”隔开.
2.输出语句可以输出常量,变量或表达式的值(输出语句有计算功能)或字符,程序中引号内的部分将原始呈现.
3.赋值语句的作用是先算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.
4.赋值号两边的内容不能对调,如a=b与b=a表示的意义完全不同.
赋值号与“等于”的意义也不同,若把“=”看作等于,则N=N+1不成立,若看作赋值号,则成立.
5.赋值语句只能给一个变量赋值,不能接连出现两个或多个“=”.
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.条件语句属于算法中的哪个基本逻辑结构( )
A.顺序结构 B.条件结构
C.循环结构 D.以上都不对
答案 B
解析 条件语句是处理条件结构的算法语句.
2.下列关于条件语句的说法正确的是( )
A.条件语句中必须有ELSE和END IF
B.条件语句中可以没有END IF
C.条件语句中可以没有ELSE,但是必须有END IF
D.条件语句中可以没有END IF,但是必须有ELSE
答案 C
解析 由于条件语句有2种不同的格式,一种格式中没有ELSE,但两种格式都有END IF,故A、B、D错误,C正确.
3.阅读下列程序,
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.
4.当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
解析 因3<10,所以y=2×3=6.
5.程序:
若执行程序时输入10,12,8,则输出的结果为( )
A.10 B.12 C.8 D.14
答案 B
解析 本程序的功能是筛选出a、b、c中的最大值,故输出的m的值为12.
二、填空题
6.下面给出的是条件语句编写的程序,该程序的功能是求函数________的函数值.
INPUT x
IF x<=3 THEN
y=2*x
ELSE IF
PRINT y
END
答案 f(x)=
解析 该程序的主要功能是对分段函数f(x)求值.
当x≤3时,y=2x;当x>3时,y=x2-1.
所以函数为f(x)=.
7.如下图所给出的是一个算法的程序.如果输出的y的值是20,则输入的x的值是________.
INPUT x
IF x<=5 THEN
y=10*x
ELSE
y=2.5*x + 5
END IF
PRINT y
END
答案 2或6
解析 当x≤5时,10x=20,即x=2;
当x>5时,2.5x+5=20,解出x=6.
8.为了在运行下面的程序之后得到输出y=25,键盘输入x应该是________.
答案 -6或6
解析 程序对应的函数是y=
由,或,
得x=-6,或x=6.
三、解答题
9.已知函数y=
根据输入x的值,计算y的值,设计一个算法并写出相应程序.
解 算法分析:
第一步,输入x的值.
第二步,判断x的范围:若x>2.5,则用y=x2-1求函数值.
若x≤2.5,则用y=x2+1求函数值.
第三步,输出y的值.
程序如下:
10.已知程序:
INPUT “x=”;x
IF x<-1 THEN
y=4*x-1
ELSE
IF x>=-1 AND x<=-1 THEN
y=-5
ELSE
y=-4*x-1
END IF
END IF
PRINT y
END
说明其功能并画出程序框图.
解 该程序的功能为求分段函数
y=的值.
程序框图为:
能力提升
11.儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m但不超过1.4 m,可买半票;若超过1.4 m,应买全票.试写出一个购票算法程序.
解 程序如下:
1.使用条件语句时应注意的问题
(1)条件语句是一个语句,IF,THEN,ELSE,END IF都是语句的一部分.
(2)条件语句必须是以IF开始,以END IF结束,一个IF必须与一个END IF相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般IF、ELSE与END IF顶格书写,其他的语句体前面则空两格.
2.计算机能识别的数学符号:
加号“+”
减号“-”
乘号“*” 如a乘以b写作:a*b
除号“/” 如a除以b写作:a/b
乘方“ ^ ” 如a的平方写作:a^2
大于或等于“≥” 写作:>=
不等式“≠”写作:< >
1.2.3 循环语句
课时目标
1.理解给定的两种循环语句,并会应用.
2.应用两种循环语句将具体问题程序化,搞清当型循环和直到型循环的联系和区别.
1.循环语句
循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型和当型两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.
2.两种循环语句的对比
名称
直到型
当型
格式
DO
循环体
LOOP_UNTIL 条件
WHILE 条件
循环体
WEND
功能
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果条件仍不符合,再次执行循环体,直到条件符合时为止.这时计算机不再执行循环体,跳出循环体执行UNTIL语句后面的语句.
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳到WEND语句后,执行WEND后面的语句
对应
程序
框图
一、选择题
1.下列给出的四个框图,其中满足WHILE语句格式的是( )
A.(1)(2) B.(2)(3)
C.(2)(4) D.(3)(4)
答案 B
解析 WHILE语句的特点是“前测试”.
2.下列算法:
①求和+++…+;
②已知两个数求它们的商;
③已知函数定义在区间上,将区间十等分求端点及各分点处的函数值;
④已知三角形的一边长及此边上的高,求其面积.
其中可能要用到循环语句的是( )
A.①② B.①③
C.①④ D.③④
答案 B
3.循环语句有WHILE和UNTIL语句两种,下面说法错误的是( )
A.WHILE语句和UNTIL语句之间可以相互转化
B.当计算机遇到WHILE语句时,先判断条件真假,如果条件符合,就执行WHILE和WEND之间的循环体
C.当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断
D.WHILE语句与UNTIL语句之间不可以相互转化
答案 D
4.下面的程序运行后第3个输出的数是( )
A.1 B. C.2 D.
答案 C
解析 该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x=1+=,
第三次输出的数是x=1++=2.
5.下边程序执行后输出的结果是( )
A.-1 B.0 C.1 D.2
答案 B
解析 由于5+4+3+2=14,这时仍满足条件“S<15”,
∴n=2-1=1时,S=14+1=15,
当执行完循环体n=1-1=0后,再判断条件,此时不满足条件“S<15”,
接着执行“PRINT n”.所以n=0.
6.运行下面的程序,执行后输出的s的值是( )
i=1
WHILE i<6
i=i+2
s=2*i+1
WEND
PRINT s
END
A.11 B.15 C.17 D.19
答案 B
解析 当i=3时,s=7,当i=5时,s=11,
此时仍满足条件“i<6”,因此再循环一次,
即i=7时,s=15,此时不满足“i<6”,
所以执行“PRINT s”,即s=15.
二、填空题
7.运行下面的程序,输出的值为__________.
答案 7
解析 由于循环体是先执行S=S+i,再执行i=i+1,然后进行判断,当S=1+2+3+4+5=15时,执行i=5+1=6,这时15<18成立,再循环一次S=15+6=21,i=6+1=7,这时再判断21<18不成立,于是执行“PRINT i”,即i=7.
8.下面程序表示的算法是________.
答案 求使1×2×3×…×n>5 000的n的最小正整数
9.下面是一个求20个数的平均数的程序,在横线上应填充的语句为________.
答案 i>20
三、解答题
10.用UNTIL语句编写一个程序,输出使1+4+7+…+i≥300成立的最小的正整数.
解
11.分别用当型和直到型循环语句编写一个程序,计算2×4×6×…×100的值.
解 (1)当型:
i = 2
A=1
WHILE i<=100
A=A*i
i=i+2
WEND
PRINT A
END
(2)直到型:
i = 2
A=1
DO
A=A*i
i=i+2
LOOP UNTIL i>100
PRINT A
END
能力提升
12.读程序:
甲: 乙:
对甲、乙两程序和输出结果判断正确的是( )
B.程序不同,结果不同
B.程序不同,结果相同
C.程序相同,结果不同
D.程序相同,结果相同
答案 B
13.设计算法求+++…+的值,并画出程序框图及编写程序.
解 算法如下:
第一步:令S=0,i=1;
第二步:若i≤99成立,则执行第三步;
否则,输出S,结束算法;
第三步:S=S+;
第四步:i=i+1,返回第二步.
程序框图:
方法一 当型循环程序框图: 程序如下:
方法二 直到型循环程序框图: 程序如下:
1.当型循环与直到型循环的区别
(1)当型循环先测试后执行,直到型循环先执行后测试;
(2)在当型循环语句中,是当满足条件时执行循环体,而在直到型循环语句中,是当不满足条件时执行循环体;
(3)对同一算法来说,当型循环语句和直到型循环语句中的条件互为反条件.
2.应用循环语句编写程序要注意以下三点
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
§1.1 习题课
课时目标
1.理解并掌握画程序框图的规则.
2.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构.
3.能正确选择并运用三种逻辑结构框图表示具体问题的算法.
1.下列关于程序框图的描述
①对于一个算法来说程序框图是唯一的;
②任何一个框图都必须有起止框;
③程序框图只有一个入口,也只有一个出口;
④输出框一定要在终止框前.
其中正确的有( )
A.1个 B.2个
C.3个 D.4个
答案 B
解析 ②、③正确,对于一个算法来说,程序框图不唯一,与设计有关,故①错.输入输出的位置,不一定在开始和结束处,故④错.
2.某程序框图如图所示,该程序运行后输出的k的值是( )
A.4 B.5
C.6 D.7
答案 A
解析 当k=0时,S=0?S=1?k=1,
当S=1时,S=1+21=3?k=2,
当S=3时,S=3+23=11<100?k=3,
当S=11时,k=4,S=11+211>100,故k=4.
3.如图是一个算法的程序框图,该算法所输出的结果是( )
A. B. C. D.
答案 C
解析 运行第一次的结果为n=0+=;
第二次n=+=;
第三次n=+=.
此时i=4程序终止,
即输出n=.
4.阅读下边的程序框图,若输出s的值为-7,则判断框内可填写( )
A.i<3? B.i<4?
C.i<5? D.i<6?
答案 D
解析 i=1,s=2;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?”.
5.求边长为3,4,5的直角三角形的内切圆半径的算法为:
第一步 输入__________________;
第二步 计算r=;
第三步 输出r.
答案 a=3,b=4,c=5
6.根据下面的程序框图操作,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”,则框1中填________,框2中填________.
答案 是 否
解析 由x≥60与及格对应知处填是,则处填否.
一、选择题
1.一个完整的程序框图至少包含( )
A.终端框和输入、输出框
B.终端框和处理框
C.终端框和判断框
D.终端框、处理框和输入、输出框
答案 A
解析 一个完整的程序框图至少需包括终端框和输入、输出框.
2.下列程序框图表示的算法是( )
A.输出c,b,a B.输出最大值
C.输出最小值 D.比较a,b,c的大小
答案 B
解析 根据程序框图可知,此图应表示求三个数中的最大数.
3.用二分法求方程的近似根,精确度为δ,用直到型循环结构的终止条件是( )
A.|x1-x2|>δ B.|x1-x2|<δ
C.x1<δ答案 B
解析 直到型循环结构是先执行、再判断、再循环,是当条件满足时循环停止,因此用二分法求方程近似根时,用直到型循环结构的终止条件为|x1-x2|<δ.
4.阅读如图所示的程序框图,运行相应的程序,则输出的i值等于( )
A.2 B.3 C.4 D.5
答案 C
S=0→i=1→a=2
→S=2→i=2→a=8
→S=10→i=3→a=24
→S=34→i=4→输出i=4.
5.如图给出的是计算+++…+的值的一个程序框图,其中判断框内应填入的条件是( )
A.i≥49? B.i≥50?
C.i≥51? D.i≥100?
答案 C
解析 i=1时,S=0+=,
i=2时,S=+,…,
i=50时,S=+++…+,
当i=51时结束程序,故选C.
6.读如图所示的程序框图
则循环体执行的次数为( )
A.50 B.49 C.100 D.99
答案 B
解析 ∵i=i+2,
∴当2+2n≥100时循环结束此时n=49,故选B.
二、填空题
7.直到型循环结构框图为________.
答案 ②
8.已知下列框图,若a=5,则输出b=________.
答案 26
解析 因a=5,所以5>5不成立,
判断框执行“否”,即b=52+1=26.
9.执行如图所示的程序框图,若输入x=4,则输出y的值为________.
答案 -
解析 当输入x=4时,
计算y=x-1,得y=1.
不满足|y-x|<1.于是得x=1,
此时y=-1=-,
不满足|--1|<1,此时x=-,
又推得y=-.
这样|y-x|=|-+|=<1,执行“是”,
所以输出的是-.
三、解答题
10.已知点P0(x0,y0)和直线l:Bx+By+C=0,写出求点P0到直线l的距离d的算法并画出程序框图.
解 (1)用数学语言来描述算法:
第一步,输入点的坐标x0,y0,输入直线方程的系数即常数B,B,C;
第二步,计算z1=Bx0+By0+C;
第三步,计算z2=B2+B2;
第四步,计算d=;
第五步,输出d.
(2)用程序框图来描述算法,如图:
11.画出求满足12+22+32+…+i2>106的最小正整数n的程序框图.
解 程序框图如下:
能力提升
12.一队士兵来到一条有鳄鱼的深河的左岸.只有一条小船和两个小孩,这条船只能承载两个小孩或一个士兵.试设计一个算法,将这队士兵渡到对岸,并将这个算法用程序框图表示.
解 第1步,两个儿童将船划到右岸;
第2步,他们中一个上岸,另一个划回来;
第3步,儿童上岸,一个士兵划过去;
第4步,士兵上岸,让儿童划回来;
第5步,如果左岸没有士兵,那么结束,否则转第1步.
程序框图如图所示.
13.某工厂2010年生产轿车200万辆,技术革新后预计每年的产量比上一年增加5%,问最早哪一年生产的轿车超过300万辆?试设计算法并画出相应的程序框图.
解 算法如下:
第一步:n=2 010;
第二步:a=200;
第三步:T=0.05a;
第四步:a=a+T;
第五步:n=n+1;
第六步:若a>300,输出n.
否则执行第三步.
程序框图:
1.程序框图是用规定的图形、指向线及文字说明表示算法的图形,因此首要任务应是会画基本的程序框图并熟知它们的功能.
2.画程序框图必须遵守一些共同的规则:
(1)使用框图的符号要标准.
(2)框图一般按从上到下、从左到右的顺序画.
(3)除了判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的框图符号.
(4)判断框有两种:一种是“是”与“否”两个分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果,这种判断框中学阶段很少用到.
(5)在图形符号内描述的语言要简练清楚.
§1.3 算法案例
课时目标 通过三种算法案例:辗转相除法与更相减损术,秦九韶算法,进位制,进一步体会算法的思想,提高算法设计水平,体会中国古代数学对世界的贡献.
1.辗转相除法
(1)辗转相除法,又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.
(2)辗转相除法的算法步骤
第一步,给定两个正整数m,n.
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m、n的最大公约数等于m;否则,返回第二步.
2.更相减损术
第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
3.秦九韶算法
把一个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个一次多项式的值.
4.进位制
进位制是人们为了计数和运算方便而约定的记数系统,“满k进一”就是k进制,k进制的基数是k.
把十进制转化为k进制数时,通常用除k取余法.
一、选择题
1.下列说法中正确的个数为( )
(1)辗转相除法也叫欧几里得算法;
(2)辗转相除法的基本步骤是用较大的数除以较小的数;
(3)求最大公约数的方法,除辗转相除法之外,没有其他方法;
(4)编写辗转相除法的程序时,要用到循环语句.
A.1 B.2 C.3 D.4
答案 C
解析 (1)、(2)、(4)正确,(3)错误.
2.用更相减损术求294和84的最大公约数时,需做减法的次数是( )
A.2 B.3 C.4 D.5
答案 C
解析 由于294和84都是偶数,
所以用2约简:
294÷2=147,
84÷2=42,
又由于147不是偶数,
所以147-42=105,
105-42=63,
63-42=21,
42-21=21,
故需做4次减法,故选C.
3.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.
4.用秦九韶算法计算多项式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.
5.已知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,
v4=36×3+1=109,
v5=109×3+1=328.
6.下列有可能是4进制数的是( )
A.5 123 B.6 542 C.3 103 D.4 312
答案 C
解析 4进制数每位上的数字一定小于4,故选C.
二、填空题
7.辗转相除法程序中有一空请填上.
答案 a MOD b
解析 MOD用来表示a除以b的余数.
8.更相减损术程序中有两空请填上.
答案 a=b b=r
9.已知三个数12(16),25(7),33(4),将它们按由小到大的顺序排列为________.
答案 33(4)<12(16)<25(7)
解析 将三个数都化为十进制数.
12(16)=1×16+2=18,
25(7)=2×7+5=19,
33(4)=3×4+3=15,
∴33(4)<12(16)<25(7).
三、解答题
10.用两种方法求210与98的最大公约数.
解 用辗转相除法:
210=98×2+14,
98=14×7.
∴210与98的最大公约数为14.
用更相减损术:
∵210与98都是偶数,用2约简得
105和49,
105-49=56,56-49=7,
49-7=42,42-7=35,
35-7=28,28-7=21,
21-7=14,14-7=7.
∴210与98的最大公约数为2×7=14.
11.用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64当x=2时的值.
解 将f(x)改写为
f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64
由内向外依次计算一次多项式当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.
∴f(2)=0,即x=2时,原多项式的值为0.
能力提升
12.把111化为五进制数.
解
∴111化为五进制数为421(5).
13.把10 231(5)化为四进制数.
解 先化成十进制数.
10 231(5)=1×54+0×53+2×52+3×51+1
=625+50+15+1
=691
再化为四进制数
∴10 231(5)=22 303(4).
1.辗转相除法与更相减损术的区别和联系
(1)都是求最大公约数的方法.
(2)二者的实质都是递归的过程.
(3)二者都要用循环结构来实现.
2.秦九韶算法的特点
秦九韶算法的特点在于把求一个n次多项式的值转化为求n个一次多项式的值,即把求f(x)=anxn+an-1xn-1+…+a1x+a0的值转化为求递推公式:
这样可以最多计算n次乘法和n次加法即可得多项式的值,和直接代入多项式相比减少了乘法的运算次数,提高了运算效率.
3.十进制与其他进制的转化
(1)将k进制转化为十进制的方法:先把k进制数写成各位上的数字与k的幂的乘积的形
式,再按十进制的运算规则计算.
(2)将十进制化成k进制的方法:用除k取余法,用k连续去除十进制数所得的商,直到商为零为止,然后将各步所得的余数倒序写出,即为相应的k进制数.
章末复习课
课时目标 1.进一步巩固和理解本章重要知识点.2.学会用算法的思想处理问题.
1.下列关于算法的说法正确的有( )
①求解某一类问题的算法是唯一的;
②算法必须在有限步操作之后停止;
③算法的每一步操作必须是明确的,不能有歧义;
④算法执行后一定产生明确的结果.
A.1个 B.2个 C.3个 D.4个
答案 C
解析 根据算法的定义有②③④三种说法正确.
2.下图的程序语句输出的结果S为( )
A.17 B.19 C.21 D.23
答案 A
解析 当I为7的时候I<8,此时S=17,
下一个I为9时I>8,循环结束,故输出S为17.
3.给出以下四个问题,
①输入x,输出它的相反数.
②求面积为6的正方形的周长.
③求三个数a,b,c中的最大数.
④求函数f(x)=的函数值.
其中不需要用条件语句来描述其算法的有( )
A.1个 B.2个 C.3个 D.4个
答案 A
解析 ①、③、④需要用条件语句,②不需用条件语句,
故选A.
4.下边是一个算法的程序框图,当输入的x值为3时,输出y的结果恰好是,则处的关系式是( )
A.y=x3 B.y=3-x C.y=3x D.y=x
答案 C
解析 当x=3时,因为x>0,
所以x=x-2,∴x=1,
又x=1>0,
所以x=x-2,x=-1,x=-1时,y=,
∴内应填y=3x.
5.使用秦九韶算法求P(x)=anxn+an-1xn-1+…+a1x+a0在x=x0时的值可减少运算次数,做加法和乘法的次数分别是( )
A.n,n B.n,
C.n,2n+1 D.2n+1,
答案 B
6.三个数72、120、168的最大公约数是________.
答案 24
解析 三个数中任意两个数的最大公约数与第三个数,求其最大公约数就是这三个数的最大公约数.这三个数的最大公约数为24.
一、选择题
1.如果执行下面的程序框图,那么输出的S等于( )
A.2 450 B.2 500 C.2 550 D.2 652
答案 C
解析 本程序框图含有循环结构.
第1次循环为k=1+1=2 1≤50 S=0+2×1,
第2次循环为k=2+1=3 2≤50 S=2+2×2,
……
第50次循环为k=51 50≤50 S=2+4+…+100=2 550.
2.判断下列输入、输出语句正确的是( )
(1)输入语句INPUT a;b;c.
(2)输入语句INPUT x=3.
(3)输出语句PRINT B=4.
(4)输出语句PRINT 20,3*2.
A. (1)、(2) B.(2)、(3) C.(3)、(4) D.(4)
答案 D
解析 (1)错.变量之间应用逗号“,”隔开;
(2)错.INPUT语句中只能是变量,而不能是表达式;
(3)错.PRINT语句中不能再用赋值号“=”;
(4)对.PRINT语句可以输出常量,表达式的值.
3.若“x=3*5”与“x=x+1”是某一个程序中先后相邻的两个语句,那么下列说法正确的是( )?
①x=3*5的意思是x=3×5=15,此式与数学中的算术式是一样的;?
②“x=3*5”是将数值15赋给x;?
③“x=3*5”可以写成“3*5=x”;?
④“x=x+1”在执行时赋值号右边x的值是15,执行后左边x的值是16.
A.①③ B.②④
C.①④ D.①②③④
答案 B
解析 赋值语句有固定的格式,与数学中算术式是不一样的,故①是错误,③也是错误的,根据赋值语句的功用知②④是正确的,故选择B.
4.算式1 010(2)+10(2)的值是( )
A.1 011(2) B.1 100(2) C.1 101(2) D.1 000(2)
答案 B
解析 逢二进一.
1 010(2)+10(2)=1 100(2).
5.程序:
INPUT x
IF 9a=x10
b=x MOD 10
x=10]
上述程序如果输入的值是51,则运行结果是( )
A.51 B.15 C.105 D.501
答案 B
解析 ∵x=51,
∴9∴a=5110=5,
b=51 MOD 10=1.
∴10*b+a=10×1+5=15.?
即输出结果为15.
6.如图所示,程序的输出结果为S=132,则判断框中应填( )
A.i≥10? B.i≥11? C.i≤11? D.i≥12?
答案 B
解析 对于选项可以逐个验证,当判断框中填写i≥10?时,输出结果为S=1 320;当判断框中填写i≥11?时,输出结果为S=132;当判断框中填写i≤11?时,输出结果为S=1;当判断框中填写i≥12?时,输出结果为S=12.
二、填空题
7.将十进制数100转换成二进制数所得结果为______________.
答案 1 100 100(2)
解析 以2作为除数相应得出的除法算式为:
所以,100=1 100 100(2)
8.下边程序运行后,输出的值为________.
答案 120
解析 i=1时,S=1;i=2,S=2;i=3时,S=6;
i=4时,S=6×4=24,i=5时,S=24×5=120;
i=6时不满足i<=5,执行“PRINT S”,所以S=120.
9.用辗转相除法求333与24的最大公约数时的循环次数为________.
答案 3次
解析 333=13×24+21,24=21+3,21=7×3,
共操作3次.
三、解答题
10.画出求12-22+32-42+…+992-1002的值的程序框图.
解
11.已知函数y=,试编写程序,输入x的值后输出y的值.
解 程序为:
INPUT x?
IF x>0 THEN?
y=2*x^2-1?
ELSE?
IF x=0 THEN?
y=2*x+1?
ELSE?
y=-2*x^2+4?
END IF?
END IF?
PRINT y?
END
能力提升
12.用秦九韶算法求多项式f(x)=x6+2x5+3x4+4x3+5x2+6x当x=2时的值.
解 f(x)=x6+2x5+3x4+4x3+5x2+6x
=(((((x+2)x+3)x+4)x+5)x+6)x.
所以有
v0=1,
v1=1×2+2=4,
v2=4×2+3=11,
v3=11×2+4=26,
v4=26×2+5=57,
v5=57×2+6=120,
v6=120×2=240.
故当x=2时,多项式f(x)=x6+2x5+3x4+4x3+5x2+6x的值为240.
13.某电信部门规定,拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元;如果通话时间超过3分钟,则超过部分按每分钟0.1元收取通话费(通话不足1分钟时按1分钟计).试设计一个计算通话费用的算法,画出程序框图,并编写程序.
解 我们用C(单位:元)表示通话费,t(单位:分钟)表示通话时间,则依题意有
C=
算法步骤如下:
第一步,输入通话时间t.
第二步,如果t≤3,那么C=0.2;否则,C=0.2+0.1×(t-3).
第三步,输出通话费用C.
程序框图如图所示:
程序如下:
INPUT t?
IF t<=3 THEN?
C=0?2?
ELSE?
C=0.2+0.1*(t-3)?
END IF?
PRINT C?
END
1.算法是对一类问题一般解法的抽象与概括,是把问题的解法划分为若干个可执行的步骤,有时需重复多次,但最终都必须在有限个步骤之内完成,所以在设计算法解决问题时要注意:
(1)与解决问题的一般方法相联系,从中提炼出算法.
(2)可引入有关的参数和变量对算法步骤加以表达.
(3)解决问题的过程可分解为若干个步骤,并能用简洁实用的语言表达.
(4)算法过程要便于在计算机上执行.
2.程序框图是用规定的图形和指向线来形象、直观、准确的表示算法的图形.设计程序框图时,要先进行算法分析,确定算法的逻辑结构和各步的功能再画程序框图,同时要考虑到编写程序的要求.读、画程序框图是高考在本章中考查的重点.
3.基本算法语句有输入语句、输出语句、赋值语句、条件语句和循环语句五种,主要对应顺序结构、条件结构和循环结构.明确各语句的功能和格式,是执行程序的关键,掌握常用的算法对理解程序也很有帮助,用算法语句编写程序时,一般先画程序框图.
课件20张PPT。第一章 §1.1 算法与程序框图1.1.1 算法的概念1.了解算法的特征;
2.初步建立算法的概念;
3.会用自然语言表述简单的算法.问题导学题型探究达标检测学习目标知识点一 算法的概念
思考 有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换过来,试用自然语言表述你的操作办法.
答案 先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.答案问题导学 新知探究 点点落实算法概念:算术运算一定规则计算机程序有限明确知识点二 算法的特征
思考 设想一下电脑程序需要计算无限多步,会怎么样?答案返回答案 若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.
算法特征:有穷性、可行性、确定性、顺序性、不唯一性、普遍性.类型一 算法的特征解析答案反思与感悟例1 一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.解 第一步,两个小孩同船过河去.
第二步,一个小孩划船回来.
第三步,一个大人划船过河去.
第四步,对岸的小孩划船回来.
第五步,两个小孩同船渡过河去.题型探究 重点难点 个个击破算法的特点:(1)有穷性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.
(2)确定性:算法的计算规则及相应的计算步骤必须是确定的.
(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.反思与感悟跟踪训练1 某人带着一只狼和一只羊及一捆青菜过河,只有一条船,船仅可载重此人和狼、羊及青菜中的一种,没有人在的时候,狼会吃羊,羊会吃青菜.请设计安全过河的算法.解析答案解 第一步,人带羊过河.
第二步,人自己返回.
第三步,人带青菜过河.
第四步,人带羊返回.
第五步,人带狼过河.
第六步,人自己返回.
第七步,人带羊过河.类型二 算法的阅读理解解析答案反思与感悟例2 下面算法要解决的问题是___________________________________.
第一步,输入三个数,并分别用a、b、c表示.
第二步,比较a与b的大小,如果a第三步,比较a与c的大小,如果a第四步,比较b与c的大小,如果b第五步,输出a、b、c.解析 第一步是给a、b、c赋值.
第二步运行后a>b.
第三步运行后a>c.
第四步运行后b>c,所以a>b>c.
第五步运行后,显示a、b、c的值,且从大到小排列.
答案 输入三个数a,b,c,并按从大到小的顺序输出反思与感悟一个算法的作用往往并不显然,这需要我们结合具体数值去执行一下才知道.反思与感悟跟踪训练2 下面给出了一个问题的算法:
第一步,输入a.
第二步,若a≥4,则执行第三步,否则执行第四步.
第三步,输出2a-1.
第四步,输出a2-2a+3.
这个算法解决的问题是__________________________________________
_________.函数值f(a)答案类型三 算法的步骤设计解析答案反思与感悟例3 设计一个算法,判断7是否为质数.解 第一步,用2除7,得到余数1,所以2不能整除7.
第二步,用3除7,得到余数1,所以3不能整除7.
第三步,用4除7,得到余数3,所以4不能整除7.
第四步,用5除7,得到余数2,所以5不能整除7.
第五步,用6除7,得到余数1,所以6不能整除7.
因此,7是质数.设计一个具体问题的算法,通常按以下步骤:
(1)认真分析问题,找出解决此题的一般数学方法;
(2)借助有关变量或参数对算法加以表述;
(3)将解决问题的过程划分为若干步骤;
(4)用简练的语言将这个步骤表示出来.反思与感悟跟踪训练3 设计一个算法,判断35是否为质数.解析答案返回解 第一步,用2除35,得到余数1,所以2不能整除35.
第二步,用3除35,得到余数2,所以3不能整除35.
第三步,用4除35,得到余数3,所以4不能整除35.
第四步,用5除35,得到余数0,所以5能整除35.
因此,35不是质数.1.下面四种叙述能称为算法的是( )
A.在家里一般是妈妈做饭
B.做米饭需要刷锅、淘米、添水、加热这些步骤
C.在野外做饭叫野炊
D.做饭必须要有米解析答案B达标检测 解析 算法是解决一类问题的程序或步骤,A、C、D均不符合.123452.算法的有穷性是指( )
A.算法的最后包含输出
B.算法中的每个步骤都是可执行的
C.算法的步骤必须有限
D.以上说法都不正确C答案123453.以下对算法的描述正确的有( )
①对一类问题都有效;
②算法可执行的步骤必须是有限的;
③算法可以一步一步地进行,每一步都有确切的含义;
④是一种通法,只要按部就班地做,总能得到结果.
A.1个 B.2个
C.3个 D.4个D12345答案4.下列叙述能称为算法的个数为( )
①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②顺序进行下列运算: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.5B12345答案D12345答案规律与方法返回1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性.
2.算法设计的要求:
(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.
(2)要使算法尽量简单,步骤尽量少.
(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.课件22张PPT。第一章 1.1.2 程序框图与算法的基本逻辑结构第1课时 程序框图、顺序结构1.熟悉各种程序框及流程线的功能和作用;
2.能够读懂简单的程序框图;
3.能用程序框图表示顺序结构的算法.问题导学题型探究达标检测学习目标知识点一 程序框图答案问题导学 新知探究 点点落实思考 许多办事机构都有工作流程图,你觉得要向来办事的人员解释工作流程,是用自然语言好,还是用流程图好?答案 使用流程图好.因为使用流程图表达更直观准确.程序框图的概念:
(1)程序框图又称 ,是一种用 、 及 来表示算法的图形.流程图程序框流程线文字说明(2)常见的程序框、流程线及各自表示的功能表示一个算法的起始和结束表示一个算法输入和输出的信息赋值、计算判断框连接程序框连接点答案(3)在程序框图中,一个或几个 的组合表示算法中的一个步骤;带有 的流程线将程序框连接起来,表示算法步骤的 .程序框方向箭头执行顺序答案知识点二 顺序结构
(1)顺序结构的定义
由若干个 组成,这是任何一个算法都离不开的基本结构.
(2)结构形式答案返回依次执行的步骤类型一 把自然语言描述的算法翻译成程序框图解析答案反思与感悟例1 已知一个算法如下:
第一步,输入x.
第二步,计算y=2x+3.
第三步,计算d= .
第四步,输出d.
把上述算法用程序框图表示.题型探究 重点难点 个个击破解 程序框图如图:反思与感悟画程序框图的规则:
(1)使用标准的程序框符号;
(2)框图一般按从上到下,从左到右的方向画;
(3)描述语言写在程序框内,语言清楚、简练.反思与感悟?解析答案解 程序框图:类型二 顺序结构解析答案反思与感悟例2 一个笼子里装有鸡和兔共m只,且鸡和兔共n只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图.解 算法:第一步,输入m,n.第三步,计算兔的只数y=m-x.第四步,输出x,y.程序框图如图所示:顺序结构的程序框图的基本特征:
(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.
(2)各程序框从上到下用流程线依次连接.
(3)处理框按计算机执行顺序沿流程线依次排列.反思与感悟?解析答案解 算法步骤如下:第一步,输入三角形三条边的边长a,b,c.??第四步,输出S.程序框图如图:类型三 读懂程序框图解析答案反思与感悟例3 一个算法如图,它的功能是什么?解 其功能是求点(x0,y0)到直线Ax+By+C=0的距离.程序框图本就是为直观清晰表达算法而生,故只需弄清各种程序框、流程线的功能,再依次执行一下程序,不难读懂该图所要表达的算法.反思与感悟跟踪训练3 写出下列算法的功能:
(1)图①中算法的功能是(a>0,b>0) ______________________________
_______;
(2)图②中算法的功能是__________________.答案返回求以a,b为直角边的直角三角形斜边c的长 求两个实数a,b的和1.一个完整的程序框图至少包含( )
A.终端框和输入、输出框
B.终端框和处理框
C.终端框和判断框
D.终端框、处理框和输入、输出框解析答案A达标检测 解析 一个完整的程序框图至少需包括终端框和输入、输出框.对于处理框,由于输出框含有计算功能,所以可不必有.123452.下列图形符号属于判断框的是( )C解析答案12345解析 判断框用菱形表示,且图中有两个退出点.3.任何一种算法都离不开的基本结构为( )
A.逻辑结构 B.条件结构
C.循环结构 D.顺序结构答案D123454.程序框图符号“ ”可用于( )
A.输出a=10 B.赋值a=10
C.判断a=10 D.输入a=1解析答案B12345解析 图形符号“ ”是处理框,它的功能是赋值、计算,不是用来输出、判断和输入的,故选B.答案123455.下面程序框图表示的算法的运行结果是( )
C规律与方法1.在设计计算机程序时要画出程序运行的程序框图,有了这个程序框图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基本和开端.
2.规范程序框图的表示:(1)使用标准的框图符号;(2)框图一般按从上到下、从左到右的方向画,流程线要规范;(3)除判断框外,其他框图符号只有一个进入点和一个退出点;(4)在图形符号内描述的语言要非常简练、清楚.返回课件22张PPT。第一章 1.1.2 程序框图与算法的基本逻辑结构第2课时 条件结构1.掌握条件结构的程序框图的画法;
2.能用条件结构框图描述分类讨论问题的算法;
3.进一步熟悉程序框图的画法.问题导学题型探究达标检测学习目标知识点一 条件结构答案问题导学 新知探究 点点落实思考 我们经常需要处理分类讨论的问题,顺序结构能否完成这一任务?为什么?答案 分类讨论是带有分支的逻辑结构,而顺序结构是一通到底的“直肠子”,所以不能表达分支结构,这就需要条件结构出场.条件结构:
在一个算法中,经常会遇到一些条件的判断,算法的流程根据 是否成立有不同的流向.处理这种过程的结构叫条件结构.条件知识点二 条件结构的两种形式答案返回条件类型一 用程序框图表示条件结构解析答案反思与感悟例1 下面给出了一个问题的算法:
第一步,输入x.
第二步,若x>1,则y=x2+3,否则y=2x-1.
第三步,输出y.
试用程序框图表示该算法.题型探究 重点难点 个个击破解 主体用顺序结构,其中根据条件x>1是否成立选择不同的流向用条件结构实现.凡是必须先根据条件作出判断然后再进行哪一个步骤的问题,在画程序框图时,必须引入一个判断框应用条件结构.反思与感悟跟踪训练1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三条边边长的三角形是否存在,并画出这个算法的程序框图.解析答案解 算法步骤如下:
第一步,输入3个正实数a,b,c.
第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.
程序框图如右图:类型二 用条件结构框图描述分类讨论问题的算法解析答案反思与感悟例2 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克).
试设计计算费用f的算法并画出程序框图.解 算法:
第一步,输入物品的重量ω.
第二步,如果ω≤50,则令f=0.53ω,否则执行第三步.
第三步,f=50×0.53+(ω-50)×0.85.
第四步,输出托运费f.
程序框图如右:反思与感悟在解决实际问题时,要善于识别需要条件结构的情境.反思与感悟跟踪训练2 设计算法判断一元二次方程ax2+bx+c=0是否有实数根,并画出相应的程序框图.解析答案解 算法步骤如下:第一步,输入3个系数a,b,c.第二步,计算Δ=b2-4ac.第三步,判断Δ≥0是否成立.若是,则输出“方程有实数根”;否则,输出“方程无实数根”.结束算法.相应的程序框图如右图:类型三 涉及三类以上的分类讨论问题解析答案反思与感悟例3 解关于x的方程ax+b=0的算法的程序框图如何表示??我们现在使用的条件结构只提供2个出口,故当要分三类以上讨论时,往往需要在条件结构中再嵌套一个条件结构.反思与感悟跟踪训练3 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图.解析答案返回解析答案?返回1.条件结构不同于顺序结构的特征是含有( )
A.处理框 B.判断框
C.输入、输出框 D.起止框解析答案B达标检测 解析 由于顺序结构中不含判断框,而条件结构中必须含有判断框,故选B.123452.下列说法:
①条件结构是最简单的算法结构;
②顺序结构就是按照程序语句的自然顺序,依次地执行顺序;
③条件结构中的判断框中的条件是与流程走向相关联的;
④条件结构可以根据设定的条件,控制语句流程,有选择地执行不同的语句序列.其中正确的说法是( )
A.①②③ B.①③④
C.②③④ D.①②③④C答案123453.下列算法中,含有条件结构的是( )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积C12345解析答案解析 解一元二次方程时,当判别式Δ<0时,方程无解,
当Δ≥0时,方程有解,由于分情况,故用到条件结构.解析答案C12345解析 C项中函数f(x)是分段函数,需分类讨论x的取值范围,要用条件结构来设计算法,A、B、D项中均不需要用条件结构.答案123455.如图所示的程序框图,其功能是( )
A.输入a,b的值,按从小到大的顺序输出它们的值
B.输入a,b的值,按从大到小的顺序输出它们的值
C.求a,b的最大值
D.求a,b的最小值C解析 根据执行过程可知程序框图的功能是输入a,b的值,输出它们的最大值,即求a,b的最大值.规律与方法1.条件结构是程序框图的重要组成部分.其特点是先判断后执行.
2.在利用条件结构画程序框图时要注意两点:一是需要判断条件是什么,二是条件判断后分别对应着什么样的结果.
3.设计程序框图时,首先设计算法步骤,再转化为程序框图,待熟练后可以省略算法步骤直接画出程序框图.对于算法中分类讨论的步骤,通常设计成条件结构来解决.返回课件20张PPT。第一章 1.1.2 程序框图与算法的基本逻辑结构第3课时 循环结构、程序框图的画法1.掌握当型和直到型两种循环结构的程序框图的画法;
2.了解两种循环结构的区别,能进行两种循环结构程序框图间的转化;
3.能正确读程序框图.问题导学题型探究达标检测学习目标知识点一 循环结构答案问题导学 新知探究 点点落实思考 用累加法计算1+2+3+…+100的值,其中有没有重复操作的步骤?答案 用S表示每一步的计算结果,S加下一个数得到一个新的S,这个步骤被重复了100次.循环结构的定义:
在一些算法中,经常会出现从某处开始,按照一定的条件 某些步骤的情况,这就是循环结构,反复执行的步骤称为 .反复执行循环体知识点二 常见的两种循环结构答案执行循环体 终止循环执行循环体终止循环知识点三 赋值号答案返回思考 在程序框图中,常见“i=i+1”,它是什么意思?答案 它表示先计算等号右边“i+1”的值,再把这个值赋给等号左边的变量.一般地,“变量=表达式”中的“=”叫 ,它的功能是把 边表达式的值赋给 边的变量,故它与数学中的等号不完全一样,所以不能颠倒写成“表达式=变量”.赋值号右左类型一 如何实现和控制循环解析答案反思与感悟例1 设计一个计算1+2+…+100的值的算法,并画出程序框图.题型探究 重点难点 个个击破解 这一问题的算法:
第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
程序框图:变量S作为累加变量,来计算所求数据之和.当第一个数据送到变量i中时,累加的动作为S=S+i,即把S的值与变量i的值相加,结果再送到累加变量S中,如此循环,则可实现数的累加求和.反思与感悟跟踪训练1 设计一个计算1+3+5+…+(2n-1)(n∈N*)的值的算法,并画出程序框图.解析答案解 这一问题的算法:
第一步,输入n的值.
第二步,令i=1,S=0.
第三步,若i≤2n-1成立,则执行第四步;否则,输出S,结束算法.
第四步,S=S+i,i=i+2,返回第三步.
程序框图如右:类型二 当型循环与直到型循环的转化解析答案反思与感悟例2 例1中程序框图用的是当型循环结构,如果用直到型循环结构表示,则程序框图如何?解 程序框图如图:当型循环是满足条件则循环,直到型循环是满足条件则终止循环,故两种结构相互转化时注意判断框中的条件变化.反思与感悟跟踪训练2 试把跟踪训练1中的程序框图改为直到型.解析答案解 程序框图如图:类型三 读图解析答案反思与感悟例3 某班一共有40名学生,右图中s代表学生的数学成绩.若该班有5名90分以上的学生,20名80分以上的学生.则输出的m=__,n=___.解析 该程序框图是用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s,然后对s的值进行判断.
如果s>90,则m的值增加1,
如果80A.循环结构中,判断框内的条件是唯一的
B.判断框中的条件成立时,要结束循环向下执行
C.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现
“死循环”
D.循环结构就是无限循环的结构,执行程序时会永无止境地运行下去C达标检测 12345答案2.如图所示的程序框图包含算法结构中的哪些结构( )
(1)条件结构 (2)顺序结构
(3)循环结构 (4)无法确定
A.(1)(2) B.(1)(3)
C.(2)(3) D.(4)A答案123453.如图所示是一个循环结构的程序框图,下列说法不正确的是( )
A.①是循环变量初始化,循环就要开始
B.②为循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写D12345答案123454.在循环结构中,每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止,这样的循环结构是( )
A.分支型循环 B.直到型循环
C.条件型循环 D.当型循环D答案解析答案123455.如图所示,程序框图的输出结果是( )D解析 赋值s=0,n=2,规律与方法1.需要重复执行同一操作的结构称为循环结构,即从某处开始,按照一定条件反复执行某一处理步骤.反复执行的处理步骤称为循环体.
(1)循环结构中一定包含条件结构;
(2)在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中.
2.程序框图中的任何结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径,在程序框图中是不允许有死循环出现的.返回课件22张PPT。第一章 §1.2 基本算法语句1.2.1 输入语句、输出语句和赋值语句1.了解学习程序语句的必要性和根本目的;
2.理解输入语句、输出语句、赋值语句的格式和功能;
3.能把本节涉及的程序框转化为相应的程序语句.问题导学题型探究达标检测学习目标知识点一 输入语句
思考 一个计算圆的面积的程序,需要使用者输入什么信息?答案问题导学 新知探究 点点落实输入语句:
(1)格式:INPUT ;变量
(2)功能:输入提示内容要求的相应信息或值.即把程序使用者 的值赋给变量.“提示内容”新输入答案 圆的半径.思考 一个程序如果没有输出语句,影响程序运行吗?你知道运行结果吗?答案答案 不影响.程序照常运行,但运行结果就不会告诉你.知识点二 输出语句输出语句:
(1)格式:PRINT ;表达式(2)功能:①输出 、 的值和系统信息;
②进行数值计算并输出结果.“提示内容”常量 变量思考 计算机用变量来存取数据.怎样表示“把变量a,b中的数据相加,存入c中”?答案答案 用赋值语句“c=a+b”.知识点三 赋值语句赋值语句:
(1)格式: .
(2)功能:将表达式所代表的值赋给变量.即将 赋给变量,一般先计算“=”右边 ,然后把这个值赋给“=”左边的 .变量=表达式表达式所代表的值表达式的值变量返回知识点四 算法语句中的表达方式类型一 语句格式及功能解析答案反思与感悟例1 比较下列各组语句的区别,再判断它们是否正确.
(1) ①输入语句INPUT “a=”;a
②输入语句INPUT “a=”,a
(2) ①输入语句INPUT “a,b,c=”;a;b;c
②输入语句INPUT a,b,c
(3) ①赋值语句c=c+1
②赋值语句c+1=c
③赋值语句R=r=9题型探究 重点难点 个个击破解 (1)中①对,②中“a=”后标点错.
(2)中的①错,②对.多个变量间要用逗号分开.
(3)中的①对,②错.赋值语句是从右向左赋值,等号右边可以是表达式,左边必须是变量.③错.一个赋值语句的表达式不能出现两个及两个以上的赋值号.反思与感悟(1)提示内容可以为字母也可以为语言,语言可以为英文也可以为汉语.
(2)输入语句和输出语句中的“提示内容”有时可以省略.
(3)正确使用分号和逗号,提示内容后面一定要用分号,多个变量间要用逗号分开.反思与感悟跟踪训练1 比较下列各组语句的区别,再判断它们是否正确.
①输出语句PRINT “S=”;7
②输出语句PRINT S=7
③赋值语句9=r解析答案解 ①对,②错,③错.类型二 赋值语句的应用解析答案反思与感悟例2 写出交换两个变量A和B的值,并输出交换前后的值的程序.解 程序:INPUT A
INPUT B
PRINT A,B
X=A
A=B
B=X
PRINT A,B
END引入一个中间变量X,将A的值赋予X,又将B的值赋予A,再将X的值赋予B,从而达到交换A,B的值(比如交换装满水的两个水桶里的水需要再找一个空桶).反思与感悟跟踪训练2 如果把例2中的程序改为INPUT A
INPUT B
PRINT A,B
A=B
B=A
PRINT A,B
END再输入A=1,B=2,则两个输出语句的输出结果分别是 , .解析 第一个输出语句的输出结果为1 2,第二个输出语句的输出结果是2 2.解析答案1 2 2 2类型三 简单的程序设计解析答案反思与感悟例3 用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值.编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值.解 第一步,输入一个自变量x的值.
第二步,计算y=x3+3x2-24x+30.
第三步,输出y.
再画程序框图:INPUT “x=”;x
y=x^3+3* x^2-24* x+30
PRINT y
END再翻译成程序:先用自然语言设计算法框架,再用程序框图使算法直观化,最后把程序框图转化为算法语句,是程序设计的一般流程.反思与感悟跟踪训练3 编写程序,计算一个学生数学、语文、英语三门课的平均成绩.解析答案返回解 程序如下:INPUT “Maths=”;a
INPUT “Chinese=”;b
INPUT “English=”;c
PRINT “The average=”;(a+b+c)/3
END1.下列关于赋值语句的说法错误的是( )
A.赋值语句先计算出赋值号右边的表达式的值
B.赋值语句是把左边变量的值赋给赋值号右边的表达式
C.赋值语句是把右边表达式的值赋给赋值号左边的变量
D.赋值语句中的“=”和数学中的“=”不完全一样解析答案B达标检测 解析 赋值语句的作用是把右边表达式的值赋给赋值号左边的变量.123452.下列给变量赋值的语句正确的是( )
A.5=a B.a+2=a
C.a=b=4 D.a=2D答案123453.利用输入语句可以给多个变量赋值,下面能实现这一功能的语句是( )
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.INPUT “A,B,C=”;a,b,cD12345答案4.下面的程序输出的结果是( )B12345答案x=6
y=3
PRINT x+y
ENDA.x+y B.9
C.6+3 D.显示程序有误D123455.下列程序在电脑屏幕上显示的结果为( )A=2
x=A
PRINT “x=”;x
ENDA.2 B.“x=”;x
C.“x=”;2 D.x=2解析 该程序表示的意义为把2赋给A,因为A的值为2,再把A的值赋给x,因此输出的结果为x=2.解析答案规律与方法返回1.需输入信息时用INPUT语句,需输出信息时用PRINT语句,当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.
2.赋值语句是一个程序必不可少的重要组成部分,使用赋值语句,一定要注意其格式要求,不能利用赋值语句进行代数式计算等.课件30张PPT。1.2.2 条件语句第一章 §1.2 基本算法语句1.理解条件语句的格式及功能;
2.体验如何把判断框转化为条件语句;
3.通过条件语句的学习,进一步体会算法的基本思想.问题导学题型探究达标检测学习目标知识点一 条件语句答案问题导学 新知探究 点点落实思考 对于条件结构的算法或程序框图,要转化为计算机能够理解的算法语言,使用输入、输出和赋值语句还行吗?需要用怎样的语句?答案 不行,要用与条件结构相适应的条件语句.下表是条件语句的格式、功能及与条件结构的对应关系.
试填上关键词.语句体语句体1语句体2答案条件语句体条件语句体1答案语句体2就像制造业的工人不必连扳手也自己造一样,QBasic也配备了一些可以直接用的工具,试完成下表.答案知识点二 常用的内置函数和符号“且”0第一步,输入2个整数a,b.
第二步,若a第三步,输出a,b.
第四步,结束.
程序:INPUT “a,b=”;a,b
IF a x=a
a=b
b=x
END IF
PRINT “a,b=”;a,b
END(1)条件语句是一个整体,IF—THEN—ELSE—END IF都是语句的一部分,且“IF—END IF”必须成对出现.
(2)若程序只对条件满足时作处理,不用处理条件不满足时的情况,则可以省略ELSE分支.反思与感悟跟踪训练1 编写程序,使得任意输入2个整数,如果不等,则交换两数的次序输出; 如果两数相等,则输出“相等,请重新输入”.解析答案解 算法:
第一步,输入2个整数a,b.
第二步,先判断a是否等于b,若是,则输出“相等,请重新输入”.
第三步,如果不相等,则x=a,a=b,b=x.输出a,b.
第四步,结束.
程序:INPUT “a,b=”;a,b
IF a=b THEN
PRINT “相等,请重新输入”.
ELSE
x=a
a=b
b=x
PRINT “a,b=”;a,b
END IF
END类型二 条件语句的应用解析答案反思与感悟例2 铁路部门托运行李的收费方法如下:y是收费额(单位:元),x是行李重量(单位:kg),当020时,20 kg的部分按0.35元/kg收费,超出20 kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序.该函数是个分段函数.
需要对行李重量作出判断,
因此,这个过程可以用算法中的条件结构来实现.解 由题意得:解析答案反思与感悟程序:INPUT “请输入旅客行李的重量(kg)x=”;x
IF x>0 AND x<=20 THEN
y=0.35*x
ELSE
y=0.35*20+0.65*(x-20)
END IF
PRINT “该旅客行李托运费为”;y
END反思与感悟算法中需要判断情况、分类执行时,如判断一个数的正负、比较两个数的大小、求分段函数的函数值等,都需要用到条件语句.反思与感悟跟踪训练2 编写求一个数是偶数还是奇数的程序,从键盘上输入一个整数,输出该数的奇偶性.解 程序:解析答案INPUT “x=”;x
y=x MOD 2
IF y=0 THEN
PRINT x;“该数是偶数”
ELSE
PRINT x;“该数是奇数”
END IF
END类型三 条件语句的嵌套解析答案反思与感悟例3 编写程序,使得任意输入3个整数按从大到小的顺序输出.解析答案解 算法:
第一步,输入3个整数a,b,c.
第二步,将a与b比较,并把小者赋给b,大者赋给a.
第三步,将a与c比较,并把小者赋给c,大者赋给a.
第四步,将b与c比较,并把小者赋给c,大者赋给b.
第五步,按顺序输出a,b,c.
程序框图:反思与感悟程序: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反思与感悟条件语句的功能类似于分类讨论.当需要分三种以上情况讨论时,就需用多个条件语句联用或条件语句内部嵌套条件语句.反思与感悟跟踪训练3 编写程序,使得任意输入3个整数,输出三者中的最大者.解析答案返回解析答案解 程序:INPUT “a,b,c=”;a,b,c
IF b>a THEN
a=b
END IF
IF c>a THEN
a=c
END IF
PRINT a
END也可以是以下程序:返回INPUT “a,b,c=”;a,b,c
IF b>a THEN
a=b
ELSE
IF c>a THEN
a=c
END IF
END IF
PRINT a
END1.下列关于条件语句的说法正确的是( )
A.条件语句中必须有ELSE和END IF
B.条件语句中可以没有END IF
C.条件语句中可以没有ELSE,但是必须有END IF
D.条件语句中可以没有END IF,但是必须有ELSE解析答案C达标检测 解析 条件语句主要有两种形式的格式,分别是IF-THEN格式和IF-THEN-ELSE格式,但是不管是这两种格式的哪一种,IF与END IF必须是同时出现.
所以条件语句中可以没有ELSE,但是必须有END IF,故答案选C.123452.条件语句的一般形式如图所示,其中N表示的是( )答案12345IF M THEN
N
ELSE
P
END IFA.满足条件时执行的内容
B.条件语句
C.条件
D.不满足条件时执行的内容A3.当x=0时,图中语句输出的结果是( )12345答案IF x>0 THEN
y=x^2
ELSE
y=x+1
END IF
PRINT y
ENDBA.0 B.1 C.x2 D.x+14.当x=3时,下列式子的值为1的是( )
A.x/2 B.x2
C.SQR(x) D. x MOD 3B12345答案D123455.对于下列程序,从键盘上输入一个-1,则输出的结果是( )INPUT “x=”;x
IF x>0 THEN
PRINT x
END IF
ENDA.-1 B.1
C.x D.不输出任何结果答案规律与方法1.两种条件语句的区别与联系
(1)区别:IF—THEN—ELSE语句含有两个语句体,满足条件时执行一个语句体,不满足条件时执行另一个语句体;而IF—THEN条件语句,只有一个语句体,是满足条件时执行的语句体.
(2)联系:两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体后,程序都交汇于一点完成条件语句;都以IF开始,以END IF结束.
2.使用条件语句时应注意的问题
(1)条件语句是一个语句,IF,THEN,ELSE,END IF都是语句的一部分.返回(2)条件语句必须是以IF开始,以END IF结束,一个IF必须与一个END IF相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般IF、ELSE与END IF顶格书写,其他的语句体前面则空两格.课件19张PPT。1.2.3 循环语句第一章 §1.2 基本算法语句1.理解循环语句的格式和功能;
2.理解两种循环语句与两种循环结构的对应关系,能把相应程序框图翻译为程序语句;
3.经历由问题到自然语言描述的算法到程序框图再到程序的全过程,体会算法的形成及优化过程.问题导学题型探究达标检测学习目标知识点一 循环语句答案问题导学 新知探究 点点落实循环语句与程序框图中的 结构相对应.循环语句结构一般有 和
两种循环语句结构.循环直到型当型知识点二 两种循环语句的比较DOWHILELOOP UNTILWEND不符合条件符合条件符合条件仍符合条件不符合答案答案返回UNTILWEND类型一 由循环结构到循环语句的翻译解析答案反思与感悟例1 下面是计算1+2+…+100的值的程序框图,试把它设计成程序.题型探究 重点难点 个个击破解 程序如右:i=1
S=0
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
END(1)在WHILE语句中,先判断指定的条件,当条件满足时执行循环体;在UNTIL语句中,先执行循环体,再判断条件是否成立,当条件不满足时执行循环体.
(2)当型循环语句中WHILE和WEND成对出现.直到型语句中DO和LOOP UNTIL成对出现.
(3)判断条件往往是与控制循环次数的变量有关的条件.反思与感悟跟踪训练1 试把例1中的当型循环改为直到型循环.解析答案解 程序如下:i=1
S=0
DO
S=S+i
i=i+1
LOOP UNTIL i>100
PRINT S
END类型二 循环语句的应用解析答案反思与感悟例2 分别用WHILE和UNTIL两种语句编写程序,求出使不等式12+22+32+…+n2<1 000成立的n的最大正整数值.解 当型循环:S=1
i=2
WHILE S<1 000
a=i^2
S=S+a
i=i+1
WEND
i=i-2
PRINT “n的最大正整数值为”;i
END解析答案反思与感悟直到型循环:S=1
i=2
DO
a=i^2
S=S+a
i=i+1
LOOP UNTIL S>=1 000
i=i-2
PRINT “n的最大正整数值为”;i
END反思与感悟(1)循环次数的控制往往是通过某个变量的改变,在循环体内要控制该变量的改变,否则会陷入死循环.
(2)控制循环次数的变量要综合考虑初始化时和LOOP UNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减.反思与感悟跟踪训练2 画出计算1×3×5×7×…×999的一个程序框图并写出算法.解 程序框图如图所示:解析答案S=1
i=3
DO
S=S*i
i=i+2
LOOP UNTIL i>999
PRINT S
END返回1.关于循环语句的说法不正确的是( )
A.算法中的循环结构由WHILE语句来实现
B.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句
C.一般来说UNTIL语句和WHILE语句可以互相转换
D.算法中的循环结构由循环语句来实现解析答案A达标检测 解析 算法中的循环结构由循环语句来实现,循环语句包括UNTIL语句和WHILE语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A是错误的,其余都正确.123452.下列问题可以设计成循环语句计算的有( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个 B.1个 C.2个 D.3个12345C解析 ①和④用到循环语句;②③用不到.故选C.解析答案3.下面的程序运行完时,循环体一共被执行了( )12345x=20
DO
x=x-5
LOOP UNTIL x<0
PRINT x
ENDB答案A.4次 B.5次 C.6次 D.7次4.下面的程序运行完时,循环体一共被执行了( )A12345答案x=20
WHILE x>0
x=x-5
WEND
PRINT x
ENDA.4次 B.5次 C.6次 D.7次123455.要使4题中的输出结果与3题中的输出结果相同,需把4题中WHILE后的条件改为( )
A.x<0 B.x<=0
C.x>0 D.x>=0答案D规律与方法应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死”循环.
(3)在循环中要改变循环条件中涉及到的变量.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.返回课件26张PPT。第一章 算法初步§1.3 算法案例(一)1.理解辗转相除法与更相减损术中的数学原理,并能根据这些原理进行算法分析;
2.了解秦九韶算法及利用它提高计算效率的本质;
3.对简单的案例能设计程序框图并写出算法程序.问题导学题型探究达标检测学习目标知识点一 求两个数的最大公约数的算法答案问题导学 新知探究 点点落实思考 注意到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.辗转相除法
(1)辗转相除法,又叫欧几里得算法,是一种求两个正整数的 的古老而有效的算法.
(2)辗转相除法的算法步骤
第一步,给定 .
第二步,计算 .
第三步, .
第四步,若r=0,则m,n的最大公约数等于 ;
否则,返回 .答案最大公约数两个正整数m,n(m>n)m除以n所得的余数rm=n,n=rm第二步2.更相减损术的运算步骤
第一步,任意给定两个正整数,判断它们是否都是 .若是,用 约简;若不是,执行 .
第二步,以 的数减去 的数,接着把所得的差与 的数比较,并以大数减小数,继续这个操作,直到所得的数 为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.答案偶数2第二步较大较小较小相等答案知识点二 求n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值的算法思考 衡量一个算法是否优秀的重要参数是速度.把多项式f(x)=x5+x4+x3+x2+x+1变形为f(x)=((((x+1)x+1)x+1)x+1)x+1,然后求当x=5时的值,为什么比常规逐项计算省时?答案 从里往外计算,充分利用已有成果,可减少重复计算.秦九韶算法的一般步骤:
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:
(…((anx+an-1)x+an-2)x+…+a1)x+a0,求多项式的值时,首先计算
一次多项式的值,即v1= ,然后由内向外逐层计算一次多项式的值,即最内层括号内anx+an-1v2= ,
v3= ,
…
vn= ,
这样,求n次多项式f(x)的值就转化为求 的值.答案返回v1x+an-2v2x+an-3vn-1x+a0n个一次多项式类型一 辗转相除法的现代实现解析答案反思与感悟例1 试设计用辗转相除法可以求两个正整数m,n的最大公约数的程序框图和程序. 题型探究 重点难点 个个击破解析答案解 (1)算法:
第一步,给定两个正整数m,n(m>n).
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.
(2)程序框图:反思与感悟(3)程序:INPUT m,n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL r=0
PRINT m
END反思与感悟利用辗转相除法求给定的两个数的最大公约数,即利用带余除法,用数对中较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对,再利用带余除法,直到大数被小数除尽,则这时的较小数就是原来两个数的最大公约数.反思与感悟跟踪训练1 用辗转相除法求261和319的最大公约数.解析答案解 辗转相除法:
319÷261=1(余58),
261÷58=4(余29),
58÷29=2(余0),
所以319与261的最大公约数为29.类型二 更相减损术解析答案反思与感悟例2 试用程序框图和程序表述更相减损术.解 程序框图:程序:INPUT m,n
WHILE m<>n
k=m-n
IF n>k THEN
m=n
n=k
ELSE
m=k
END IF
WEND
PRINT m
END反思与感悟利用更相减损术求两个正整数的最大公约数的一般步骤是首先判断两个正整数是否都是偶数.若是,用2约简,也可以不除以2,直接求最大公约数,这样不影响最后结果.跟踪训练2 用更相减损术求261和319的最大公约数.解 319-261=58,261-58=203,
203-58=145,145-58=87,
87-58=29,58-29=29,
29-29=0,
所以319与261的最大公约数是29.解析答案类型三 秦九韶算法的基本思想解析答案反思与感悟例3 已知一个5次多项式为f(x)=4x5+2x4+3.5x3-2.6x2+1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.解 将f(x)改写为
f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8,
由内向外依次计算一次多项式当x=5时的值:
v0=4;v1=4×5+2=22;
v2=22×5+3.5=113.5;
v3=113.5×5-2.6=564.9;
v4=564.9×5+1.7=2 826.2;
v5=2 826.2×5-0.8=14 130.2.
∴当x=5时,多项式的值等于14 130.2.反思与感悟反思与感悟秦九韶算法之所以优秀,一是其对所有多项式求值都适用,二是充分利用已有计算成果,效率更高.跟踪训练3 用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.解 f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x,
所以有v0=7,
v1=7×3+6=27,
v2=27×3+5=86,
v3=86×3+4=262,
v4=262×3+3=789,
v5=789×3+2=2 369,
v6=2 369×3+1=7 108,
v7=7 108×3=21 324.
故当x=3时,多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x的值为21 324.解析答案返回1.下列说法中正确的个数为( )
①辗转相除法也叫欧几里得算法;
②辗转相除法的基本步骤是用较大的数除以较小的数;
③求最大公约数的方法,除辗转相除法之外,没有其他方法;
④编写辗转相除法的程序时,要用到循环语句.
A.1 B.2 C.3 D.4C达标检测 12345解析 ①、②、④正确,③错误.解析答案2.关于利用更相减损术求156和72的最大公约数,下列说法正确的是( )
A.都是偶数必须约简
B.可以约简,也可以不约简
C.第一步作差为156-72=84,第二步作差为72-84=-12
D.以上皆不正确12345B答案3.用辗转相除法求210与98的最大公约数需作除法的次数为( )
A.1 B.2 C.3 D.412345B答案4.用更相减损术求147和42的最大公约数是( )
A.6 B.7 C.21 D.42C12345答案123455.用秦九韶算法计算多项式f(x)=6x6+5x5+4x4+3x3+2x2+x+7在x=0.4时的值时,需做加法和乘法的次数的和为( )
A.10 B.9 C.12 D.8C解析 f(x)=(((((6x+5)x+4)x+3)x+2)x+1)x+7,
∴加法6次,乘法6次,
∴6+6=12次,故选C.解析答案规律与方法1.辗转相除法,就是对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽为止,这时的较小的数即为原来两个数的最大公约数.
2.更相减损术,就是对于给定的两个正整数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,继续上面的减法,直到差和较小的数相等,此时相等的两数即为原来两个数的最大公约数.返回课件21张PPT。第一章 算法初步§1.3 算法案例(二)1.了解生活中的各种进位制,了解计算机内部运算为什么选择二进制;
2.学会各种进位制转换成十进制的计算方法;
3.会用除k取余法把十进制转换为各种进位制,并理解其中的数学规律.问题导学题型探究达标检测学习目标知识点一 进位制答案问题导学 新知探究 点点落实思考 59分59秒再过1秒是多少时间?答案 1小时.
上述计时法遵循的是满60进一,称为六十进制.类比给出k进制的概念.“满k进一”就是k进制,k进制的基数是k.
一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式anan-1…a1a0(k)(an,an-1,…,a1,a0∈N,0为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),六进制数341(6),十进制数一般不标注基数.答案知识点二 k进制化为十进制思考 2小时3分4秒共多少秒?答案 共2×602+3×60+4=7 384秒.
一般地,将k进制数anan-1…a1a0(k)转化为十进制:
anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k1+a0×k0.答案知识点三 除k取余法返回思考 7 384秒是多少小时多少分多少秒?答案 7 384=123×60+4,即123分钟4秒.而123分钟=2×60+3,即2小时3分.故7 384秒合2小时3分4秒.
一般地,把十进制的数化为k进制的数的方法是:
把十进制数除以k,余数为k进制的个位数.把商再除以k,余数为k进制倒数第二位数;依次除以k,直至商为0.这个方法称为除k取余法.类型一 k进制化为十进制解析答案反思与感悟例1 二进制数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的幂的乘积之和的形式,然后计算出结果即为对应的十进制数.反思与感悟跟踪训练1 八进制数342(8)化为十进制数是多少?解析答案解 342(8)=3×82+4×81+2×80=226.类型二 十进制化为k进制解析答案反思与感悟例2 将十进制数458分别转化为四进制数和六进制数.解 算式如下图,则458=13 022(4)=2 042(6).反思与感悟跟踪训练2 把89化为二进制数.解 解析答案∴89=1 011 001(2).类型三 两种非十进制互化解析答案反思与感悟例3 324(5)化为二进制数是 .解析 先将五进制数324(5)化为十进制数:324(5)=3×52+2×5+4=89,
再把十进制数89化成二进制数:得1 011 001(2),
∴324(5)化为二进制数是1 011 001(2).1 011 001(2)反思与感悟两种非十进制之间转化以十进制为中转站.跟踪训练3 将七进制数235(7)化为八进制数为________.解析 235(7)=2×72+3×71+×70=124,
利用除8取余法可得124=174(8),
所以256(7)=114(8).解析答案返回174(8)1.7不可能是( )
A.七进制数 B.八进制数
C.十进制数 D.十六进制数答案A达标检测 123452.16化为二进制数是( )
A.1000(2) B.10000(2)
C.1111(2) D.11111(2)12345B答案3.关于除k取余法,下列说法错误的是( )
A.除k取余法是用来把十进制转化为k进制的
B.第一次除k取余所得余数恰为k进制数右数第一位
C.除k取余到余数为0为止
D.除k取余到商数为0为止12345C答案4.把89化成五进制的末尾数是( )
A.1 B.2 C.3 D.4D12345答案123455.下列各数中最小的数是 ( )
A.85(9) B.210(6)
C.1 000(4) D.111 111(2)D答案规律与方法1.要把k进制数化为十进制数,首先把k进制数表示成不同位上数字与k的幂的乘积之和,其次按照十进制的运算规则计算和.
2.十进制数化为k进制数(除k取余法)的步骤:3.把一个非十进制数化为另一个非十进制数时,要先把这个数化为十进制数,再利用“除k取余法”化为另一个非十进制数.返回课件22张PPT。第一章 算法初步习题课 三种逻辑结构与应用1.提高把具体问题的求解转化为算法步骤的能力;
2.能正确选择并运用三种逻辑结构框图表示具体问题的算法;
3.提高读图能力.问题导学题型探究达标检测学习目标知识点一 三种逻辑结构答案问题导学 新知探究 点点落实答案 (1)顺序结构每一个程序框图都有.
(2)当一个问题需要根据不同的条件选择不同的处理方法时,要用到条件结构;循环结构中必须有条件结构来控制循环.
(3)循环结构用于处理需要反复执行同一个算法的问题.思考1 我们先后学了三种逻辑结构,你能简述一下什么时候会用到它们吗?思考2 循环结构是个难点.你认为循环结构的关键在哪里?需要注意些什么?答案 在循环结构中,关键是根据条件设置合理的计数变量、累加(乘)变量,需要注意的是控制循环的条件表述要恰当、准确.累加变量的初值一般为0,而累乘变量的初值一般为1.答案设计一个算法的程序框图通常要经过以下步骤:
第一步,用 表述算法步骤.
第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的 表示,得到该步骤的程序框图.
第三步,将所有步骤的程序框图用 连接起来,并加上终端框,得到表示整个算法的程序框图.答案知识点二 用程序框图表示算法自然语言程序框图流程线返回类型一 算法的设计解析答案反思与感悟题型探究 重点难点 个个击破解 算法如下:
第一步,输入x的值.
第二步,当x≤-1时,计算y=-x2-1,否则执行第三步.
第三步,计算y=x3.
第四步,输出y.设计一个具体问题的算法,通常按以下步骤:
(1)认真分析问题,找出解决此题的一般数学方法;
(2)借助有关变量或参数对算法加以表述;
(3)将解决问题的过程划分为若干步骤;
(4)用简练的语言将这个步骤表示出来.反思与感悟解析答案解 算法如下:
第一步,输入x的值.
第二步,当x≤-1时,计算y=2x-1,否则执行第三步.
第三步,当x<2时,计算y=log2(x+1),否则执行第四步.
第四步,计算y=x2.
第五步,输出y.类型二 画程序框图解析答案反思与感悟例2 设计求1×2×3×4×…×2 013×2 014的值的算法,并画出程序框图.解 算法如下:
第一步,设M的值为1.
第二步,设i的值为2.
第三步,如果i≤2 014,则执行第四步,否则转去执行第六步.
第四步,计算M乘i,并将结果赋给M.
第五步,计算i加1,并将结果赋给i,转去执行第三步.
第六步,输出M的值并结束算法.
程序框图如图:算法要求指令明确,在有限步内解决问题,故用自然语言设计算法时不能大而化之.一旦用自然语言表述出算法,转换为程序框图相对简单,但画时要用对程序框,并尽量使主线在一条纵轴上,以增强程序框图的条理.反思与感悟跟踪训练2 一程序框图如图,它的功能是什么?解 i=1,S=12;
i=2,S=12-22;
i=3,S=12-22+32;
i=4,S=12-22+32-42;
i=100,S=12-22+32-42+…+992-1002,i=100+1>100,终止循环,输出S.
故其功能是计算12-22+32-42+…+992-1002的值.解析答案类型三 算法在生活中的应用解析答案反思与感悟例3 以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60,画出求80分以上的同学的平均分的程序框图.解 程序框图如图:在循环结构中,要注意根据条件设置合理的计数变量、累加(乘)变量,同时条件的表述要恰当、准确.累加变量的初值一般为0,而累乘变量的初值一般为1.反思与感悟跟踪训练3 乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法:行李质量不超过50 kg时按0.25元/kg;超过50 kg而不超过100 kg时,其超过部分按0.35元/kg;超过100 kg时,其超过部分按0.45元/kg.设计输入行李质量,计算出托运的费用的算法,并画出程序框图.解析答案返回解析答案解 设行李质量为x kg,应付运费为y元,则运费公式:算法步骤:
第一步,输入行李质量x.
第二步,当x≤50时,计算y=0.25x,否则,执行下一步.返回第三步,当x≤100时,计算y=0.35x-5;否则,计算y=0.45x-15.
第四步,输出y.
程序框图:1.算法共有三种逻辑结构,即顺序结构、条件结构和循环结构,下列说法正确的是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.任何一个算法都离不开顺序结构D达标检测 12345答案2.程序框图中,具有赋值、计算功能的是( )
A.处理框 B.输入、输出框
C.循环框 D.判断框A答案123453.下列关于程序框图的描述中,正确的有( )
①对于一个算法来说,程序框图是唯一的;
②任何一个框图都必须有起止框;
③程序框图只有一个入口,也只有一个出口;
④输出框一定要在终止框前.
A.1个 B.2个 C.3个 D.4个解析 ②、③正确,对于一个算法来说,程序框图不唯一,与设计有关,故①错.
输入、输出的位置,不一定在开始和结束处,故④错.B12345解析答案4.执行如图所示的程序框图,若输入n的值为3,则输出s的值是( )
A.1 B.2 C.4 D.7C12345答案解析 i=1,s=1→s=1,i=2→s=2,i=3→s=4,i=4,结束.123455.某程序框图如图所示,若输出的S=57,则判断框内为( )A.k>4? B.k>5? C.k>6? D.k>7?解析 当k=1时,k=k+1=2,S=2×1+2=4;
当k=2时,k=k+1=3,S=2×4+3=11;
当k=3时,k=k+1=4,S=2×11+4=26;
当k=4时,k=k+1=5,S=2×26+5=57.
此时S=57,循环结束,k=5,所以判断框中应为“k>4?”.解析答案A规律与方法返回1.在一个问题中经常要进行多次判断,这就需要条件结构嵌套来进行解决.
2.直到型循环结构是先执行一次循环体,然后再判断是否继续执行循环体,当型循环结构是先判断是否执行循环体;直到型循环结构是在条件不满足时执行循环体,当型循环结构是在条件满足时执行循环体.要掌握这两种循环结构,必须抓住它们的区别.
3.算法问题经常涉及到与现实生活有关的题目,解答时,首先根据题意写出内含的表达式,选择适合的结构,设计程序框图,因此,解题的关键是写出函数解析式.课件23张PPT。第一章 算法初步章末复习课1.加深对算法思想的理解;
2.加强用程序框图清晰条理地表达算法的能力;
3.进一步体会由自然语言到程序框图再到程序的逐渐精确的过程.知识整合题型探究达标检测学习目标[知识网络]知识整合 新知探究 点点落实1.顺着知识框图,试着填写下列知识要点:
(1)算法的概念: 算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的 、 计算序列,并且这样的步骤或序列能够解决 .
(2)程序框图: 程序框图由 组成, 按照 用 将程序框连接起来.结构可分为 结构、 结构和 结构.答案[知识梳理]有限的确切的一类问题程序框算法进行的顺序流程线顺序条件循环(3)算法语句: 基本算法语句有 语句、 语句、 语句、 语句、 语句五种,它们对应于算法的三种逻辑结构:顺序结构、条件结构、循环结构.用基本语句编写程序时要注意各种语句的 ,条件语句应注意IF与 配套使用,缺一不可,而 可选;循环语句应注意 的准确表达以及 的步长设置.
2.算法案例
本章涉及的辗转相除法、更相减损术是用来求 的,秦九韶算法是用来 的,二进制在计算机上的应用受到我国周易八卦的影响和启发,都是我国古代灿烂的数学文明的体现.对这些案例,应该知其然,还要知其所以然,体会其中蕴含的 .答案返回输入输出赋值条件循环格式要求THEN、END IFELSE循环条件循环变量两个正整数的最大公约数计算多项式的值算法思想类型一 算法设计解析答案反思与感悟题型探究 重点难点 个个击破例1 已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.第四步,由点斜式方程得直线AB的垂直平分线的方程,并输出.算法设计应注意:
(1)与解决问题的一般方法有联系,从中提炼出算法;
(2)将解决问题的过程分为若干个可执行步骤;
(3)引入有关的参数或变量对算法步骤加以表达;
(4)用最简练的语言将各个步骤表达出来;
(5)算法的执行要在有限步内完成.反思与感悟解析答案解 算法如下:
第一步,令n=1,a=200,r=0.05.
第二步,T=ar(计算年增量).
第三步,a=a+T(计算年产量).
第四步,如果a≤300,那么n=n+1,
返回第二步;否则执行第五步.
第五步,N=2 014+n.
第六步,输出N.跟踪训练1 某工厂2014年生产小轿车200万辆,技术革新后预计每年的生产数量比上一年增加5%,问最早哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法.类型二 程序框图及设计解析答案反思与感悟例2 给出以下10个数:5,9,80,43,95,73,28,17,60,36.要求把大于40的数找出来并输出.试画出该问题的算法程序框图.解 程序框图如下:算法的设计是画程序框图的基础,我们通过对问题的分析,写出相应的算法步骤.画程序框图之前应先对算法问题设计的合法性和合理性进行探讨,然后分析算法的逻辑结构和各步骤的功能(输入、输出、判断、赋值和计算),画出相应的程序框图.反思与感悟跟踪训练2 阅读如图所示的程序框图,运行相应的程序,如果输入某个正整数n后,输出的s∈(10,20),那么n的值为( )
A.3 B.4 C.5 D.6解析 逐项验证.
若n=3,输出s=7?(10,20).
若n=4,输出s=15∈(10,20),选B.解析答案B类型三 算法语句的设计解析答案例3 给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算第30个数的大小,现在已给出了该问题算法的程序框图(如图).
(1)请在图中判断框①处和执行框②处填上合适的语句,使之能完成该题算法功能;解 ①i>30? ②P=P+i解析答案反思与感悟(2)根据程序框图写出程序.解 程序如下:P=1
S=0
i=1
DO
S=S+P
P=P+i
i=i+1
LOOP UNTIL i>30
PRINT S
END用基本语句编写程序时要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表达以及循环语句中有关变量的取值范围.反思与感悟跟踪训练3 试设计一个程序来求解某个正三棱柱的表面积和体积,并画出程序框图.解析答案返回解析答案解 程序如下:INPUT “a=”;a
INPUT “h=”;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程序框图如图所示,返回1.二分法做为一个优秀算法, 有下列说法
①适用于求所有函数的零点;
②一定能在有限步内达到要求的精确度;
③每一步的指令都十分明确,只需按指令机械执行;
④能很方便地移植到计算机上执行,代替人完成枯燥的、重复的、烦琐的工作.
其中正确的说法有( )
A.①②③ B.①②④ C.①③④ D.②③④D达标检测 12345解析 二分法只适合求零点左右两侧函数值异号的零点,虽能解决一类问题,但不适合所有函数求零点.解析答案2.根据如图所示的程序框图,要使得输出的结果在区间[-1,0]上,则输入的x可以是( )
A.2 B.3 C.5 D.6A12345解析答案3.若程序框图所给的运行结果为S=20,那么判断框中应填入的关于k的条件是( )
A.k=9? B.k≤8?
C.k<8? D.k>8?解析 据程序框图可得当k=9时,S=11;
k=8时,S=11+9=20.
∴应填入“k>8?”.D12345解析答案4.计算机执行下面的程序段后,输出的结果是( )
A.1,3 B.4,1
C.0,0 D.6,012345解析 由语句知a=1+3=4,b=4-3=1.a=1
b=3
a=a+b
b=a-b
PRINT a,bB解析答案123455.对于如图的程序,判断正确的是( )
A.这是个直到型循环
B.该程序功能是求从1到1 000这1 000个自然数的和
C.若用程序框图表示该算法,其中必有条件结构
D.循环结束时i的值为1 000解析答案i=1
S=0
WHILE i<=1 000
S=S+i
i=i+1
WEND
PRINT S
END解析 由S=S+i,i=i+1,知该程序是求从1到1 000这1 000个自然数之和.B规律与方法返回1.算法往往是把问题的解法划分为若干个可执行的步骤,有些步骤甚至重复多次,但最终都必须在有限个步骤之内完成.
2.对程序框图的考查之一是程序的运行结果;考查之二是补全程序框图中的条件或循环体等.
3.算法设计和程序框图是程序设计的基础,编写程序的基本方法是“自上而下,逐步求精”.