[强烈推荐]算法与程序框图(精品教案) 下载本文

内容发布更新时间 : 2024/11/20 13:27:03星期一 下面是文章的全部内容请认真阅读。

卓越个性化教案 GFJW0901

05-算法与程序框图

【知识点】

第一章 算法初步

1.1.1

算法的概念

1、算法概念:

“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成. 2. 算法的特点:

(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.

(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可. (3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题. (4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.

(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.

1.1.2 程序框图

1、程序框图基本概念:

(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。

一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。 (二)构成程序框的图形符号及其作用

程序框 起止框 输入、输出框 处理框 判断框

学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:

1

“Y”;不成立时标明“否”或“N”。 写在不同的用以处理数据的处理框内。 判断某一条件是否成立,成立时在出口处标明“是”或要输入、输出的位置。 赋值、计算,算法中处理数据需要的算式、公式等分别表示一个算法输入和输出的信息,可用在算法中任何需名称 功能 表示一个算法的起始和结束,是任何流程图不可少的。 卓越个性化教学讲义

1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。

(三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。

1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。 2、条件结构:

条件结构是指在算法中通过对条件的判断根据条件是否成立而选择不同流向的算法结构。

条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。一个判断结构可以有多个判断框。

3、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重复结构,循环结构可细分为两类:

(1)、一类是当型循环结构,如下左图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P不成立为止,此时不再执行A框,离开循环结构。

(2)、另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件P是否成立,如果P仍然不成立,则继续执行A框,直到某一次给定的条件P成立为止,此时不再执行A框,离开循环结构。

注意:1循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构,但不允许“死循环”。2在循环结构中都有一个计数变量和累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。

A A P 不成立 成立 成立 A P 不成立 B

【课堂讲解】

2

卓越个性化教学讲义

1.1.1算法的概念

思考2:用加减消元法解二元一次方程组

?x?2y??1?1? ? 的具体步骤是什么?

??2x?y?12?第一步,①+②×2,得 5x=1 . ③

第二步, 第三步, 第四步, 第五步,

思考3:参照上述思路,一般地,解方程组

?a1x?b1y?c1??a1b2?a2b1?0?的基本步骤是什么? ax?by?c22?2 第一步, 第二步, 第三步, 第四步, 第五步,

思考4:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个

步骤就构成了解二元一次方程组的一个“算法”。我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?

思考5:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的。你认为:

(1)这些步骤的个数是有限的还是无限的? (2)每个步骤是否有明确的计算任务?

思考6:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作

步骤:

第一步,检验6=3+3, 第二步,检验8=3+5, 第三步,检验10=5+5, ??

利用计算机无穷地进行下去! 请问:这是一个算法吗?

思考7:根据上述分析,你能归纳出算法的概念吗?

算法的定义:广义的算法是指完成某项工作的方法和步骤,在数学中,算法通常是指按照

一定规则解决某一类问题的明确有限的步骤

算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可

有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行. 探究(二):算法的步骤设计 【例1】(1)设计一个算法,判断7是否为质数.

(2)设计一个算法,判断35是否为质数.

算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能

整除7,则7不是质数,否则7是质数.

算法如下:

3