算法基础

上传人:小** 文档编号:61148553 上传时间:2018-11-24 格式:PPT 页数:37 大小:1.94MB
返回 下载 相关 举报
算法基础_第1页
第1页 / 共37页
算法基础_第2页
第2页 / 共37页
算法基础_第3页
第3页 / 共37页
算法基础_第4页
第4页 / 共37页
算法基础_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《算法基础》由会员分享,可在线阅读,更多相关《算法基础(37页珍藏版)》请在金锄头文库上搜索。

1、算法设计,C语言程序设计,本章学习目标,理解算法的概念 了解算法的表示方法 掌握流程图的绘制方法 掌握三种基本结构的流程图 了解结构化程序设计方法 了解程序编制中文档的作用和注释的重要性,2/35,内容进度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,3/35,算法的引入,问题:计算矩形的周长 第一步:定义三个变量存储长、宽和周长 第二步:提示用户输入矩型的长和宽 第三步:计算周长,两个长加上两个宽 第四步:打印计算结果 算法的定义: 解决问题所使用的一系列合乎逻辑的、简洁的步骤。,4/35,length,w

2、idth,算法与程序关系,著名科学家沃思(Nikiklaus Wirth)的公式: 数据结构算法程序 扩充后的公式: 数据结构算法程序设计方法语言和环境程序 算法是灵魂,数据结构是加工对象,语言是工具,程序设计方法是使用手段。,5/35,算法的特性,有穷性 确定性 有效性 输入特性 输出特性,6/35,算法的分析和测试,应逐步细化地分析算法 分析算法的合理性 分析算法的可优化性 输入分析 输出分析,7/35,内容进度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,8/35,案例:判断20002500年中的每一年

3、是否为闰年。,9/35,算法的表示方法,自然语言,自然语言描述: 设y为被检测的年份,则算法可表示如下: S1:2000y; S2:若y不能被4整除,则输出y“不是闰年”,然后转到S6; S3:若y能被4整除,不能被100整除,则输出y“是闰年”,然后转到S6; S4:若y能被100整除,又能被400整除,输出y“是闰年” ,然后转到S6; S5:输出y“不是闰年”,然后转到S6; S6:y+1y; S7:当y2500时, 返回S2继续执行,否则结束。,10/35,自然语言,使用自然语言描述算法的优缺点: 优点: 通俗易懂 缺点: 文字冗长 含义不太严格,容易出现歧义,11/35,内容进度,算

4、法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,12/35,传统流程图,用一些图框表示指令或活动的各种操作流程 ANSI规定的常用流程图符号:,13/35,三种基本结构,顺序结构 选择结构,14/35,三种基本结构,循环结构,15/35,举例,有一个函数如下, 写一个程序,输入x值,输出y值,16/35,x x1,2x-1 1=x10,3x-11 x=10,y =,开始,输入x值,x1,y = x,1=x10,y = 2x-1,1,1,x=10,y = 3x-11,输出y值,结束,Y,Y,Y,N,N,N,应用举例,

5、17/35,应用举例,18/35,优点: 比较清晰,可以解决任何复杂的问题 缺点: 流程图比较长,基本结构之间的流程线多余,内容进度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,19/35,N-S流程图,美国学者I.Nassi和B.shneiderman提出 流程图符号:,20/35,21/35,应用举例,优点: 直观易懂 缺点: 画起来比较麻烦,不易修改,内容进度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,22/35,伪

6、代码,23/35,BEGIN(算法开始) 2000y while yy END(算法结束),内容进度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,24/35,计算机语言,25/35,#include void main() int y=2000; while (y=2500) if(y%4)=0) if(y%100!=0) printf(“ %d 年是闰年n“,y); else if(y%400=0) printf(“ %d 年是闰年n“,y); else printf(“ %d 年是非闰年n“,y); el

7、se printf(“ %d 年是非闰年n“,y); y=y+1; ,Demo1.cpp,内容进度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,26/35,各种表示方法比较,27/35,绘制流程图应该注意的事项,一个流程图只有一个入口点和一个出口点; 主要画出问题的逻辑处理过程,无需将每一步都画的很详细; 如果算法很复杂,则可以先画出大的逻辑关系,再把一些关键处理步骤细化成的流程图; 流程图在跨页时,需要在流程线上标注出号码,以便在下一页找出对应关系; 让编程人员或读者能够容易读懂流程图。,28/35,内容进

8、度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,29/35,结构化程序设计方法,C语言是结构化程序设计方法 优点: 程序便于编写、阅读、修改、维护 程序可靠性较好,质量较高,30/35,应用举例,机票预定系统,31/35,应用举例,逐步细化,32/35,客户信息管理,机票打印,应用举例,33/35,机票查询,有航班,无航班,内容进度,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释,34/35,文档和注释,文档的重要性 程序要有必要的注释 注释的相关规则,35/35,本章内容总结,算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释的重要性,36/35,作业,设计一个算法,计算1+2+3+100的结果,画出流程图,37/35,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号