1、算法与程序框图学习过程知识点一:算法的概念 算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法。知识点二:程序框图基本概念1)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的
2、图形。一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。(2)构成程序框的图形符号及其作用程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的。输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:1、 使用标准的图形符号。2、框图一般按从上到下、从左到右的方向
3、画。3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。(3)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和
4、B框是依次执行的,只有在执行完A框指定的操作后,才能接着执AB行B框所指定的操作。学习结论1.算法与一般的解决问题的过程有联系,但算法是“傻瓜化”的,即算法要“面面俱到”,不能省略任何 一个细小步骤。2.框图不仅是表达算法的重要工具,由于其直观,形象的特点,还经常用于表达一些具有过程性的特点的业务流程或者某一系统的结构关系,借助框图人们可以清晰而又条理的表达思想。典型例题例1 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。解析:算法分析:根据质数的定义,很容易设计出下面的步骤:第一步:判断n是否等于2,若n=2,则n是质数;若n2,则执行第二步。第二步:依次从2至(n
5、-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。这是判断一个大于1的整数n是否为质数的最基本算法。例2 用二分法设计一个求议程x22=0的近似根的算法。解析:算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:第一步:令f(x)=x22。因为f(1)0,所以设x1=1,x2=2。第二步:令m=(x1+x2)/2,判断f(m)是否为0,若则,则m为所长;若否,则继续判断f(x1)f(m)大于0还是小于0。第三步:若f(x1)f(m)0,则令x1=m;否则,令x2=m。第四步:判断|x1x2|0.005是否成立?若是,则x1、x2之间的任意取值均为满足条件的近似根;若否,则返回第二步。 x-2y=-1,例3 写出解二元一次方程组 的算法 2x+y=1解析:第一步,-2得5y=3; 第二步,解得y=3/5; 第三步,将y=3/5代入,得x=1/5例4 写出一个求有限整数列中的最大值的算法。解析:算法如下。 S1 先假定序列中的第一个整数为“最大值”。 S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。 S3 如果序列中还有其他整数,重复S2。 S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。2