C语言教学课件之第2章算法.ppt
《C语言教学课件之第2章算法.ppt》由会员分享,可在线阅读,更多相关《C语言教学课件之第2章算法.ppt(36页珍藏版)》请在三一文库上搜索。
1、知识改变命运 学习成就未来,2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法,第2章 程序的灵魂算法,本章大纲,程序的灵魂算法(1学时) 教学内容: 算法的概念 算法的特性; 算法的常用表示方法:流程图 基本要求: 理解算法的概念及特性; 了解怎样设计算法; 掌握算法的表示方法; 熟悉结构化程序设计方法。 重点:算法的常用表示方法 难点:算法的常用表示方法,2.1 算法的概念,广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。,算法成熟,已汇编成册,种类繁多,要求各异,难规范化,非数值运算算法,数值运算算法,2.2 简
2、单算法举例,步骤1: 先求12,得到结果2。 步骤2: 将步骤1得到的乘积2再乘以3,得到结果6。 步骤3: 将6再乘以4,得24。 步骤4: 将24再乘以5,得120。,如果想求121000, 难道要写999个步骤吗?,例2.1 求12345。,理解,设两个变量,一个变量p代表被乘数,一个变量i代表乘数,乘积放在被乘数变量p中。将算法改写如下: S1: 使p=1 S2: 使i=2 S3: 使pi,乘积仍放在变量p中,可表示为pi=p S4: 使i的值加1,即i+1 = i S5: 如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就是5!的值。,循环
3、算法解决 这类问题最拿手了!,如果求1357911 怎么办呢?自己想想啦!,2.3 算法的特性,1.有穷性,1.包含有限的操作步骤 2.指“在合理的范围之内” 3. “合理限度” ,由人们的常识和需要而定,算法中的每一个步骤都应当是确定的,2.确定性,理解,3.有零个或多个输入,所谓输入是指在执行算法时需要从外界取得必要的信息。,每个步骤都应当能有效地执行,并得到确定的结果。,4. 有一个或多个输出,5. 有效性,没有输出的算法是没有意义的。,图2.2,3个输入,1个输出,算法,求3个数中的最大的数,a,b,c,3个数中的最大的数,补充内容:算法的评价,1.时间复杂度,2.空间复杂度,度量算法
4、执行的时间长短,度量算法所需存储空间的大小,了解,2.4 怎样表示一个算法,自然语言 传统流程图 结构化流程图 N-S流程图 伪代码 PAD图 计算机语言,2.4.1 用自然语言表示算法,通俗易懂,1.文字冗长,尤其是描述分支和循环的算法,不方便 2.容易出现“歧义性”。,张先生对李先生说他的孩子考上了大学。,到底谁考上了?,张先生的孩子考上了?,李先生的孩子考上了?,了解,2.4.2 用流程图表示算法,用一些图框表示各种操作,直观形象,易于理解。规定了一些常用的流程图符号(见图2.3)。,起止框,输入/输出框,判断框,掌握,图 2.3,处理框,流程线,连接点,注释框,例2.6 将例2.1求5
5、!的算法用流程图表示。,2.4.3 三种基本结构和改进的流程图,1. 传统流程图的弊端,1.对流程线的使用没有严格限制 2.使流程图变得毫无规律。 3.算法难以阅读,也难以修改 4.算法的可靠性和可维护性难以保证,(1) 顺序结构,如图2.14所示,虚线框内是一个顺序结构。,2. 三种基本结构,1966年,Bohra和Jacopini提出的,图2.14,(2) 选择结构(选取结构,分支结构)如图2.15所示。,无论 p 条件是否成立,只能执行A框或B框之一,在执行完A或B之后,都经过b点,然后脱离本选择结构,A或B两个框中可以有一个是空的,图2.15,图2.16,(3) 循环结构:,我也叫重复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教学 课件 算法
链接地址:https://www.31doc.com/p-2142808.html