资源描述:
《算法的概念(人教A版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法与程序框图如何发电子邮件?1.1.1算法的概念一般地,对于一类问题的机械式地、统一地、按部就班地求解过程称为算法,它是解决某一问题的程序或步骤.按照这样的理解,我们可以设计出很多具体数学问题的算法.下面看几个例子:所谓“算法”就是解题方法的精确描述.从更广义的角度来看,并不是只有“计算”的问题才有算法,日常生活中处处都有.如乐谱是乐队演奏的算法,菜谱是做菜肴的算法,珠算口诀是使用算盘的算法.请你写出解下面二元一次方程组的详细过程.①②第二步,解③得第三步,②-①×2得5y=3;④第四步,解④得第五步,得到
2、方程组的解为第一步,①+②×2得5x=1;③解:做一做你能写出解一般的二元一次方程组的步骤吗?第一步,第二步,解(3)得思考第四步,解(4)得第三步,第五步,得到方程组的解为解③,得④将④带入①得①×-②×得解③得第一步:第二步:第三步:①+②×2,得①②将代入①,得思考这两个解方程组的算法的适用范围有何不同?第一步:第二步:第三步:③①②③---------------------------------------------------练习1.给出求1+2+3+4+5+6的一个算法.解法1.按照逐一相加
3、的程序进行.第一步:计算1+2,得3;第二步:将第一步中的运算结果3与3相加得6;第三步:将第二步中的运算结果6与4相加得10;第四步:将第三步中的运算结果10与5相加得15;第五步:将第四步中的运算结果15与6相加得21.解法2.可以运用下面公式直接计算.第一步,取n=6;第二步,计算;第三步,输出计算结果.点评:解法1繁琐,步骤较多;解法2简单,步骤较少.找出好的算法是我们的追求目标.在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问
4、题.2.算法的要求(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且在有限步之内完成后能得出结果.1.算法的定义讲授新课3.算法的基本特征:明确性:算法对每一个步骤都有确切的、非二义性的规定,即每一步对于利用算法解决问题的人或计算机来说都是可读的、可执行的,而不需要计算者临时动脑筋.有效性:算法的每一个步骤都能够通过基本运算有效地进行,并得到确定的结果;对于相同的输入,无论谁执行算法,都能够得到相
5、同的最终结果.讲授新课有限性:算法应由有限步组成,对某些输入,算法应在有限多步内结束,并给出计算结果.信息输出:一个算法至少要有一个有效的信息输出,这就是问题求解的结果.不唯一性:求解某一个题的解法不一定是唯一的,对于一个问题可以有不同的算法.4.算法的描述:描述算法可以有不同的方式,常用的有自然语言、程序框图、程序设计语言、伪代码等.数据输入:算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤.自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当
6、算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.(1)自然语言(2)程序框图(3)程序设计语言1.1.2程序框图中讲解1.2基本算法语句中讲解例1.(1)设计一个算法判断7是否为质数.第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7.第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步
7、,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.例1.(2)设计一个算法判断35是否为质数.第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.变式1:“判断53是否质数”的算法如下:第1步,用2除53得余数为1,余数不为0,所以2不能整除53;第2步
8、,用3除53得余数为2,余数不为0,所以3不能整除53;……第52步,用52除53得余数为1,余数不为0,故52不能整除53;所以53是质数.上述算法正确吗?请说明理由.①设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤必须是有效的.②算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程