程序设计方法学 第一章 程序设计方法概述(新).ppt
文本预览下载声明
* 2、程序设计从技巧上升为科学 结构化程序设计方法 1969年,Dijkstra提出结构化程序设计思想:从程序结构上改变传统的程序设计方法。 经实践,结构化程序设计方法解决“软件危机”,使程序设计走向系统化、工程化。 另外,递归程序设计、自上而下逐步求精设计进一步完善了结构化程序设计方法。 一个好的按结构化要求设计程序,一般要求:结构清晰,易读易改易验证,可靠性好,运行效率也高。 当运行效率与结构化发化矛盾时,我们宁可牺牲效率,确保好的结构。 * 面向过程的程序设计方法 程序由若干个过程(函数) 组成,采用自顶向下逐步求精的手段,实现模块分解和功能抽象。 程序按功能被划分成若干个模块,各模块在功能上相对独立。每个模块可以用过程(函数)来实现。 模块之间要求高内聚、低耦合。 过程式程序设计也称为模块化程序设计。 数据和过程是相互独立的两个实体。 主要设计语言有FORTRAN、BASIC、C、Pascal * 面向对象的程序设计方法 结构化程序设计解决了“软件危机”。但庞大、复杂的程序维护成为整个软件开发过程中非常繁杂的工作,也面临新的考验。 面向对象程序设计方法直接将“解”映射到人们对问题的认识上,努力取得对象和操作之间的协调。 面向对象方法有目的地把系统分解为模块策略,并将设计决策与客观世界的认识相匹配。 在人工智能、数据库领域的研究表明,面向对象不只是有效的程序设计技术,还应成为软件开发的基本方法,成为开发技术是今后软件发展的主流之一。 现在的“B、C、D、F”等编程语言都使用了该技术。 * 其它程序设计方法 函数式程序设计方法 程序被看作是描述输入与输出之间关系的一个数学函数主要语言有LISP。C也常被称为函数式程序设计语言。 逻辑程序设计语言 逻辑被看作是知识推理的工具。程序被看作描述输入与输出之间各种关系的一组方程。程序设计可归结为事实列举、定义逻辑关系、逻辑公式演绎,以提问方式求解。代表语言是Prolog。 * 1.4 程序设计的一般途径 程序设计中最为关心的是程序的效率与 程序的正确性。 程序的效率常由算法的效率来决定; 程序的正确性要保证程序的易读性、可靠 性、可维护性等。 在程序设计中十全十美的方法是不存在的。所谓 好的程序设计方法只能是针对某些特定的情况而 言,所以我们平时应注重在程序设计方法本质的理 解和灵活的运用。 * 程序设计的基本步骤 对一个实际问题进行程序设计时通常按照以 下步骤进行: 问题分析 即弄清待解决问题的功能需求 建立数学模型 算法设计 即确定面向计算机的解决问题的方法和步骤 选用合适的算法描述工具进行算法描述 选用合适的计算机语言进行编码 在给定的计算机环境中编辑、测试、调试、运行程序,以得到预期的结果 * 作 业 通过网络,查找 新的程序设计技术、方法理论 并将网址发给lancyzl@ 拒绝重复的信息 * * 4、第四代语言: ●第四代语言是抽象层次更高的程序设计语言,它把程序员从繁杂的过程性设计中解放出来,用自己的语法形式表示控制和数据结构,不再涉及太多的算法细节。 ●使用最广的第四代语言是数据库语言,它支持用户以复杂的方式操作数据库,用户只需关心做什么,而不用关心怎么做,可以用类自然语言的形式提问。 ●程序生成器是更为复杂的一类4GL,它输入由甚高级语言书写的语句,自动产生完整的第三代语言程序。 * 四、 程序设计语言的实现 实现系统:任何一个程序设计语言都有一个实现系统(如编译系统或解释系统)与之匹配。用户使用程序语言编制出的源程序必须通过实现系统的加工处理。 1 转换机制:源语言→目标语言 a、纵向转换:源语言→机器语言(汇编语言) 翻译程序:它是这样一个计算机程序,能把用高级语言书写的程序翻译为等价的机器语言或汇编语言. 翻译程序主要有编译程序和解释程序。 * 编译程序:是一种把用高级语言编写的源程序作为输入,经过翻译变换产生出面向目标计算机的目标代码程序作为输出的翻译程序。编译程序比较重视目标代码的效率。FORTRAN语言采用这种方式。 解释程序:是一种一边解释用高级语言编写的源程序的语句,一边根据解释的结果直接执行。解释程序花费的机器时间要多些,但所占的内存要少些。 源程序 执行机 可执行程序 连接程序 目标程序 编译程序 结果 数据 编译阶段 运行阶段 解释程序 源程序 结果 数据 * 编译程序设计概述 1、词法分析:区别、分离出源程序行文中一个一个的单词,如标识符、保留字、常量、运算符、定界符等。 2、语法分析:识别出源程序的基本结构,如模块、子程序、分程序、程序包、数据说明、语句等,并生成有关表格
显示全部