算法概念:
在数学上,现代意义上的"算法"通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
说明:
1."算法"没有一个精确化的定义,教科书只对它作了描述性的说明.
2. 算法的特点:
(1)有限性:
一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.
(2)确定性:
算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.
(3)顺序性与正确性:
算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.
(4)不唯一性:
求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.
(5)普遍性:
很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.
例题讲评:
例3、任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判断.
分析:(1)质数是只能被1和自身整除的大于1的整数.
(2)要判断一个大于1的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.
解:算法:
第一步:判断n是否等于2.若n=2,则n是质数;若n>2,则执行第二步.
第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数.若有这样的数,则n不是质数;若没有这样的数,则n是质数.
说明:本算法是用自然语言的形式描述的.设计算法一定要做到以下要求:
(1)写出的算法必须能解决一类问题,并且能够重复使用.
(2)要使算法尽量简单、步骤尽量少.