第三章 计算机软件

上传人:w****i 文档编号:108701196 上传时间:2019-10-25 格式:PDF 页数:37 大小:369.39KB
返回 下载 相关 举报
第三章 计算机软件_第1页
第1页 / 共37页
第三章 计算机软件_第2页
第2页 / 共37页
第三章 计算机软件_第3页
第3页 / 共37页
第三章 计算机软件_第4页
第4页 / 共37页
第三章 计算机软件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第三章 计算机软件》由会员分享,可在线阅读,更多相关《第三章 计算机软件(37页珍藏版)》请在金锄头文库上搜索。

1、2010-10-221 第3章 计算机软件 2010-10-222 主要内容 3.1 计算机软件的基础知识 3.2 程序设计语言 3.3 算法和数据结构 3.4 软件工程基础 3.5 操作系统 2010-10-223 3.1计算机软件的基础知识 计算机软件: (Computer Software)是指计算机系统中的 程序及其文档 分为系统软件和应用软件两大类。 3.1.1计算机软件的概念 2010-10-224 计算机软件的特征 : 软件是一种逻辑实体,具有抽象性。 软件没有明显的制造过程。 软件在使用过程中,没有磨损、老化的问题。 软件对硬件和环境有着不同程度的依赖性。 软件的开发至今尚未完

2、全摆脱手工作坊式的开发方 式,生产效率低。 软件是复杂的,而且以后会更加复杂。 软件的成本相当昂贵。 软件还必须具备可维护性(Maintainability)、独 立性(Dependability)、效率性(Efficiency)和可 用性(Usability)四个属性。 3.1.1计算机软件的概念 2010-10-225 系统软件 操作系统 控制和管理计算机系统内各种软、硬件资源,合理有效 地组织计算机系统的工作 语言处理程序 用来把汇编语言或高级语言编制的程序解释或翻译成计 算机能执行的目标程序。 主要有汇编程序、解释程序和编译程序 数据库管理系统(DBMS) 数据库是存储在一起的相关数据

3、的集合,这些数据是结 构化的,无有害的或不必要的冗余,数据库是可以共享 的、相互关联的、以一定结构组织起来的数据集合。 数据库管理系统是对数据库中的数据进行管理的软件 。 3.1.2计算机软件的分类 2010-10-226 操作系统、数据库管理系统(Data Base Management System,DBMS)和应用程序在硬件 系统的支持下形成了数据库系统 。 应用程序对数据库的一切操作,包括定义、查询、 更新及各种控制,都是通过DBMS进行的。 根据数据模型的不同,DBMS可以分成层次型、 网状型、关系型、面向对象型等。 当前流行的关系型DBMS有FoxPro、Access、 Oracl

4、e、Sybase等。 3.1.2计算机软件的分类 2010-10-227 各种实用工具程序 能配合各类其他系统软件为用户的应用提供方便和帮 助 。 磁盘碎片整理程序、磁盘清理等 。 应用软件 为用户解决某个实际问题而编制的程序和有关资料 。 分为通用软件(Microsoft Word、Adobe Photoshop ) 和专用软件 。 3.1.2计算机软件的分类 2010-10-228 计算机软件的发展划分为四个阶段计算机软件的发展划分为四个阶段 阶段早期第二阶段第三阶段第四阶段 时间段1950196519621974 19681989 19862003 主要特征面向批处理有 限的分布自定 义

5、软件 多用户 实时 数据库 软件产品出 现 分布式系统 嵌入“智能” 低成本硬件 面向大众,消费者 者的影响日益增强 强大的桌面系统 面向对象技术 专家系统 人工神经网络 并行计算 网络计算机 软件生产 阶段 程序设计时代程序系统时 代 软件工程时代 (结构化方法) 软件工程时代 (面向对象方法) 3.1.3计算机软件的发展发展 2010-10-229 计算机软件生产的历史可划分为四个阶段:计算机软件生产的历史可划分为四个阶段: 程序设计时代(1946年1956年) ,使用机器语 言,汇编语言 。 程序系统时代(1956年1968年) ,使用高级语 言,小集团合作生产 ,提出结构化方法 。 软

