第一章程序设计概述 .1程度 1.2结构 述 1.3面向 时概述 退出 上一页 页
上一页 下一页 第一章 程序设计概述 1.1 程序设计发展概述 1.2 结构化程序设计概述 1.3 面向对象程序设计概述 退 出 习题一
述 1.1.1计算机程序设计语言 1.1.2程序设计的发展历程 上一页 页
上一页 下一页 1.1 程序设计发展概述 1.1.1 计算机程序设计语言 1.1.2 程序设计的发展历程
1.1.1计算机程序设计语言 计算机之所以能自动进行计算,是因为采用了程序存储 的原理,计算机的工作体现为执行程序。程序是控制计算机 完成特定功能的一组有序指令的集合,编写程序所使用的语 言称为程序设计语言,它是人与计算机之间进行信息交流的 工具。 从1946年世界上诞生第一台计算机起,在短短的50余年 间,计算机技术迅速发展,程序设计语言经历了机器语言 汇编语言到高级语言的多个阶段。目前世界上已经设计和实 现的计算机语言有上千种之多,但实际被人们广泛使用的计 算机语言不过数十种 上一页 页
上一页 下一页 计算机之所以能自动进行计算,是因为采用了程序存储 的原理,计算机的工作体现为执行程序。程序是控制计算机 完成特定功能的一组有序指令的集合,编写程序所使用的语 言称为程序设计语言,它是人与计算机之间进行信息交流的 工具。 从1946年世界上诞生第一台计算机起,在短短的50余年 间,计算机技术迅速发展,程序设计语言经历了机器语言、 汇编语言到高级语言的多个阶段。目前世界上已经设计和实 现的计算机语言有上千种之多,但实际被人们广泛使用的计 算机语言不过数十种。 1.1.1 计算机程序设计语言
计算机语言按其与硬件接近的程度,可以划分为低级 语言和高级语言两大类 (1)低级语言:机器语言和汇编语言,它们分别被称 为第一代语言和第二代语言 (2)高级语言:包括过程式语言和非过程式语言,称 为第三代语言。 机器语言 低级语言 计算机程序 汇编语言 设计语言 高级语言「过程式语言 非过程式语言 上一页 页
上一页 下一页 计算机语言按其与硬件接近的程度,可以划分为低级 语言和高级语言两大类。 (1)低级语言:机器语言和汇编语言,它们分别被称 为第一代语言和第二代语言。 (2)高级语言:包括过程式语言和非过程式语言,称 为第三代语言。 计算机程序 设计语言 低级语言 高级语言 机器语言 汇编语言 过程式语言 非过程式语言
1.1.2程序设计的发展历程 50年代→指令代码或汇编语 60年代→高级语言: fortran、 ascal、basa 程序设计的发展了70年代→结构化程序设计 算法+数据结构=程序设计 80年代→面向对象程序:对象+消息 上一页 页
上一页 下一页 1.1.2 程序设计的发展历程 结构化程序设计: 算法+数据结构=程序设计 程序设计的发展 50年代 60年代 70年代 80年代 指令代码或汇编语言 高级语言:fortran、pascal、basica 面向对象程序:对象+消息
回顾程序设计发展的历史,大体上可以划分为如下几 不同的时期 50年代的程序都是用指令代码或汇编语言来编写的,程 序的编制和调试必须是专门的人员来完成,影响了计算机 的普及应用。 60年代高级语言的出现大大简化了程序设计,缩短了解 题周期,因此显示出强大的生命力。编制程序已不再是软 件专业人员才能做的事了,一般工程技术人员花上较短的 时间学习,也可以使用计算机解题。 随着计算机的应用日益广泛,出现了多种程序设计语言 其中较为著名的有 FORTRAN、 COBOL、 ALGOL、LISP PL/1、 PASCAL等十几种语言。高级语言的蓬勃兴起,使 得编译和形式语言理论相应日趋完善,这是该时期的主要 特征。但就整个程序设计方法而言,并无实质性的改进 上一页 页
上一页 下一页 回顾程序设计发展的历史,大体上可以划分为如下几 个不同的时期。 50年代的程序都是用指令代码或汇编语言来编写的,程 序的编制和调试必须是专门的人员来完成,影响了计算机 的普及应用。 60年代高级语言的出现大大简化了程序设计,缩短了解 题周期,因此显示出强大的生命力。编制程序已不再是软 件专业人员才能做的事了,一般工程技术人员花上较短的 时间学习,也可以使用计算机解题。 随着计算机的应用日益广泛,出现了多种程序设计语言 。其中较为著名的有FORTRAN、COBOL、ALGOL、LISP 、PL/1、PASCAL等十几种语言。高级语言的蓬勃兴起,使 得编译和形式语言理论相应日趋完善,这是该时期的主要 特征。但就整个程序设计方法而言,并无实质性的改进
自60年代末到70年代初,出现了大型软件系统,如操 作系统、数据库,这给程序设计带来了新的问题。大型系 统的研制需要花费大量的资金和人力,可是研制出来的 品却是可靠性差,错误多,且不易维护和修改。一个大型 操作系统有时需要几千人/年的工作量,而所获得的系统又 常常会隐藏着几百甚至几千个错误。当时,人们称这种现 象为“软件危机”。 为了解决上述问题,1969年,提出了结构化程序设计 的概念,强调从程序结构和风格上来研究程序设计。该方 法的应用确实取得了成效,编写出来的程序不仅结构良好 易写易读,而且易于证明其正确性。 70年代末又提出了“算法+数据结构=程序设计”的 程序设计方法,将软件划分成若干个可单独命名和编址的 部分,称为模块,模块化使软件能够有效地被管理和维护 ,能够有效的分解和处理复杂问题。在80年代,模块化程 序设计方法普遍被人们接受 上一页 一页
上一页 下一页 自60年代末到70年代初,出现了大型软件系统,如操 作系统、数据库,这给程序设计带来了新的问题。大型系 统的研制需要花费大量的资金和人力,可是研制出来的产 品却是可靠性差,错误多,且不易维护和修改。一个大型 操作系统有时需要几千人/年的工作量,而所获得的系统又 常常会隐藏着几百甚至几千个错误。当时,人们称这种现 象为“软件危机” 。 为了解决上述问题,1969年,提出了结构化程序设计 的概念,强调从程序结构和风格上来研究程序设计。该方 法的应用确实取得了成效,编写出来的程序不仅结构良好 ,易写易读,而且易于证明其正确性。 70年代末又提出了“算法+数据结构 = 程序设计”的 程序设计方法,将软件划分成若干个可单独命名和编址的 部分,称为模块,模块化使软件能够有效地被管理和维护 ,能够有效的分解和处理复杂问题。在80年代,模块化程 序设计方法普遍被人们接受
由于软件开发是对问题的求解过程,它包括人们对要解 决问题及相关事物的认识和基于认识所进行的描述。而结构 化设计方法不能直接反映出人类认识问题的过程,并且程序 模块和数据结构是松散地耦合在一起的。因此,当应用程序 比较复杂时,容易出错,难以维护。随着计算机软件的发展 软件系统越来越复杂庞大,结构化程序设计方法已显得力不 从心 80年代,人们提出了面向对象的程序设计方法。面向对 象的方法不再将问题分解为过程,而是将问题分解为对象 对象将自己的属性和方法封装成一个整体,供程序设计者使 用。对象之间的相互作用则通过消息传递来实现。用面向对 象的程序设计方法,可以使人们对复杂系统的认识过程与系 统的程序设计与实现过程尽可能地一致。有人预测,这种 “对象+消息”的面向对象的程序设计模式将逐渐取代“数 据结构+算法”的面向过程的程序设计模式 上一页 页
上一页 下一页 由于软件开发是对问题的求解过程,它包括人们对要解 决问题及相关事物的认识和基于认识所进行的描述。而结构 化设计方法不能直接反映出人类认识问题的过程,并且程序 模块和数据结构是松散地耦合在一起的。因此,当应用程序 比较复杂时,容易出错,难以维护。随着计算机软件的发展, 软件系统越来越复杂庞大,结构化程序设计方法已显得力不 从心。 80年代,人们提出了面向对象的程序设计方法。面向对 象的方法不再将问题分解为过程,而是将问题分解为对象。 对象将自己的属性和方法封装成一个整体,供程序设计者使 用。对象之间的相互作用则通过消息传递来实现。用面向对 象的程序设计方法,可以使人们对复杂系统的认识过程与系 统的程序设计与实现过程尽可能地一致。有人预测,这种 “对象+消息”的面向对象的程序设计模式将逐渐取代“数 据结构+算法”的面向过程的程序设计模式
1.2 结 概述 121结构化程序设计概念 122结构化程序设计方法 上一页 页
上一页 下一页 1.2 结构化程序设计概述 1.2.1 结构化程序设计概念 1.2.2 结构化程序设计方法
12.1结构化程序设计概念 自提出结构化程序设计的概念后,经过十几年的发 展,结构化程序设计已经具有了很广泛的内容,大体上 可以归纳为以下几点: 1.结构化程序的基本结构 2.结构化程序的设计方法 3.结构化程序的组织结构 上一页 页
上一页 下一页 自提出结构化程序设计的概念后,经过十几年的发 展,结构化程序设计已经具有了很广泛的内容,大体上 可以归纳为以下几点: 1.2.1 结构化程序设计概念 1. 结构化程序的基本结构 2. 结构化程序的设计方法 3. 结构化程序的组织结构