算法初步
【学法导航】
算法是高中数学课程中的新内容,本章的重点是算法的概念和算法的三种逻辑结构。以选择题或填空题的形式出现,分值在5分左右,考察的热点是算法的概念
【典例精析】
1.自然语言表示的算法
【内容解读】通过对解决具体问题过程与步骤的分析,体会算法的思想,理解算法的含义;对于某一问题往往能够设计出多种算法,通过选用步骤最少的、结构最好的算法【命题规律】以选择题或解答题的题型为主,难度不大。
while语句的嵌套流程图例1、烧水泡茶需要洗刷茶具(5 min)、刷水壶(2 min)、烧水(8 min)、泡茶(2 min)等个步骤、从以下选项中选最好的一种算法( )
(A)第一步:洗刷茶具;第二步:刷水壶;第三步:烧水;第四步:泡茶
(B)第一步:刷水壶;第二步:洗刷茶具;第三步:烧水;第四步:泡茶
(C)第一步:烧水;第二步:刷水壶;第三步:洗刷茶具;第四步:泡茶
(D)第一步:烧水;第二步:烧水的同时洗刷茶具和刷水壶;第三步:泡茶解:烧水要8分钟,这时刚好刷茶具和水壶,可节省时间。所以选(D)
点评:一个问题的算法有多种,我们应该选择结构最好的算法。
例2、已知直角三角形的两直角边长分别为a b
,,设计一个求该三角形周长的算法.解:由勾股定理,可求出斜边22
=+++.
l a b a b
c a b
=+,从而周长22
算法步骤如下:
第一步:输入实数a b
,;
第二步:计算22
+的结果,并将这个结果赋给c;
a b
第三步:执行计算:l a b c
=++;
第四步:输出l.
点评:用自然语言描绘算法,然后才能画出程序框图,写出程序。所以,用自然描绘算法是程序设计的基础
2.程序框图
【内容解读】顺序结构、选择结构和循环结构是算法的三种基本逻辑结构.在画流程图时,首先要实行逻辑结构的选择,若求只含有一个关系式的解析式的函数的函数值时,只用顺序结构就能解决,顺序结
构是任何一个算法中必不可少的结构.选择结构主要用在一些需要依据选择实行判断的算法中,如分段函数的求值、数据的大小关系比较等问题.循环结构主要用在一些有规律的重复计算的算法中,如累加求和、累乘求积等问题.用循环结构表达算法,关键要做好以下三点:①确定循环变量和初始值;②确定算法中反复执行的局部,即循环体;③确定循环的终止选择.
循环结构又分为当型(While型)和直到型(Until型)两种.当型循环在每次执行循环体前对控制循环的选择实行判断,当选择满足时执行循环体,不满足则停止;直到型循环在
执行了一次循环体之后,对控制循环的选择实行判断,当选择不满足时执行循环体,满足则停止.两种循环仅仅实现循环的不同方法,它们是能够互相转换的.对同一个问题假如分别用当型循环和直到型循环来处理的话,那么两者判断的条件恰好相反.
【命题规律】考查程序框图的知识经常出现在高考的选择题或填空题中,理解程序框图中,程序的流向,执行步骤。难度属中等
例3、(2008广东)阅读图1的程序框图,若输入4m =,6n =,则输出a = ,i = .
(注:框图中的赋值符号“=”也能够写成“←”或“:=”)
解:要结束程序的运算,就必须通过n 整除a 的条件运算, 而同时m 也整除a ,那么a 的最小值应为m
和n 的最小公倍 数12,即此时有3i = 所以填:12,3
点评:这是一个直到型循环结构的程序框图,求解时,最好先写出程序运行的前几步,再总结出规律,最后才到答案。
例4、(2008山东)执行右边的程序框图,若
0.8p =,则输出的n = .
解:循环的第一步:S =2
1
,n =2, 循环的第二步:S =
21+41
,n =3, 循环的第三步:S =111
0.8248
++>,n =4,
所以输出 4.n =
点评:这是一个当型循环结构的程序框图, 解法还是一样,从第一步开始写,直到循环的
条件不成立时,结束循环,输出结果。
例5、(2008海南、宁夏)右面的程序框图,假如输入三个实数a ,b ,c ,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的( )
A .c x >
B .x c >
C .c b >
D .b c >
解:由流程图可知第一个选择框作用是比较x 与b 的大小,
开始 1i =
n 整除a ?
是 输入m n ,
结束 a m i =⨯
输出a i ,
图1
否
1i i =+
开始
输入a b c ,,
x a =
b x >
x b =
x c =
输出x 结束
是
是
否
否 开始 10n S ==,
S p <?
是
输入p
结束
输出n 12
n S S =+
否
1n n =+
图2
Read x
If x >0 Then
1y x ←+
Else
1y x ←-
End If
Print y (例6)
故第二个选择框的作用应该是比较x 与c 的大小,故应选A;
点评:此题考查条件结构的程序框图,求解时,对字母比较难理解,能够取一些特殊的数值,代进去,方便理解。从以上三题来看,因为算法是新课程中的新增加的内容,所以它也必然是新高考中的一个热点,应高度重视
3.基本算法语句
【内容解读】算法语句是表达算法的简单而实用的好方法,要注意各语句的作用,准确理解赋值语句,灵活表达选择语句,注意WHILE 语句和UNTIL 语句的区别.
(1)输入、输出语句和赋值语句基本对应于算法中的顺序结构,这是任何一个算法都用到的语句,利用输入、输出语句和赋值语句设计算法时应明确:需输入信息时用INPUT 语句,需输出信息时用PRINT 语句.当变量需要的数据较少或给变量赋予表达式时,用赋值语句即可,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.当然,赋值语句还具有将一个变量的值赋给另一个变量,前一个变量的值保持不变的功能.
(2)选择语句是表达算法中的选择结构,因为算法的流程根据选择是否成立有不同的流向,就需要对选择作出判断,所以算法中要用到选择语句.在某些较复杂的算法中,有时需要对按选择要求执行的某
一语句(特别是Else 后的语句)继续按照另一选择实行判断,这时能够再利用一选择语句完成这个要求,这就需要选择语句的嵌套.
(3)循环语句是用来实现循环结构的,在本章我们主要需要掌握WHILE 语句和UNTIL 语句.
【命题规律】考查基本算法语句的试题出现在选择题、填空题或解答题中都有可能,属中等偏难
例6、(2008江苏模拟)右边是根据所输入的x 值计算y 值的一个算法程序, 若x 依次取数列1100n ⎧⎫
-⎨
⎬⎩⎭
()n N +∈中的前200项,则所得y 值中的最小值为 .
(注:程序中的赋值符号“=”也能够写成“←”或“:=”)
解:1≤n ≤200,所以,-10099≤100
n
-1≤ 1,
当x >0,即0<x ≤1时,由y =1+x ,得1<y ≤2, 当x ≤0,即-
10099≤x ≤0时,由y =1-x ,得1≤y ≤1+100
99, 所以,y 值中的最小值为1。
点评:此题考查条件语句,与数列和不等式结合,属中等难度的试题。 例7、(2008江苏模拟)已知伪代码如下,则输出结果S= . (注:程序中的赋值符号“=”也能够写成“←”或“:=”)
I ←0
S ←0
While I <6
INPUT t IF t<= 3 THEN c=0.2 ELSE c=0.2+0.1(t-3) END IF PRINT c END I ←I+2 S ←S+I 2
End while Print S
解:第一步:I =2,S =4,第二步:I =4,S =4+16,第三步:I =6,S =4+16+36=56,所以,
输出56
点评:这是一个当型循环语句,求解时,写出前面几步中循环体的结果即可。 例8、某电信部门规定:拨打市内时,假如通话时间不超过3分钟,则收取通话费0.2元,假如通话时间超过3分钟,则超过局部以每分钟0.1元收取通话费(通话缺乏1分钟时按1分钟计),试设计一个计算通话费用的算法.要求写出算法,画出程序框图,编写程序.
解: 我们用c (单位:元)表示通话费,t (单位:分钟)表示通话时间,
则依题意有 ⎩
⎨⎧>-+≤<=3),3(1.02.03
0,2.0t t t c
算法步骤如下:第一步,输入通话时间t ;
第二步,假如t ≤3,那么c = 0.2 ;否则令 c = 0.2+0.1 (t -3); 第三步,输出通话费用c ; 程序框图如下图
点评:这是综合考查程序算法中的程序框图,程序的写法,属中等偏难试题。 4.算法案例
【内容解读】掌握辗转相除法、更相减损术求最大公约数的方法;掌握秦九韶算法,各种进位制之间的转换方法。
【命题规律】多以选择题或填空题为主,属容易题
例9、用秦九韶算法计算多项式1876543)(2
3
4
5
6
++++++=x x x x x x x f 当
4.0=x 时的值时,需要做乘法和加法的次数共 次.
解:12次。
对于一个n 次多项式,利用秦九韶算法计算,只要做n 次乘法和n 次加法。 点评:此题考查秦九韶算法中加法与乘法的最优化问题
例10、以下各数中最小的数是 ( )
A.)9(85
B.)6(210
C.)4(1000
D. )2(111111
解:)9(85 =8×9+5=77,)6(210=2×62+1×6+0=78,
)4(1000=1×43=64 , )2(111111=1×25+1×24+1×23+1×22+1×2+1=63,
所以,选(D )。
点评:此题考查进位制之间的转换,将所以其它进制数转换为十进制数来比较大小
【专题突破】
1.假如执行右面的程序框图,那么输出的S =( ) A.2450 B.2500 C.2550 D.2652
2.如右图所示的程序框图的输出结果是 ( )
A. 2
B. 4
C. 8
D. 16
开始
1k =
0S =
50?
k ≤是
2S S k =+
1k k =+
否
输出S 结束
k ≤n
开始 S ←1,k ←1
结束
是
否 S ←S ×2 输出S k ←k+1
输入n=3 第1题
第2题
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论