《第5章计算机软件》由会员分享,可在线阅读,更多相关《第5章计算机软件(35页珍藏版)》请在金锄头文库上搜索。
1、第五章 计算机软件5.1 计算机软件5.2 操作系统5.3 程序设计语言及语言处理程序5.4 计算机软件理论基础和算法完整的计算机系统计算机硬件计算机软件组成计算机各种物理设备的总称。包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作。(ISO定义)有关ISO信息,请访问HTTP:/www.iso.org5.1 计算机软件5.1.1 计算机软件 5.1.2 计算机软件的发展 5.1.3 计算机软件技术5.1.1 计算机软件计算机软件程序规程规则文档(1)软件与软件产品的区别(2)文档的重要性(3)软件的三个含义个体含义:程序、规程、规则+文档整体含义:特定计算机系统中所有个体含
2、义下的软件总体学科含义:软件学1.什么是计算机软件5.1.1 计算机软件从应用角度出发系统软件软件支撑软件应用软件1.与硬件关系紧密2.数据结构复杂3.外部接口多样支持软件开发与维护的软件用于解决各种不同具体应用问题的专门软件例如编译程序、操作系统等例如数据库管理系统、各种接口软件等通用应用软件定制应用软件2.软件的分类5.1.1 计算机软件类 别功 能流行的软件名称文字处理文本编辑、文字处理、桌面排版等WPS、 Word、 Wordperfect、page Maker等电子表格表格定义、计算和处理等Excel、Lotus1-2-3 等图形图象图象处理、几何图形绘制等AutoCAD、Photo
3、shop等网络通信电子邮件、网络文件管理、远程计算、浏览等Outlook Express、Mail、CC-mail等简报软件幻灯片、演讲报告制作等Powerpoint、show partner等统计软件统计、汇总、分析等SPSS、SAS、BMDP等主要通用应用软件类别和功能5.1.2 计算机软件的发展第一阶段(上世纪40年代到50年代中期)主要应用领域:科学与工程计算。处理对象:数值数据重视编程技巧,忽视文档5.1.2 计算机软件的发展第二阶段(上世纪50年代中期到60年代后期)出现高级语言、操作系统和数据库管理系统后期开始重视文档解决“软件危机”5.1.2 计算机软件的发展第三阶段(上世纪6
4、0年代迄今)软件工程(好处:高效编制高质软件)软件发展新特点应用广、重视理论、研究开发规范、模型和新技术。软件开发新技术的标志智能化、自动化、集成化、并行化、开放化、自然化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.操作系统有两个重要作
5、用管理系统中的各种硬件和软件资源为用户提供各种服务界面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
6、 实用程序实用程序种类主要功能磁盘格式化为在磁盘上存储文件做准备文件管理文件拷贝、移动、压缩、删除等磁盘碎片整理重新存储磁盘上的内容,可使同一文件的不同段存储在邻接位置文件卸载删除一个不再需要的文件文件转换把文件从一种格式转换到另一种格式反病毒保护计算机系统不受病毒的侵扰5.3 程序设计语言及语言处理程序5.3.1 程序设计语言分类 5.3.2 程序设计语言中的数据成分和控制成分 5.3.3 语言处理系统 5.3.4 主要程序语言介绍5.3.1 程序设计语言分类1.机器语言(二进制代码)2.汇编语言3.高级语言5.3.2 程序设计语言中的数据成分和控制成分高级语言的基本成分有四种数据成分、运算
7、成分、控制成分、传输成分1.数据成分 数据名称:标识符数据的特征 类型:需占用多少存储单元以及存放形式 作用域:数据使用的范围5.3.2 程序设计语言中的数据成分和控制成分整型数据类型基本类型算术类型字符类型枚举类型实型单精度双精度派生类型数组指针用户定义类型图5.3 数据类型C语言的数据类型3指针变量p 整型变量i 图5.4 指针变量示意(1)算术(或字符)数据类型 int x;char c;(2)枚举数据类型 enum color(red,yellow,blue);color table;(3)数组数据类型 int y3;(4)指针数据类型 int I=3;int *p=&I;(5)用户定
8、义类型:由用户按应用和语法要求定义的数据类型。5.3.2 程序设计语言中的数据成分和控制成分图5.5 控制结构(a)顺序控制结构(b)条件选择结构(c)while型重复结构ABPAB真假PA假真2.控制成分5.3.2 程序设计语言中的数据成分和控制成分作用:把汇编语言和高级语言程序转变成计算机可执行的程序或计算结果或其他中间形式。按照不同的翻译处理方法,翻译程序有三类:1.汇编程序(Assembler)2.解释程序(Interpreter)口译算法简单但运行效率低,用于交互方式工作、调试或运行时间和解释时间相当的语言3.编译程序(Compiler)笔译5.3.3 语言处理系统5.3.3 语言处
9、理系统图5.6 编辑、编译、装入和执行过程程序模块1程序模块n正文编辑源程序n源程序1编译目标程序1目标程序n联接编辑可执行目标程序装入执行结果库文件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
10、 计算机软件理论基础1.数值计算(Numerical Computation)研究内容:用计算机求解数学问题的数值方法2.离散数学(Discrete Mathematics)主要研究对象:离散结构3.计算理论(Theory of Computation)研究内容:计算与计算机械4.程序理论(Theory of Programs)研究内容:程序的语义性质、程序设计及开发方法5.4.2 算法和数据结构编写程序首先要考虑的两个方面:算法和数据结构1.算法(Algorithm)定义:问题求解规则的一种过程描述性质:确定性、有穷性、能行性(可行性)、输入与输出算法与程序的区别分析一个算法的好坏,必须考虑的因素:正确性、可读性、健壮性、效率与低存储量的要求5.4.2 算法和数据结构2.数据结构定义:研究程序设计中计算机操作对象以及它们之间的关系和运算的一个专门学科 逻辑结构数据结构 存储结构 运算学号、姓名学号、姓名第1个学生第2个学生第n个学生学号、姓名 图5.8 学生表的链接结构5.4.2 算法和数据结构Q1:请上网使用搜索引擎查出这些软件分别是哪些公司出品?12Q1:请上网使用搜索引擎查出这些软件分别是哪些公司出品?3Q1:请上网使用搜索引擎查出这些软件分别是哪些公司出品?