课件28张PPT。1.1 算法与程序框图
1.1.1 算法的概念学习目标
1.通过实例理解算法的含义.
2.用算法步骤表示具体事情的算法. 课堂互动讲练知能优化训练1.1.1
算
法
的
概
念课前自主学案课前自主学案初中学过的求解二元一次方程组时用代入消元法的过程为:①从其中一个方程中求出x(或y),②把x(或y)的________代入另一个方程并求出y(或x),③再代入①中求x(或y)的值.表达式1.算法一词出现于12世纪,指的是用阿拉伯数字进行_________的过程.
2.在数学中,现代意义上的“算法”通常是指可以用计算机来解决的___________的程序或步骤,这些程序或步骤必须是_____和_____的,而且能够在有限步之内完成.算术运算某一类问题明确有效3.算法通常可以编成___________,让计算机执行并解决问题.计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.计算机程序算法与解法是一般与特殊的关系.
算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.2.计算S=1+2+3+4+…+n+…(n∈N*)可用算法求解吗?
提示:根据算法的特征:有限性,即解决问题的过程在有限个步骤之内完成,不能无停止地执行下去.所以S=1+2+3+4+…+n+…不可用算法求解.课堂互动讲练在数学中,算法通常是指按照一定的规则解决某一类问题明确和有限的步骤,这些步骤必须是明确和有效的,而且能够在有限步内完成. 下列叙述中,
①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算: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.5
【思路点拨】 先弄清楚算法的含义和特点,然后逐一判断.【解析】 根据算法的含义和特征:①②③都是算法;④⑤不是算法.其中④,3x>x+1不是一个明确的步骤,不符合明确性;⑤的步骤是无穷的,与算法的有限性矛盾.
【答案】 B
【思维总结】 判断是否为“算法”,就是判断是否具有算法的特征:概括性、逻辑性、有限性、不唯一性、普遍性.传统的数学问题的求解过程就是一个具体的算法,只要我们把平时的计算方法严格地按清晰的步骤描述出来,使之条理化即可,如解方程(组)、解不等式(组)、求函数值等一类问题的算法描述. 写出求1×2×3×4×5×6的一个算法.
【思路点拨】 法一:采取逐个相乘的方法;法二:由于重复作乘法,可以设计重复乘法运算.
【解】 法一:第一步,计算1×2,得到2.
第二步,将第一步的运算结果2乘3,得到6.
第三步,将第二步的运算结果6乘4,得到24.第四步,将第三步的运算结果24乘5,得到120.
第五步,将第四步的运算结果120乘6,得到720.
第六步,输出运算结果.
法二:第一步,输入n的值6.
第二步,令i=1,S=1.
第三步,判断“i≤n”是否成立,若不是,输出S,结束算法;若是,执行下一步.
第四步,令S的值乘i,仍用S表示,令i的值增加1,仍用i表示,返回第三步.【思维总结】 法一称为累乘法,将步骤一直写下去,便得到任意有限个数相乘的算法.法二具有代表性,重复做同一种动作时,可以用这种算法来解决,能节约大量的程序步骤.同时它还体现了算法的本质:对一类问题的机械的、统一的求解方法,其中S称为累乘变量,i称为计数变量.互动探究1 将本例的乘法改为加法,即:
写出求1+2+3+4+5+6的一个算法.解:法一:第一步,计算1+2,得到3.
第二步,将第一步中的运算结果3与3相加,得到6.
第三步,将第二步中的运算结果6与4相加,得到10.
第四步,将第三步中的运算结果10与5相加,得到15.对于像查找、变量代换、文字处理等非数值型计算问题,设计算法时,首先建立过程模型,然后根据过程设计步骤,完成算法. 下面是某个问题的算法过程:
第一步,比较a与b的大小,若a第二步,比较a与c的大小,若a第三步,比较b与c的大小,若b第四步,输出a,b,c.该算法结束后解决的问题是( )
A.输入a,b,c三个数,按从小到大的顺序输出
B.输入a,b,c三个数,按从大到小的顺序输出
C.输入a,b,c三个数,按输入顺序输出
D.输入a,b,c三个数,无规律地输出
【思路点拨】 题目中的前三步体现了“比较大小”,可令a,b,c取特殊数,体会每步的含义.【解析】 第一步,若a第二步,比较a与c,若a第三步,则c在b的前面.
这样得出的结论是由大到小的顺序.
【答案】 B【思维总结】 这是一个比较大小的算法,必须先任意取出两个数进行比较,并把两者中的较大数找出,然后再将它与第三个数比较,并把较大数放在前面,依次类推,由大到小排列这三个数.变式训练2 写出能找出a、b、c三个数中最小值的一个算法.
解:第一步:输入a、b、c,并且假定min=a;
第二步:若b第三步:若c第四步:输出min的值,结束.方法技巧
1.算法的表述
算法的表述可以有不同的方式.例如,可以用自然语言和数学语言加以论述,也可以用算法语言给出精确的说明等.(如例1)
2.设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决此问题的一般数学方法;
(2)借助有关变量或参数对算法加以表述;
(3)将解决问题的过程划分为若干步骤;
(4)用简练的语言将这个步骤表示出来.(如例3).失误防范
1.求解某一个问题的算法不一定只有唯一的一个,可能有不同的算法.(如例2)
2.对于非数值性问题,应当首先建立过程模型,根据过程设计步骤,完成算法.在写算法时应简练、清晰地表达,要善于分析任何可能出现的情况,体现出思维的严密性和完整性. (如例3变式训练)