6、件工程时代结构化方法时代(1968年1989 年)软件工程学科的基本学科体系得到建立并基 本趋向成熟。 软件工程时代一面向对象方法时代(1989年至今) 3.1.3计算机软件的发展发展 2010-10-2210 3.2 程序设计语言基础 3.2.1 什么是程序3.2.1 什么是程序 认识简单的程序 举例:做两个数相加(C语言实现) main() int a,b,sum; /变量定义 printf(“请输入加数和被加数”); /提示信息 scanf(“%d,%d”, /输入加数 和被加数 sum=a+b; /求和 printf(“和为:%d”,sum); /输出所求 得和的值 2010-10-2

7、211 程序的执行 概念 源程序 目标程序 可执行程序 程序的翻译过程 3.2.1什么是程序什么是程序 2010-10-2212 3.2.2程序设计语言的分类 机器语言 例如,计算A=15+10 的机器语言程序如下: 10110000 00001111 : 把15放入累加器A中 00101100 00001010 : 10与累加器A的值相加,结 果仍放入A中 11110100: 结束,停机 编程工作量大,难学、难记、难修改,只适合专业人员 使用;由于不同的计算机,其指令系统不同,机器语言 随机而异,通用性差,是面向机器的语言。 机器语言优点:程序代码不需要翻译,所占空间少,执 行速度快。现在已

8、经没有人用机器语言直接编程了。 2010-10-2213 3.2.2程序设计语言的分类 汇编语言 将机器指令的代码用英文助记符来表示,代替机器语言中的指令 和数据。例如用ADD表示加、SUB表示减、JMP表示程序跳转等 等,这种指令助记符的语言就是汇编语言。 例如,计算 A=15+10 的汇编语言程序: MOVA,15:把15放入累加器A中 ADDA,10:10与累加器A相加,结果存入A中 HLT:结束,停机 汇编语言克服了机器语言难读等缺点,保持了其编程质量高,占 存储空间少,执行速度快的优点。常用于过程控制等编程。汇编 语言面向机器,使用者需要专业知识。 汇编语言编写的程序,必须翻译成机器

9、语言,才能被计算机执行。 2010-10-2214 3.2.2程序设计语言的分类 高级语言 是由表达各种意义的词和数学公式按照一定的语法 规则来编写程序的语言。高级语言使程序员可以完 全不用与计算机的硬件打交道,可以不必了解机器 的指令系统,是面向过程的语言。这样,程序员就 可以集中精力来解决问题本身而不必受机器制约, 编程效率高;由于与具体机器无关,因此程序的通 用性强。 例如,计算 A=15+10 的C语言程序如下: sum=15+10; /15与10相加的结果放入sum中 printf(“sum=%d”,sum); /输出sum 2010-10-2215 3.2.2程序设计语言的分类 高

10、级语言的分类 面向过程的语言 用这类语言编程时,程序不仅要说明做什么,还要详细地 告诉计算机如何做,程序需要详细描述解题的过程和细 节 ,如FORTRAN、BASIC、PASCAL、C等 。 面向问题的语言 又称非过程化的语言或称第四代语言(4GLS)。用面向 问题的语言解题时,不必关心问题的求解算法和求解的过 程,只需指出问题是要计算机做什么,数据的输入和输出 形式,就能得到所需结果。 例3.1 教师节到了,要对教龄满25年的教职工发荣誉证书,要求从 存放教职工档案的“d:zgda.dat”文件中,显示出教龄满25年 的教职工的姓名和所在部门。 SELECT姓名,部门,教龄FROM d: z

11、gda.dbf WHERE 教龄 =25 用SQL面向问题的 语言实现 面向过程的语言需要详细地描述“怎样做”; 面向问题的语言仅需要说明“做什么”。 它和与数据库的关系非常密切,能够对 大型数据库进行高效处理。 2010-10-2216 3.2.2程序设计语言的分类 面向对象语言 在20世纪80年代推出面向对象语言。它与以往各 种语言的根本不同点在于:它设计的出发点就是 为了能更直接地描述客观世界中存在的事物(即 对象)以及它们之间的关系。 面向对象语言将客观事物看作具有属性和行为的 对象,通过抽象找出同一类对象的共同属性和行 为,形成类。通过类的继承与多态可以很方便地 实现代码重用,这大大

12、提高了程序的复用能力和 程序开发效率。面向对象语言已是程序语言的主 要研究方向之一。面向对象的语言有C+、Java、 Visual Basic等。 2010-10-2217 3.2.2程序设计语言的分类 其他语言 为了满足解决不同问题的需要,一些以工具形式 出现的语言,也在日益被广泛使用,如著名的科 学计算软件MATLAB,除此以外,还有函数型 语言LISP,人工智能语言PROLOG,超文本链接 标记语言HTML和XML等。 2010-10-2218 3.2.3程序设计语言的组成 高级程序设计语言的组成包括如下成分: 数据类型、表达式和赋值、控制结构、 输入/输出、函数和过程。 数据类型 基本

13、数据类型:整数类型、实数类型、字符 类型、逻辑类型、指针类型等。 构造数据类型 (由基本数据类型按某种方式 组合而成 )一般有:数组类型、记录类型、 枚举类型、集合类型、字符类型、文件等 2010-10-2219 3.2.3程序设计语言的组成 表达式和赋值表达式和赋值 表达式由变量、常量、函数调用和运算符组成。 例3-2,已知圆半径,求其面积用C语言描述的语句为: s=3.14*r*r 其中:s、r为变量,3.14为常量,*为运算符;为赋值号, 它的语义是将右端表达式计算出的结果赋给左端的变量。 变量 计算的数据对象和计算结果对象在程序中用变量表示。 变量在使用前必须声明其类型和名称,编译程序

14、根据其数据 类型,在内存分配相应的存储空间,以存储该变量的值。 运算符 计算机不但能进行算术运算,还能进行逻辑运算。虽 然不同的程序设计语言提供的运算符种类不同,表示形式也 可能不同,但一般都有如下几类: 算术运算 加、减、乘、除、乘方等。 关系运算 大于、大于等于、小于、小于等于、等于、不等 于等。 逻辑运算 与、或、非等。 2010-10-2220 3.2.3程序设计语言的组成 表达式和赋值 赋值 赋值是改变变量值的基本手段,在程序设计语言中使用频 率最高。不同的程序设计语言有不同的赋值号,一般用等 (=)来表示。表达式和赋值号构成了程序设计的一条赋 值语句。 控制结构 结构化的程序设计包

15、括三类控制结构结构化的程序设计包括三类控制结构 2010-10-2221 3.2.3程序设计语言的组成 控制结构 顺序结构 循环结构 选择结构 2010-10-2222 3.2.3程序设计语言的组成 输入/输出 程序的输入程序的输入/输出分为两大类:输出分为两大类: 以文件形式数据传送以文件形式数据传送 人人机交互机交互 输入、输出在不同的程序设计语言中由不同 的语句或函数来实现。 输入、输出在不同的程序设计语言中由不同 的语句或函数来实现。 例如例如C语言的输入语言的输入/输出函数有:输出函数有:scanf, printf等。等。 2010-10-2223 3.2.3程序设计语言的组成 过程(函数) 将重复处理程序段或分解的子功能编写成一个逻辑 上独立的过程,当程序需要该过程时,只需调用它。 使用过程可降低程序的复杂度,简化程序编写,便 于调试。 一般程序设计语言中有两种过程: 函数过程函数名有返回值 子过程子过程名没有返回值 各种语言系统还提供了已定义好的大量标准函数, 如数学函数、字符串函数、类型转换函数等,放在 系统的函数库中,供用户直接调用。 2010-10-2224 3.2.4 程序设计语言的实现 1.翻译过程 在所有的程序设计语言中,除

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

当前位置:首页 > 办公文档 > 其它办公文档

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