2013高中数学精讲精练 第十章 算法初步与框图
【知识图解】
算法 算法的描述 自然语言 流程图 伪代码 顺序结构条件结构循环结构顺序结构条件结构循环结构输入出语句顺序结构顺序结构【方法点拨】
1.学习算法要理解算法的含义.明确建立算法就是设计完成一件事的操作步骤.一般地说,这样的操作步骤应该具有通用性,能处理一类问题.
2.掌握算法的三种基本结构.顺序结构、条件结构和循环结构是算法的三种基本结构.要通.具体实例了解三种基本结构的使用范围,通过流程图认识它们的基本特征.
3.掌握流程图的画法.用流程图表示算法具有、清晰的特点,也是高考重点考查的内容,要予以重视.特别是循环结构的流程图,对判断框中的条件与前测试还是后测试之间的关系一定要弄清楚.
4.熟悉建立算法的基本操作程序.建立算法的操作程序一般为:先探寻解决问题的方法,并用通俗的语言进行表述,再将通俗的算法语言用流程图直观表示,最后根据流程图选择适当的算法语句用伪代码表示算法过程.
()
第1课 算法的含义
【考点导读】
正确理解算法的含义.掌握用自然语言分步骤表达算法的方法. 高考要求对算法的含义有最基本的认识,并能解决相关的简单问题. 【基础练习】
1.下列语句中是算法的个数为 3个
①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎; ②统筹法中“烧水泡茶”的故事;
③测量某棵树的高度,判断其是否是大树; ④已知三角形的一部分边长和角,借助正余弦定理求得剩余的边角,再利用三角形的面积公
式求出该三角 形的面积. 2.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、
听广播(8 min)几个步骤.从下列选项中选最好的一种算法 ③ . ①S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播 ②S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播 ③S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播 ④S1吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶 3.写出交换两个大小相同的杯子中的液体(A水、B酒)的两个算法. 答案:解析:算法1:
S1.再找一个大小与A相同的空杯子C; S2.将A中的水倒入C中; S3.将B中的酒倒入A中;
S4.将C中的水倒入B中,结束. 算法2:
S1.再找两个空杯子C和D;
S2.将A中的水倒入C中,将B中的酒倒入D中;
S3.将C中的水倒入B中,将D中的酒倒入A中,结束.
注意:一个算法往往具有代表性,能解决一类问题,如,可以引申为:交换两个变量的值. 4.写出求1+2+3+4+5+6+7的一个算法.
解析:本例主要是培养学生理解概念的程度,了解解决数学问题都需要算法 算法一:按照逐一相加的程序进行. 第一步 计算1+2,得到3;
第二步 将第一步中的运算结果3与3相加,得到6; 第三步 将第二步中的运算结果6与4相加,得到10; 第四步 将第三步中的运算结果10与5相加,得到15; 第五步 将第四步中的运算结果15与6相加,得到21; 第六步 将第五步中的运算结果21与7相加,得到28. n(n+1)
算法二:可以运用公式1+2+3+?+n= 直接计算.
2
n(n+1)
第一步 取n=7;第二步 计算 ;第三步 输出运算结果.
2
点评:本题主要考查学生对算法的灵活准确应用和自然语言表达一个问题的算法的方法.算法不同,解决问题的繁简程度也不同,我们研究算法,就是要找出解决问题的最好的算法.
【范例解析】
例1 下列关于算法的说法,正确的有 .
(1)求解某一类问题的算法是惟一的 (2)算法必须在有限步骤操作之后停止
(3)算法的每一操作必须是明确的,不能有歧义或模糊(4)算法执行后一定产生确定的结果
解 由于算法具有可终止性,明确性和确定性,因而(2)(3)(4)正确,而解决某类问题的算法不一定是惟一的,从而(1)错. 例2.写出解方程x2-2x-3=0的一个算法.
分析 本题是求一元二次方程的解的问题,方法很多,下面利用配方法,求根公式法写出这个问题的两个算法 算法一:
(1)移项,得x2-2x=3; ① (2)①两边同加1并配方,得(x-1)=4 ② (3)②式两边开方,得x-1=?2; ③ (4)解③,得x=3或x=-1.
算法二:(1)计算方程的判别式,判断其符号:??2?4?3?16?0;
22
?b?b2?4ac(2)将a=1,b=-2,c= -3,代入求根公式,得x1,2?,得x1?3,x2??1.
2a点评 比较两种算法,算法二更简单,步骤最少,由此可知,我们只要有公式可以利用,利用公式解决问题是最理想,合理的算法.因此在寻求算法的过程中,首先是利用公式.下面我们设计一个求一般的一元二次方程的ax+bx+c=0根的算法如下:
(1)计算??b?4ac(2)若??0;(3)方程无实根;(4)若??0;(5)方程根
22
?b?b2?4ac x1,2?2a例3:一个人带三只狼和三只羚羊过河.只有一条船,同船可以容一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊. (1)设计安全渡河的算法;
(2)思考每一步算法所遵循的相同原则是什么. 解析:(1)S1 人带两只狼过河.
S2 人自己返回.
S3 人带两只羚羊过河. S4 人带一只狼返回. S5 人带一只羚羊过河. S6 人自己返回. S7 人带两只狼过河.
(2)在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊数目要大于狼的数目.
点评 这是一个实际问题,生活中解决任何问题都需要算法,我们要在处理实际问题的过程中理解算法的含义,体会算法设计的思想方法.
【反馈演练】:
1.下面对算法描述正确的一项是 C . A.算法只能用伪代码来描述 B.算法只能用流程图来表示 C.同一问题可以有不同的算法 D.同一问题不同的算法会得到不同的结果
解析:自然语言、图形和伪代码都可以表示算法,只要是同一问题,不同的算法也应该有相同的结果.
2.计算下列各式中的S的值,能设计算法求解的是 ① ③ .
①S?1?2?3???100;②S?1?2?3??;③S?1?2?3???n(n?2且n?N) 解析:因为算法步骤具有“有限性”特点,故②不可用算法求解.
3.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,求他的总分和平均成绩的一个算法为:
第一步 取A=89,B=96,C=99; 第二步 ① ; 第三步 ② ; 第四步 输出D,E.
请将空格部分(两个)填上适当的内容
答案:①计算总分D=A+B+C ②计算平均成绩E=
D 34.写出1×2×3×4×5×6的一个算法. 答案:解析:按照逐一相乘的程序进行. 第一步 计算1×2,得到2;
第二步 将第一步中的运算结果2与3相乘,得到6; 第三步 将第二步中的运算结果6与4相乘,得到24; 第四步 将第三步中的运算结果24与5相乘,得到120; 第五步 将第四步中的运算结果120与6相乘,得到720; 第六步 输出结果.
5.已知一个三角形的三边边长分别为2、3、4,设计一个算法,求出它的面积. 答案:解析:可利用公式 S=p(p?a)(p?b)(p?c)求解. 第一步 取a=2,b=3,c=4;