- 1.09 MB
- 2021-06-24 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
算法初步
算法的含义、程序框图
(一)了解算法的含义,了解算法的思想。
(二)理解程序框图的三种基本逻辑结构:顺序结构、条件结构和循环结构。
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础。算法初步虽然
是新课标增加的内容,但与前面的知识有着密切的联系,并且与实际问题的联系也非常密切。
因此,在高考中算法初步知识将与函数、数列、三角、概率、实际问题等知识点进行整合,
是高考试题命制的新“靓”点。这样试题就遵循了“在知识网络交汇处设计试题”的命制原
则,既符合高考命题“能力立意”的宗旨,又突出了数学的学科特点。这样做,可以从学科
的整体高度和思维价值的高度考虑问题,可以揭示数学各知识之间得到的内在联系,可以使
考查达到必要的深度。
考查形式与特点是:
(1)选择题、填空题主要考查算法的含义、流程图、基本算法语句等内容,一般在每份试
卷中有 1~2 题,多为中档题出现。
(2)在解答题中可通过让学生读程序框图去解决其它问题,此类试题往往是与数列题结合在
一起,具有一定的综合性,可以考查学生的识图能力及对数列知识的掌握情况.
第 1 课时 算法的含义
1.算法的概念:对一类问题的机械的、统一的求解方法称为算法。
2.算法的特性:(1)有限性
(2)确定性
例 1.给出求 1+2+3+4+5 的一个算法。
解:算法 1
第一步:计算 1+2,得到 3
第二步:将第一步中的运算结果 3 与 3 相加,得到 6
典型例
基础过
知识网
考纲导
高考导
第三步:将第二步中的运算结果 6 与 4 相加,得到 10
第四步:将第三步中的运算结果 10 与 5 相加,得到 15
算法 2
第一步:取 n=5
第二步:计算
第三步:输出运算结果
变式训练 1.写出求 1 1 11 2 3 100
的一个算法.
解:第一步:使 1S ,;
第二步:使 2I ;
第三步:使 1n I
;
第四步:使 S S n ;
第五步:使 1I I ;
第六步:如果 100I ,则返回第三步,否则输出 S .
例 2. 给出一个判断点 P ),( 00 yx 是否在直线 y=x-1 上的一个算法。
解:第一步:将点 P ),( 00 yx 的坐标带入直线 y=x-1 的解析式
第二步:若等式成立,则输出点 P ),( 00 yx 在直线 y=x-1 上
若等式不成立,则输出点 P ),( 00 yx 不在直线 y=x-1 上
变式训练 2.任意给定一个大于 1 的整数 n,试设计一个程序或步骤对 n 是否为质数做出判断.
分析:(1)质数是只能被 1 和自身整除的大于 1 的整数.
(2)要判断一个大于 1 的整数 n 是否为质数,只要根据质数的定义,用比这个整数小的数
去除 n,如果它只能被 1 和本身整除,而不能被其它整数整除,则这个数便是质数.
解:算法:第一步:判断 n 是否等于 2.若 n=2,则 n 是质数;若 n>2,则执行第二步.
第二步:依次从 2~(n-1)检验是不是 n 的因数,即整除 n 的数.若有这样的数,则 n 不是
质数;若没有这样的数,则 n 是质数.
例 3. 解二元一次方程组:
�yx
�yx
12
12
分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,
下面用加减消元法写出它的求解过程.
解:第一步:② - ①×2,得: 5y=3; ③
第二步:解③得
5
3y ; 第三步:将
5
3y 代入①,得
5
1x .
变式训练 3.设计一个算法,使得从 10 个确定且互不相等的数中挑选出最大的一个数.
解:算法 1
第一步:假定这 10 个数中第一个是“最大值”;
第二步:将下一个数与“最大值”比较,如果它大于此“最大值”,那么就用这个数取代“最
大值”,否则就取“最大值”;
2
1nn )(
第三步:再重复第二步。
第四步:在这十个数中一直取到没有可以取的数为止,此时的“最大值”就是十个数中的最
大值。
算法 2
第一步:把 10 个数分成 5 组,每组两个数,同组的两个数比较大小,取其中的较大值;
第二步:将所得的 5 个较大值按 2,2,1 分组,有两个数的组组内比较大小,一个数的组不
变;
第三步:从剩下的 3 个数中任意取两个数比较大小,取其中较大值,并将此较大值与另一个
数比较,此时的较大值就是十个数中的最大值。
例 4. 用二分法设计一个求方程 022 x 的近似根的算法.
分析:该算法实质是求 2 的近似值的一个最基本的方法.
解:设所求近似根与精确解的差的绝对值不超过 0.005,算法:
第一步:令 22 xxf .因为 02,01 ff ,所以设 x1=1,x2=2.
第二步:令
2
21 xxm ,判断 f(m)是否为 0.若是,则 m 为所求;若否,则继续判断
mfxf 1 大于 0 还是小于 0.
第三步:若 01 mfxf ,则 x1=m;否则,令 x2=m.
第四步:判断 005.021 xx 是否成立?若是,则 x1、x2 之间的任意值均为满足条件的近
似根;若否,则返回第二步.
变式训练 4.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动
物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算
法.
解:算法或步骤如下:
S1 人带两只狼过河;
S2 人自己返回;
S3 人带一只羚羊过河;
S4 人带两只狼返回;
S5 人带两只羚羊过河;
S6 人自己返回;
S7 人带两只狼过河;
S8 人自己返回;
S9 人带一只狼过河.
第 2 课时 程序框图
(1)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来
准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文
字说明。
基础过
(2)构成程序框的图形符号及其作用
程序框 名称 功能
起止框
表示一个算法的起始和结束,是任何流程图
不可少的。
输入、输出框
表示一个算法输入和输出的信息,可用在算
法中任何需要输入、输出的位置。
处理框
赋值、计算,算法中处理数据需要的算式、
公式等分别写在不同的用以处理数据的处理
框内。
判断框
判断某一条件是否成立,成立时在出口处标
明“是”或“Y”;不成立时标明“否”或
“N”。
学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如
下:
1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,
大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。
4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;
另一类是多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。
(3)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构
顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺
序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基
本算法结构。
顺序结构在程序框图中的体现就是用流程线将程序框自上而
下地连接起来,按顺序执行算法步骤。如在示意图中,A 框和 B
框是依次执行的,只有在执行完 A 框指定的操作后,才能接着执
行 B 框所指定的操作.
例 1. 如果学生的成绩大于或等于 60 分,则输出“及格”,否则输出“不及格”.用程序框
图表示这一算法过程.
解:
开始
结束
输入成绩A
A<60?
输出“及格” 输出“不及格”
是否
变式训练 1:画出解不等式 ax+b>0(b≠0)的程序框图.
解:
典型例
A
B
例 2.
开 始
结 束
输 入 a,b
a=0?
b> 0?
输 出 ∈x R 输 出 无 解 输 出 > -x 输 出 < -x
a> 0?
b b
a a
是
是 是
否
否 否
例 2. 设计一 个计算 1+2+3+…+100
的值的
算法,并画出相应的程序框图.(要求用循环结构)
解: 第一步:设 i 的值为 1;
第二步:设 sum 的值为 0;
第三步:如果 i≤100 执行第四步,
否则转去执行第七步;
第四步:计算 sum+i 并将结果代替 sum;
第五步:计算 i+1 并将结果代替 i;
第六步:转去执行第三步;
第七步:输出 sum 的值并结束算法.
变式训练 2:阅读右面的流程图,
输出 max 的含义是___________________________。
解: 求 a,b,c 中的最大值
例 3. 某快递公司规定甲、乙两地之间物品的托运费
用根据下列方法计算:
f=
).50(85.0)50(53.050
),(53.0
其中 f (单位:元)为托运费,ω为托运物品的重量
(单位:千克),试写出一个计算费用 f 算法,并画出相应的程序框图.
解:算法:
第一步:输入物品重量ω;
第二步:如果ω≤50,那么 f =0.53ω,否则,f = 50×0.53+(ω-50)×0.85;
第三步:输出物品重量ω和托运费 f.
变式训练 1
开始
输入a,b,c
a>b
max:=b max:=a
c>max
max:=c
输出max
结束
是否
否 是
例
相应的程序框图.
开 始
输 入
≤ 50
f =0.53 f=50× 0.53+( -50)× 0.85
输 出 ,f
结 束
是 否
变式训练 3:程序框图如下图所示,则该程序框图表示的算法的功能是
解::求使 10000) (531 成立的最小正整数 n 的值加 2。
例 4.下面是计算应纳税所得额的算法过程,
其算法如下:
S1 输入工资 x(x<=5000);
S2 如果 x<=800,那么 y=0;
如果 8000 THEN
y=1
ELSE
IF x=0 THEN
y=0
ELSE
y=-1
END IF
END IF
PRINT “y 的值为:”;y
END
开
输出
结
I=I+
Q=
F=S+
I ≤
I=3
S=1
N
Y
S=1
Q=1
I=3
WHILE
I<=12
F=S+Q
X=3
Y=4
X=X+Y
1a
3b
a a b
b a b
PRINT a ,b
算法语言单元测验题
一、选择题
1.我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组解,
二分法求函数零点等.对算法的描述有①对一类问题都有效;②对个别问题有效;③计算
可以一步步地进行,每一步都有惟一的结果;④是一种通法,只要按部就班地做,总能得到
结果.以上正确描述算法的有 ( )
A.1 个 B.2 个 C.3 个 D.4 个
2.右面程序的输出结果为( )程序:
A. 3,4 B. 7,7
C. 7,8 D. 7,11
3.算法
S1 m=a
S2 若 b2,则执行 S3
s3 依次从 2 到 n 一 1 检验能不能整除 n,若不能整除 n,则输出 n。
满足上述条件的是 ( )
A.质数 B.奇数 C.偶数 D.约数
5.右图输出的是
A.2005 B.65 C.64 D.63
6.给出以下算法:
S1 i=3,S=0
S2 i=i+2
S3 S=S+i
S4 S≥2009?如果 S≥2009,执行 S5;否则执行 S2
S5 输出 i
S6 结束
则算法完成后,输出的 i 的值等于 。
7.将两个数 A=9,B=15 交换使得 A=15,B=9 下列语句正确的一组是( )
A. B. C. D.
8.计算机执行下面的程序段后,输出的结果是( )
A=
B
B =
A
A =
C
C =
B
A.1,3 B. 4,1 C. 0,0 D. 6,0
9.读程序
甲:INPUT i=1 乙:INPUT I=1000
S=0 S=0
WHILE i≤1000 DO
S=S+i S=S+i
i=i+l I=i 一 1
WEND Loop UNTIL i<1
PRINT S PRINT S
END END
对甲乙两程序和输出结果判断正确的是 ( )
A.程序不同结果不同 B.程序不同,结果相同 C.程序
相同结果不同 D.程序同,结果同
10.阅读右边的程序框图,若输入的 n 是 100,
则输出的变量 S 和 T 的值依次是( )
A.2500,2500 B.2550,2550
C.2500,2550 D.2550,2500
是
否
结束
输入 n
S=0,T=0
n=n-1
n<2?
S=S+n
T=T+n
n=n-1
输出 S,
开始
1
是
否
结束
输入 n
i=1
m=0
i≤N
A=CONRND(-1,1)
B=CONRND(-1,1)
A2+B2≤1?
m=m+1
i=i+1
输出 m
开始
否
是
1
二、填空题
11.上图程序框图可用来估计π的值(假设函数 CONRND(-1,1)是产生随机数的函数,它能
随机产生区间(-1,1)内的任何一个实数)。如果输入 1000,输出的结果为 788,则运用此
方法估计的π的近似值为 (保留四位有效数字)。
12.给出以下算法:
S1 i=3,S=0
S2 i=i+2
S3 S=S+i
S4 S≥2009?如果 S≥2009,执行 S5;否则执行 S2
S5 输出 i
S6 结束
则算法完成后,输出的 i 的值等于 。
13.一个算法的程序框图如下图所示,若该程序输出的结果为4
5
,则判断框中应填入的条件
是 。
14.下面程序输出的 n 的值是______________.
三、解答题
15.某市公用电话(市话)的收费标准为:3分钟之内(包括3 分钟)收取 0.30 元;超过3
分钟部分按 0.10 元/分钟加收费。设计一个程序,根据通话时间计算话费
16.写出求 m=60 和 n=33 的最大公约数的算法和程序框图.
j=1
n=0
WHILE j<=11
j=j+1
IF j MOD 4=0
THEN
14
是
否
结束
i=1,sum=0,s=0
sum=sum+1
i=i+1
s=s+1/(sum*i)
输 出
开始
13
17.有 10 个互不相等的数,写出找出其中一个最大数的算法和程序
18.假定在银行中存款 10000 元,按 11.25%的利率,一年后连本带息将变为 11125 元,
若将此款继续存人银行,试问多长时间就会连本带利翻一番?请用直到型和当型两种语句写
出程序.
19..用循环语句描述 1+
2
1 + 22
1 + 32
1 +…+ 92
1 .
20.目前高中毕业会考中,成绩在 85~100 为“A”,70~84 为“B”,60~69 为“C”,60 分
以下为“D”.编制程序,输入学生的考试成绩(百分制,若有小数则四舍五入),输出相应的
等级.
算法语言测试题答案
一、选择题
1.C 2.D 3.B 4.A 5.D 6.解析:根据算法可知,i 的值 in 构成一个等差数列{in},
S 的值是数列{in}相应的前 n 项的和,且 i1=5,d=2,所以 in=2n+1。又 S≥2009,所以 n≥43,
故 in=89,所以输出的 i 的值为 89。7.B 8.B 把1赋给变量 a ,把3赋给变量b ,把 4 赋
给变量 a ,把1赋给变量b ,输出 ,a b
9.B 10.解析:由程序框图知,S=100+98+96+……+2=2550
T=99+97+95+……+1=2500,选 D
点评:该题主要考查算法流程图、等差数列求和等基础知识,以及算法思想、数据处理能力、
语言转换能力。本题采用直到型循环语句描述算法,解题的关键是循环体中两个 n=n-1 的
理解,明确循环一次后 n 的值就减少了 2。
二、填空题
11.解析:本题转化为用几何概型求概率的问题。根据程序框图知,如果点在圆 x2+y2=1 内,
m 就相加一次;现 N 输入 1000,m 起始值为 0。输出结果为 788,说明 m 相加了 788 次,也
就是说有 788 个点在圆 x2+y2=1 内。设圆的面积为 S1,正方形的面积为 S2,则概率 P=S1
S2
=π
4
∴π=4p=4× 788
1000
≈3.152
点评:本题是算法框图与几何概型的整合,融合自然,具有创新性,有力地考查了基础知识
和逻辑思维能力,同时又能体会到求无理数近似值的一种算法,可培养学生用数学的意识。
12.解析:根据算法可知,i 的值 in 构成一个等差数列{in},S 的值是数列{in}相应的前 n
项的和,且 i1=5,d=2,所以 in=2n+1。又 S≥2009,所以 n≥43,故 in=89,所以输出的 i
的值为 89。
13.解析:由循环体可知,当 sum=1 时,s=0+ 1
1×2
;当 sum=2 时,s=1
2
+ 1
2×3
=2
3
,……,当
sum=4 时,s=3
4
+ 1
4×5
=4
5
,因此,判断框中应填:“i<5?”或“sum<4?”
点评:本题设计角度比较新颖,具有探索性,同时答案又具开放性。此题融算法、数列求和
于一体,虽属常规题,但由于问法不同,有力考查学生对数列、框图等知识的掌握情况以及
分析问题和解决问题的能力
14.3
三、解答题
15.解:TNPUT " ";t通话时间
IF 3t and 0t THEN
0.30c
ELSE 0.30 0.10 ( 3)c t
END IF
PRINT " ";c通话费用
END
16.【解法一】
S1:以 n 除 m,得余数 r=27
S2:判断 r 是否为零,若 r=0,则 n 为解,若 r≠0,则重复 S3 操作(r=27)
S3:以 n 作为新的 m(33),以 r 作为新的,l(27),求新的 m/n 的余数 r=6
S4:判断 r 是否为零,若 r=O,则前一个 n 即为解,否则要继续 S5 操作
S5:以 n 作为新的 m(即 m=27),以 r 作为新的 n(即 n=6),求新的余数 r=3
S6:判断上一个 r 是否为零,若 r=O,则前一个 n 即为解,否则要执行 S7 操作
S7:以 n 作为新的 m(m =6),r 作为新的 n(n=3),求新的 r= O
S8:判断 r 是否为零,这里 r=O,算法结束,得,n=3 是 60 与 33 的最大公约数程序框图略
【解法二】
S1:输入 60,33,将 m=60,n=33
S2:求 m/n 余数 r
S3:若 r=0,则 n 就是所求最大公约,输出 n,若 r≠O,执行下一步
S4:使 n 作为新的 m,使 r 作为新的 n,执行 S2
程序框图(当型)
【解法三】
S1:令 m=60,n=33
S2:重复执行下面序列,直到求得 r=0 为止
S3:求 m/n 的余数 r
S4:令 m=n,n=r
S5:输出 m
(直到型)
17.【解】(一)算法
S1:输入一个数,放在 MAX 中
S2:i=1
S3:输入第 1 个数,放入 x 中
S4:若 x>MAX,则 MAX=z
S5: i=i+1
S6:若 i≤9,返回 S3 继续执行,否则停.
(二)程序框图
用直到型
INPUT“money=” ,
10000
x=mOney
r=11.25/100
y=O
用当型
INPUT m=10000
X=m
y=O
r=11.25/100
18.【解】
19.解:算法分析:
第一步是选择一个变量 S 表示和,并赋给初值 0,再选取一个循环变量 i,并赋值为0;
第二步开始进入 WHILE 循环语句,首先判断 i 是否小于 9;
第三步为循环表达式(循环体),用 WEND 来控制循环;
第四步用 END 来结束程序.
可写出程序如下:
S=0
i=0
WHILE i<=9
S=S+1/2^i
i=i+1
WEND
PRINT S
END
运行该程序,输出:
S=1.9980
20.答案:
I=1
WHILE I=1
INPUT “shu ru xue sheng cheng ji a=”;a
IF a<60 THEN
PRINT “D”
ELSE
IF a<70 THEN
PRINT “C”
ELSE
IF a<85 THEN
PRINT “B”
ELSE
PRINT “A”
END IF
END IF
END IF
INPUT “INPUT 1,INPUT 2”;I
WEND
END
相关文档
- 2021高考数学人教版一轮复习多维层2021-06-2417页
- 2021高考数学新高考版一轮习题:专题2021-06-243页
- 2016年高考数学(理科)真题分类汇编G2021-06-2439页
- 高考数学专题复习:独立性检验的基本2021-06-244页
- 2019年高考数学高分突破复习课件专2021-06-2440页
- 专题35+数列+数列的概念及其表示-22021-06-244页
- 备战2014高考数学 高频考点归类分2021-06-245页
- 2019年高考数学(理)原创终极押题卷(新2021-06-248页
- 2015年高考数学(理科)真题分类汇编F2021-06-248页
- 高考数学专题复习教案: 数量积的概2021-06-241页