第5章 算法初步
【知识结构】
【重点难点】
重点 算法的描述,理解算法的思路与过程;基本语句的作用,能进行算法的分析并用基本语句进行表示.
难点 算法的理解与设计;在算法的实现上,如何用好选择结构与循环结构.
第1课时5.1算法的含义
【学习导航】
知识网络
学习要求
1.理解算法的含义
2.通过实例分析理解算法的有限性和确定性.
3.能用自然语言描述简单的算法.
【课堂互动】
自学评价
问题1 简述给一个朋友打电话的过程.
【解】过程如:找出电话本、找到朋友电话号码、拨通电话、通话等。
问题2 常有这样一种娱乐节目:就是猜数,让参加者从0~1000中猜出某商品的价格,猜测了以后,主持人说是高了,还是低了,然后再猜,直到猜中为止.而在这游戏中,较好的方法就是二分法:
第一步 报出500
第二步 如果说高了,就再报250;如果说低了,就报750;
第三步 在前一个数与再前一个数之间,取它们的中间值;直到猜中为止.
问题3 给出求1+2+3+4+5的一个算法
【解】方法1 按照逐一相加的程序进行.
第一步 计算1+2,得到3
第二步 将第一步中的运算结果3与3相加,得到6.
第三步 将第二步中的运算结果6与4相加,得到10.
第四步 将第三步中的运算结果10与5相加,得到15.
方法2:可以运用公式
直接计算.
第一步 取n=5;
第二步 计算;
第三步 输出运算结果.
【小结】
算法(algorithm)的含义:
.
本章所研究的算法特指用计算机解决数学问题的方法.
【体会】算法具有不唯一性.
问题4 写出求解方程组
的一个算法.
【解】用消元法求解这个方程组,算法如下:
第一步 方程①不动,将方程②中的x的系数除以方程①中的x系数,得到乘数;
第二步 方程②减去m乘方程①,消去方程②中的x项,得到,
第三步 将上面的方程组自下而上回代求解,得到.
所以原方程的解为.
【说明】这种消元回代的算法适用于一般的线性方程组的求解.
【小结】算法从初始步骤开始,每一个步骤只能有一个确定的后继步骤,从而组成一个步骤序列,序列的终止表示问题得到解答或指出问题没有解答. 算法具有如下两个性质:
有限性:一个算法在执行有限个步骤后必须结束.
确定性:算法的每一个步骤和次序都应该是确定的、明确无误的,不应产生歧义.
【经典范例】
例1 写出解方程的一个算法
【解】
例2 写出求的一个算法.
【解】
例3 已知直角坐标系中的两点A(-1,0),B(3,2),写出求直线AB的方程的一个算法.
【解】
例4 写出求1+2+3+…+100的一个算法.
【解】
【选修延伸】
例5 设计一个算法,找出三个数a,b,c中的最大数.
【解】
追踪训练
1.下列有关“算法”的说法不正确的是……………………………………( )
A.算法是解决问题的方法和步骤
B.算法的每一个步骤和次序应当是确定的
C.算法在执行有限个步骤后必须结束
D.算法是能够在计算机上运行的程序语言
2.看下面的四段话,其中不是解决问题的算法的是( )
A.从济南到北京旅游,先坐火车,再坐飞机抵达
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-1=0有两个实根
D.求1+2+3+4+5的值,先计算1+2=3,再求3+3=6,6+4=10,10+5=15,最终结果为15
3.买一只杯子需2元,现要写出计算买n只杯子所需要的钱数的一个算法,则这个算法中必须要用到的一个表达式为 .
4.设计一个算法,计算输入实数的绝对值.
【解】
5.设计一个算法,将三个数按从大到小的顺序排列.
【解】算法如下: