为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第07章、算法和流程图(理论课)

2012-12-13 35页 ppt 346KB 21阅读

用户头像

is_431379

暂无简介

举报
第07章、算法和流程图(理论课)null使用C语言开发简单应用使用C语言开发简单应用第七章 算法和流程图上一章内容回顾上一章内容回顾表达式的概念 各种运算符和对应的表达式 赋值运算符和表达式 算术运算符和表达式 关系运算符和表达式 逻辑运算符和表达式 位运算符和表达式 逗号运算符和表达式 条件运算符和表达式 各种运算符的优先级和结合方向本章学习目标本章学习目标理解算法的概念 了解算法的表示方法 掌握流程图的绘制方法 掌握三种基本结构的流程图 了解结构化程序设计方法 了解程序编制中文档的作用和注释的重要性内容进度内容进度算法 算法的表示方法 自然语言 传...
第07章、算法和流程图(理论课)
null使用C语言开发简单应用使用C语言开发简单应用第七章 算法和流程图上一章内容回顾上一章内容回顾达式的概念 各种运算符和对应的表达式 赋值运算符和表达式 算术运算符和表达式 关系运算符和表达式 逻辑运算符和表达式 位运算符和表达式 逗号运算符和表达式 条件运算符和表达式 各种运算符的优先级和结合方向本章学习目标本章学习目标理解算法的概念 了解算法的表示方法 掌握流程图的绘制方法 掌握三种基本结构的流程图 了解结构化程序方法 了解程序编制中文档的作用和注释的重要性内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释算法的引入算法的引入问题:计算矩形的周长 第一步:定义三个变量存储长、宽和周长 第二步:提示用户输入矩型的长和宽 第三步:计算周长,两个长加上两个宽 第四步:打印计算结果 算法的定义: 解决问题所使用的一系列合乎逻辑的、简洁的步骤。lengthwidth算法与程序关系算法与程序关系著名科学家沃思(Nikiklaus Wirth)的公式: 数据结构+算法=程序 扩充后的公式: 数据结构+算法+程序设计方法+语言和环境=程序 算法是灵魂,数据结构是加工对象,语言是工具,程序设计方法是使用手段。算法的特性算法的特性有穷性 确定性 有效性 有零个或多个输入 有一个或多个输出算法的分析和测试算法的分析和测试分析程序的算法设计,应先看主流程图,再逐步细化地分析; 了解算法是否实现了任务需求,方法是否合理; 性能上是否存在瓶颈,能否被优化; 如果有多个输入条件,处理时是否覆盖了全部输入条件; 如果有多个输出结果,其输出是否被系统所定义和处理。内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释算法的表示方法算法的表示方法案例:判断2000~2500年中的每一年是否为闰年。 闰年的条件: 能被4整除,但不能被100整除的年份; 能被100整除,又能被400整除的年份;自然语言自然语言自然语言描述: 设y为被检测的年份,则算法可表示如下: S1:2000→y; S2:若y不能被4整除,则输出y“不是闰年”,然后转到S6; S3:若y能被4整除,不能被100整除,则输出y“是闰年”,然后转到S6; S4:若y能被100整除,又能被400整除,输出y“是闰年” ,然后转到S6; S5:输出y“不是闰年”,然后转到S6; S6:y+1→y; S7:当y≤2500时, 返回S2继续执行,否则结束。自然语言自然语言使用自然语言描述算法的优缺点: 优点: 通俗易懂 缺点: 文字冗长 含义不太严格,容易出现歧义内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释传统流程图传统流程图用一些图框表示指令或活动的各种操作流程 ANSI规定的常用流程图符号:三种基本结构三种基本结构顺序结构 选择结构三种基本结构三种基本结构 循环结构 应用举例应用举例优点: 比较清晰,可以解决任何复杂的问题 缺点: 流程图比较长,基本结构之间的流程线多余内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释N-S流程图N-S流程图美国学者I.Nassi和B.shneiderman提出 流程图符号:应用举例应用举例优点: 直观易懂 缺点: 画起来比较麻烦,不易修改内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释伪代码伪代码BEGIN(算法开始) 2000=>y while y<=2500 { if y能被4整除 if y 不被100整除 print y:”是闰年” else if y 能被400整除 print y :”是闰年” else print y:”非闰年” end if end if else print y:”非闰年” end if y+1=>y } END(算法结束)内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释计算机语言计算机语言 #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); } else printf(" %d 年是非闰年\n",y); y=y+1; } } 内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释各种表示方法比较各种表示方法比较绘制流程图应该注意的事项绘制流程图应该注意的事项一个流程图只有一个入口点和一个出口点; 主要画出问题的逻辑处理过程,无需将每一步都画的很详细; 如果算法很复杂,则可以先画出大的逻辑关系,再把一些关键处理步骤细化成的流程图; 流程图在跨页时,需要在流程线上标注出号码,以便在下一页找出对应关系; 让编程人员或读者能够容易读懂流程图。内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释结构化程序设计方法结构化程序设计方法C语言是结构化程序设计方法 优点: 程序便于编写、阅读、修改、维护 程序可靠性较好,质量较高 主要有两种: 自顶向下、逐步细化、模块化设计、结构化编码 把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。例如,建筑楼房。 优点:程序结构周全、层次分明、容易设计,读者易理解,且修改方便。 自下而上、逐步积累 先处理细节和小的地方,然后再组织起来形成系统。 缺点:很难考虑周全,往往只注意细节,而容易忽略全局,不符合一般人的思路。应用举例应用举例机票预定系统应用举例应用举例逐步细化客户信息管理机票打印应用举例应用举例机票查询有航班无航班内容进度内容进度算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释文档和注释文档和注释文档的重要性 程序要有必要的注释 注释的相关规则(教材P79)本章内容总结本章内容总结算法 算法的表示方法 自然语言 传统流程图 N-S流程图 伪代码 计算机语言 各种表示方法的比较 结构化程序设计方法 文档和注释的重要性
/
本文档为【第07章、算法和流程图(理论课)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索