第一章程序设计和基本流程PPT课件_第1页
第一章程序设计和基本流程PPT课件_第2页
第一章程序设计和基本流程PPT课件_第3页
第一章程序设计和基本流程PPT课件_第4页
第一章程序设计和基本流程PPT课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章程序设计和基本流程 1 1程序设计基础 1 2功能模块图 1 3算法和数据结构 1 4流程图 1 5程序开发的基本过程 第一章程序设计和基本流程 1 1程序设计基础 1 1 1程序设计语言的发展历史 CPU指令系统 由0 1序列构成的指令码组成如 10000000加10010000减 用助记符号描述的指令系统如ADDA B 程序设计是数据被加工的过程 客观世界可以分类 对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系 程序设计关键是定义类 并由类派生对象 Ada ALGOL60 ALGOL68 Pascal Modula 2 CPL BCPL B C C Java LISP PROLOG COBOL FORTRAN77 FORTRAN PL 1 Simula67 Smalltalk80 BASIC ANSI BASIC QBASIC VB FORTRAN90 程序设计语言发展时间表 1 1 2程序的基本构成例1 1第一个程序Hello World example1 1ThefirstCProgram includemain printf Hello World 输出 Hello World 例1 2计算a和b的和 include Thisisthemainprogram main inta b sum a 10 b 24 sum add a b printf sum d n sum Thisfunctioncalculatesthesumofxandy intadd intx inty intz z x y return z 运行结果 sum 34 程序的基本构成 格式特点习惯用小写字母 大小写敏感一般不使用行号 无程序行概念可使用空行和空格常用锯齿形书写格式 main inti j sum sum 0 for i 1 i 10 i for j 1 j 10 j sum i j printf d n sum 优秀程序员的素质 使用TAB缩进 对齐有足够的注释有合适的空行望文知义的起名风格 1 1 2程序的基本构成 结构组成函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main 程序执行从main开始 在main中结束 其它函数通过嵌套调用得以执行 程序语句程序由语句组成用 作为语句终止符注释 为注释 不能嵌套不产生编译代码 例 Thisisthemain ofexample1 1 编译预处理命令 1 1 2程序的基本构成 file exe 程序代码的录入 生成源程序 c 语法分析查错 翻译生成目标程序 obj 与其它目标程序或库链接装配 生成可执行程序 exe 1 1 3程序的编制及运行步骤 第一章程序设计和基本流程 1 2功能模块图 1 2 1为什么要将程序模块化 结构化的程序设计方法 自顶向下 逐步求精 模块化 1 每天的日程 2 一台大型的机器的制作 3 一个软件开发公司的架构 4 一个机器人的行走 5 打印一个较为复杂的图案 6 QQ的实例 1 2 2模块化程序设计的思想 功能模块图是软件工程过程中的一个重要环节 它将显示出工程所要实现的各种功能 并分类 然后软件工程师根据功能模块图来具体实现这些功能 通过代码 1 2 3功能模块图 第一章程序设计和基本流程 1 3算法和数据结构 一个程序应包括两个方面的内容 对数据的描述 数据结构 datastructure 对操作的描述 算法 algorithm 著名计算机科学家沃思提出一个公式 程序 数据结构 算法 数据结构 算法 程序设计方法 语言工具 完整的程序设计应该是 1 3 1程序 算法 数据结构 1 3 2算法及程序的基本结构 1 算法 计算机求解某一问题而采用的具体方法 步骤算法的评价标准 正确 高效 结构性好 算法描述 描述算法的方法多种多样 归纳为两大类 文字易懂 繁琐 不直观 图形 符号 直观 简单 3 常用的算法描述方法 自然语言描述伪码流程图 N S图 盒图 1 3 2算法及程序的基本结构 顺序结构 从前向后顺序执行程序 选择结构 根据判断条件的结果选择执行程序 由选择结构派生出的多分支选择结构循环结构 根据条件反复的执行某一段程序若干次当型循环直到型循环 SlideNo 18 结构化程序设计的三种基本结构具有以下共同的特点 只有一个入口 只有一个出口 结构内的每一部分都有机会被执行到 结构内不存在 死循环 1 3 2算法及程序的基本结构 1 3 3什么是数据结构 数据结构是计算机存储 组织数据的方式 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合 通常情况下 精心选择的数据结构可以带来更高的运行或者存储效率 数据结构往往同高效的检索算法和索引技术有关 第一章程序设计和基本流程 1 4流程图 自然语言就是日常使用的语言 汉语或英语或其它语言 自然语言表示通俗易懂 但文字冗长 容易出现 歧义性 自然语言表示的含义不严格 要根据上下文才能判断其正确含义 描述包含分支和循环的算法时也不很方便 因此 除了那些很简单的问题外 程序设计一般不用自然语言描述算法 1 4 1为什么使用流程图 例1 3 有两个存储单元a和b 要求将它们的值互换 分析 按存储器的性质 如果将单元a的值直接送到单元b中 那么就会覆盖掉b原来的内容 因此 需要借助一个临时单元c来交换 具体算法用自然语言表述如下 步骤1 将单元a的值送给单元c 步骤2 将单元b的值送给单元a 步骤3 将单元c的值送给单元b 1 4 1为什么使用流程图 流程图通常采用一些几何图形来代表各种类型的操作 在图形内标明文字或符号来表示操作的内容 并用箭头来表示操作的顺序 用流程图表示算法 直观形象 易于理解 1 4 1为什么使用流程图 1 4 2流程图的组成和画法 A B P A B 选择结构 根据判断条件的结果选择执行程序 顺序结构 从前向后顺序执行程序 算法三种基本结构的流程图画法 1 4 2流程图的组成和画法 由选择结构派生出的多分支选择结构 A1 A2 Ai An k k1 k k2 k ki k kn k B 1 4 2流程图的组成和画法 循环结构 根据条件反复的执行某一段程序若干次 P A 真 假 直到型循环结构 P A 真 假 当型循环结构 1 4 2流程图的组成和画法 例1 4 求1 2 3 4 10用流程图进行描述 1 4 2流程图的组成和画法 针对流程图存在的缺点 I Nassi和B Shneiderman提出了结构化程序设计的流程图 称为N S图 更能体现结构化程序设计的思想 推荐使用N S图 N S图完全去掉了流程线 算法的所有处理步骤都写在一个大矩形框内 表示简单 符合结构化思想 象堆积木 1 4 3流程图的改进 N S盒图 由于流程图允许使用箭头随意跳转 对表示算法的层次结构非常不利 且流程图占的篇幅较大 作图工作量也很大 1 4 3流程图的改进 N S盒图 顺序结构 从前向后顺序执行程序 选择结构 根据判断条件的结果选择执行程序 循环结构 根据条件反复的执行某一段程序若干次 1 4 3流程图的改进 N S盒图 N S盒图 例1 4 求1 2 3 4 10用流程图进行描述 流程图 例1 5 求10个任意整数中的最大数用N S图进行描述 1 4 3流程图的改进 N S盒图 例1 6 用 打印10X10的正方形 1 4 3流程图的改进 N S盒图 第一章程序设计和基本流程 1 5程序开发的基本过程 应用程序的设计和实现大致要经过以下几个步骤 问题描述 将要解决的问题分析 描述清楚 概要设计 将问题分解为子问题 画出功能模块图 设计模块和模块之间的接口详细设计 将每个子问题分步骤解决 进行算法描述 画流程图或N S图编写程序 编辑 编译 链接 运行并调试程序 尽可能的排除错误 测试程序 用数据集对程序进行检测 进一步的排除错误 维护和升级 根据用户需要 对程序进行修正和扩充 1 5 1程序开发的步骤 例1 5 求三个数中的最大数 请将模块图改为流程图 1 5 2结构化程序设计举例 max a b c 1 5 2结构化程序设计举例 练习和习题 输入三个数 输出最小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论