《第5章计算机软件n.ppt》由会员分享,可在线阅读,更多相关《第5章计算机软件n.ppt(35页珍藏版)》请在三一办公上搜索。
1、第五章 计算机软件,5.1 计算机软件5.2 操作系统5.3 程序设计语言及语言处理程序5.4 计算机软件理论基础和算法,完整的计算机系统,计算机硬件,计算机软件,组成计算机各种物理设备的总称。,包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作。(ISO定义),有关ISO信息,请访问HTTP:/www.iso.org,5.1 计算机软件,5.1.1 计算机软件 5.1.2 计算机软件的发展 5.1.3 计算机软件技术,5.1.1 计算机软件,(1)软件与软件产品的区别,(2)文档的重要性,(3)软件的三个含义个体含义:程序、规程、规则+文档整体含义:特定计算机系统中所有个体含
2、义下的软件总体学科含义:软件学,1.什么是计算机软件,5.1.1 计算机软件,从应用角度出发,例如编译程序、操作系统等,例如数据库管理系统、各种接口软件等,2.软件的分类,5.1.1 计算机软件,主要通用应用软件类别和功能,5.1.2 计算机软件的发展,第一阶段(上世纪40年代到50年代中期)主要应用领域:科学与工程计算。处理对象:数值数据重视编程技巧,忽视文档,5.1.2 计算机软件的发展,第二阶段(上世纪50年代中期到60年代后期)出现高级语言、操作系统和数据库管理系统后期开始重视文档解决“软件危机”,5.1.2 计算机软件的发展,第三阶段(上世纪60年代迄今)软件工程(好处:高效编制高质
3、软件)软件发展新特点应用广、重视理论、研究开发规范、模型和新技术。软件开发新技术的标志智能化、自动化、集成化、并行化、开放化、自然化,5.1.3 计算机软件技术,定义:研制开发计算机软件所需的所有技术的总称,按照计算机软件分支学科的内容划分,1.软件工程技术2.程序设计技术3.软件工具环境技术4.系统软件技术5.数据库技术6.网络软件技术7.与实际工作相关的软件技术,5.2 操作系统,5.2.1 操作系统的作用 5.2.2 操作系统的功能 5.2.3 操作系统的类型 5.2.4 常用操作系统介绍 5.2.5 实用程序,5.2.1 操作系统的作用,1.操作系统有两个重要作用管理系统中的各种硬件和
4、软件资源为用户提供各种服务界面2.裸机:只有硬件、没有软件的计算机3.操作系统与用户和硬件都直接打交道4.“自举”或“引导”过程5.内部命令与外部命令,5.2.1 操作系统的作用,5.2.2 操作系统的功能,进程管理方式1.任务管理 分时方式 并行处理方式2.存储管理3.文件管理4.设备管理5.作业管理,5.2.3 操作系统的类型,1.批处理系统2.分时处理系统3.实时系统4.个人计算机操作系统5.高性能计算机操作系统6.网络操作系统7.分布式操作系统,5.2.4 常用操作系统介绍,1.Windows操作系统,2.UNIX操作系统,3.Linux操作系统,4.OS/2操作系统,5.2.5 实用
5、程序,5.3 程序设计语言及语言处理程序,5.3.1 程序设计语言分类 5.3.2 程序设计语言中的数据成分和控制成分 5.3.3 语言处理系统 5.3.4 主要程序语言介绍,5.3.1 程序设计语言分类,1.机器语言(二进制代码)2.汇编语言3.高级语言,5.3.2 程序设计语言中的数据成分和控制成分,高级语言的基本成分有四种数据成分、运算成分、控制成分、传输成分1.数据成分 数据名称:标识符数据的特征 类型:需占用多少存储单元以及存放形式 作用域:数据使用的范围,5.3.2 程序设计语言中的数据成分和控制成分,C语言的数据类型,(1)算术(或字符)数据类型 int x;char c;(2)
6、枚举数据类型 enum color(red,yellow,blue);color table;(3)数组数据类型 int y3;(4)指针数据类型 int I=3;int*p=(5)用户定义类型:由用户按应用和语法要求定义的数据类型。,5.3.2 程序设计语言中的数据成分和控制成分,2.控制成分,5.3.2 程序设计语言中的数据成分和控制成分,作用:把汇编语言和高级语言程序转变成计算机可执行的程序或计算结果或其他中间形式。按照不同的翻译处理方法,翻译程序有三类:1.汇编程序(Assembler)2.解释程序(Interpreter)口译算法简单但运行效率低,用于交互方式工作、调试或运行时间和解
7、释时间相当的语言3.编译程序(Compiler)笔译,5.3.3 语言处理系统,5.3.3 语言处理系统,5.3.3 语言处理系统,编译程序(Compiler)笔译适合大型应用程序,初始阶段:建立数据结构,为分析和综合做准备源程序的分析:词法分析、语法分析和语义分析目标程序的综合:存储分配、代码优化、代码生成,5.3.4 主要程序语言介绍,1.FORTRAN语言,2.ALGOL语言,3.Java语言,4.C语言和C+语言,5.4 计算机软件理论基础和算法,5.4.1 计算机软件理论基础5.4.2 算法和数据结构,5.4.1 计算机软件理论基础,1.数值计算(Numerical Computat
8、ion)研究内容:用计算机求解数学问题的数值方法2.离散数学(Discrete Mathematics)主要研究对象:离散结构3.计算理论(Theory of Computation)研究内容:计算与计算机械4.程序理论(Theory of Programs)研究内容:程序的语义性质、程序设计及开发方法,5.4.2 算法和数据结构,编写程序首先要考虑的两个方面:算法和数据结构1.算法(Algorithm)定义:问题求解规则的一种过程描述性质:确定性、有穷性、能行性(可行性)、输入与输出算法与程序的区别分析一个算法的好坏,必须考虑的因素:正确性、可读性、健壮性、效率与低存储量的要求,5.4.2 算法和数据结构,2.数据结构定义:研究程序设计中计算机操作对象以及它们之间的关系和运算的一个专门学科,逻辑结构数据结构 存储结构 运算,5.4.2 算法和数据结构,Q1:请上网使用搜索引擎查出这些软件分别是哪些公司出品?,1,2,Q1:请上网使用搜索引擎查出这些软件分别是哪些公司出品?,3,Q1:请上网使用搜索引擎查出这些软件分别是哪些公司出品?,