1、 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解就是计算机解题的过程题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。算法独立于任何具体的程序设计语言,一个算法独立于任何具体的程序设计语言,一个算法可以用多种程序设计语言来实现。算法可以用多种程序设计语言来实现。算法要有一个清晰的起始步清晰的起始步,表示处理问题的起点,且每一个步骤只能有一个确定的只能有一个确定的后继步骤(1算法的确定性算法的确定性),从而组成一个步骤的有限有限序列(2算法的有穷性算法的有穷性);要有一个终止一个终止步步(序列
2、的终止)表示问题得到解决或不能得到解决;每条规则必须是确定的、可行的(3算法的可行性算法的可行性)、不能存在二义性。算法总是对数据进行加工处理,因此,算法的执行过程中通常要有数据4 4输入输入(0个或多个个或多个)和数据5 5输出输出(至少一个)(至少一个)的步骤。拿拿起起听听筒筒拨拨号号打不通打不通通了通了把听筒把听筒放下放下通话通话结束结束把听筒放下把听筒放下等会儿等会儿再拨再拨无人接听无人接听把听筒把听筒放下放下等会儿等会儿再拨再拨算法的概念:算法的概念:解决问题的方法和步解决问题的方法和步骤就是算法。骤就是算法。1 1、用自然语言来描述。、用自然语言来描述。2 2、用流程图来描述。、用
3、流程图来描述。3 3、用伪代码描述算法。、用伪代码描述算法。1 1、用自然语言来描述。(书、用自然语言来描述。(书P6-7P6-7)即用人们日常使用的语言和数即用人们日常使用的语言和数学语言描述的算法学语言描述的算法算法描述:算法描述:算法分析:算法分析:1、将、将N的初始值赋为的初始值赋为12、如果、如果N被被3、5、7整除后余数为整除后余数为2、3、2,则输出,则输出N的值,转入第的值,转入第4步步3、将、将N的值加的值加1,转到第,转到第2步步4、结束程序、结束程序若N=2,则密文与原文的对应关系是读入字符串的方法读入字符串的方法例如:例如:意思之一:这个人不认识老张。意思之一:这个人不
4、认识老张。意思之二:老张不认识这个人。意思之二:老张不认识这个人。2 2、用流程图来描述。、用流程图来描述。认识流程图符号认识流程图符号流程图的特点流程图的特点:1)用伪代码描述)用伪代码描述“韩信点兵问题韩信点兵问题”的算的算法法For I=1 to N if n能被能被3、5、7整除余数为整除余数为2、3、2 then 输出输出n end ifNext I3 3、用伪代码描述算法。、用伪代码描述算法。伪代码的优缺点(书伪代码的优缺点(书P9P9):):开始框输入框处理框判断框处理框处理框处理框输出框结束框如果两个数有最大公约数如果两个数有最大公约数A,那么这两个数,以及这两个数的,那么这两个数,以及这两个数的差,还有大数除以小数的余数,必然都是差,还有大数除以小数的余数,必然都是A的倍数。的倍数。所以当最后两个数刚好能整除时,较小的数就是最大公约数。所以当最后两个数刚好能整除时,较小的数就是最大公约数。1 1)什么是算法?)什么是算法?解决问题的方法和步骤就是算法解决问题的方法和步骤就是算法 小结小结:小结小结: