1、信息系统基础信息系统基础第第5章章 计算机软件计算机软件第第5章章 计算机软件计算机软件5.1 计算机语言5.2 程序设计与算法5.3 操作系统概述5.4 典型操作系统介绍5.5 典型应用软件介绍 5.1 计算机语言计算机语言计算机语言及其发展计算机语言及其发展 定义:计算机语言就是计算机能读懂的语言,是定义:计算机语言就是计算机能读懂的语言,是人与计算机通信所使用的语言,即我们通常所说人与计算机通信所使用的语言,即我们通常所说的程序设计语言。的程序设计语言。发展:发展:机器语言机器语言汇编语言汇编语言高级语言高级语言5.1 计算机语言计算机语言计算机语言的分类计算机语言的分类 第一代计算机语
2、言第一代计算机语言机器语言机器语言 直接用直接用二进制二进制代码指令表达的代码指令表达的计算机语言计算机语言,指令是用,指令是用“0”和和“1”组成的一串代码组成的一串代码。例:例:1011011000000000,表示进行一次加法操作,表示进行一次加法操作 机器语言的特点机器语言的特点:面向机器面向机器 程序的可读性差,移植性差程序的可读性差,移植性差 可被计算机直接识别,执行效率高可被计算机直接识别,执行效率高 5.1 计算机语言计算机语言计算机语言的分类计算机语言的分类 第二代计算机语言第二代计算机语言汇编语言汇编语言 用一些简洁的英文字母、符号串来替代一个特定的指用一些简洁的英文字母、
3、符号串来替代一个特定的指令的二进制串。令的二进制串。例例:用用“ADD”代表加法,代表加法,汇编语言的特点:汇编语言的特点:面向机器面向机器 不能被计算机直接识别,需通过汇编程序翻译不能被计算机直接识别,需通过汇编程序翻译 执行效率比较高执行效率比较高5.1 计算机语言计算机语言计算机语言的分类计算机语言的分类 第三代计算机语言第三代计算机语言高级语言高级语言 接近自然语言的程序设计语言。高级语言尽管接近于自然接近自然语言的程序设计语言。高级语言尽管接近于自然语言,但相互之间仍有较大差距,每种语言都有极为严格语言,但相互之间仍有较大差距,每种语言都有极为严格的语法规范,对采用的符号、语句格式等
4、都有专门的规定。的语法规范,对采用的符号、语句格式等都有专门的规定。高级语言的特点:高级语言的特点:与机器无关与机器无关 可读性好、移植性好可读性好、移植性好 不能被计算机直接识别,需通过编译程序进行编译。不能被计算机直接识别,需通过编译程序进行编译。5.1 计算机语言计算机语言计算机语言的新发展计算机语言的新发展可视化的界面编程技术与面向对象思想可视化的界面编程技术与面向对象思想人工智能人工智能 计算机软件5.1 计算机语言5.2 程序设计与算法5.3操作系统概述5.4 典型操作系统介绍5.5 典型应用软件介绍 5.2 程序设计与算法计算机程序概述计算机程序概述 程序的组成及数据描述程序的组
5、成及数据描述程序一般由声明部分和执程序一般由声明部分和执行部分组成行部分组成 例:/*功能:已知三角形的底和高,求面积*/#include /*文件包含处理*/void main()/*主函数首部*/double a,h,s;scanf(“%f,%f”,&a,&h);/*输入三角形的底和高*/s=a*h/2;/*计算面积*/printf(“面积=%.2fn”,s);/*输出*/5.2 程序设计与算法计算机程序概述计算机程序概述 语言处理程序语言处理程序 除了机器语言之外,任何其它语言编写的程序都不能直接在计算机上执行,需要先对它们进行适当的变换,而这个任务是由语言处理程序承担。语言处理程序通常
6、都包含一个翻译程序,它把一种语言的程序翻译成等价的另一种语言的程序。被翻译的语言和程序称为源语言和源程序,翻译生成的语言和程序则称为目标语言和目标程序。5.2 程序设计与算法计算机程序概述计算机程序概述 语言处理程序语言处理程序按照不同的翻译处理方法,翻译程序分为以下三类:(1)汇编程序:从汇编语言到机器语言的翻译程序。(2)解释程序:将源程序中的语句逐条翻译,并立即执行这条语句的翻译程序。(3)编译程序:从高级语言到机器语言的翻译程序。5.2 程序设计与算法计算机程序概述计算机程序概述 程序执行程序执行 5.2 程序设计与算法程序设计方法程序设计方法 面向过程的结构化程序设计面向过程的结构化
7、程序设计 使用三种基本控制结构构造程序 5.2 程序设计与算法程序设计方法程序设计方法 面向过程的结构化程序设计面向过程的结构化程序设计 以模块功能和处理过程设计为主;采用自顶向下、逐步求精的程序设计方法 5.2 程序设计与算法程序设计方法程序设计方法 面向对象的程序设计面向对象的程序设计 对象对象:从概念上讲,对象是代表着正在创建的系统中的一个实体。从一本书到一家图书馆,一个学生到一个班级,再到一个学校,都可看作对象 类类:如果不同的对象具有完全相同的结构和特性,我们就说这些对象属于同一类型。对象的类型就叫做类。消息消息:对象之间的相互作用和通信是通过消息。当对象A要执行对象B的方法时,对象
8、A发送一个消息到对象B。5.2 程序设计与算法程序设计方法程序设计方法 面向对象的程序设计面向对象的程序设计 5.2 程序设计与算法算法的描述算法的描述 自然语言自然语言 自然语言就是人们在日常生活中使用的语言,用自然语言表达的算法通俗易懂,但不够精确,容易出现歧义。用自然语言表达计算1+2+3+100的算法如下:第一步:把1存入变量i中;第二步:把0存入变量sum中;第三步:把i的值和sum的值相加,相加结果再次存入变量sum中第四步:把变量i的值增加1,相加结果再次存入变量i中;第五步:如果变量i的值不大于100,则返回到第三步,从第三步起重复进行操作;否则继续下面操作;第六步:将sum的
9、值输出,结束。5.2 程序设计与算法算法的描述算法的描述 流程图流程图 流程图使用一些图形符号来表示算法中的各种操作 起止框 输入输出框 判断框 处理框 流程线5.2 程序设计与算法算法的描述算法的描述 流程图流程图 用流程图表达计算1+2+3+100的算法 开始i=1;sum=0i=100sum=sum+ii=i+1输 出sum结束NoYes5.2 程序设计与算法算法的描述算法的描述 伪代码伪代码 伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。以基于C语言的伪代码所表示的1+2+3+100的算法:1)累加和sum初值赋为0;2)定义循环变量i(兼累加项);3)for(i=1;
10、i=100;i+)s=s+i;4)输出sum的值;5.2 程序设计与算法算法的描述算法的描述 计算机语言计算机语言 用C语言实现的1+2+3+100的算法:#include stdio.hmain()int i,s;i=1;s=0;while(i=100)s=s+i;i=i+1;printf(%dn,s);5.2 程序设计与算法算法的特性算法的特性 有穷性:有穷性:一个算法必须保证执行有限步骤之后结束;确切性:确切性:算法的每一步骤必须有确切的定义;输入:输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身没有输入;输出:输出:一个算法有一个或多个输出,以反映对输
11、入数据加工后的结果。没有输出的算法是毫无意义的;可行性可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。5.2 程序设计与算法算法的评价算法的评价 一个算法的评价主要从时间复杂度和空间复杂度来考虑,时间复杂度用于度量算法执行的时间长短;而空间复杂度用于度量算法所需存储空间的大小。计算机软件5.1 计算机语言5.2 程序设计与算法5.3操作系统概述5.4 典型操作系统介绍5.5 典型应用软件介绍 5.3操作系统概述操作系统的定义操作系统的定义 操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以及方便用户的程序集合。从资源管理的角度,操作系统被划分成处
12、理机管理、存储管理、设备管理、文件管理及用户接口。5.3操作系统概述操作系统的功能操作系统的功能 进程管理进程管理 进程管理也称处理机管理。在处理机管理中,为了提高CPU的利用率,操作系统采用了多道程序设计技术。为了描述多道程序的并发执行,引入了进程的概念,通过进程管理协调多道程序之间的关系,解决对处理机的调度分配及回收等问题。进程管理可以分为以下几个方面:进程控制进程控制进程同步进程同步进程通信进程通信进程调度进程调度 5.3操作系统概述操作系统的功能操作系统的功能 存储管理存储管理 存储管理要管理的资源是内存储器(简称内存)。它的任务是方便用户使用内存,提高内存的利用率以及从逻辑上扩充内存
13、内存管理包括以下几个方面:内存分配内存分配 地址映射地址映射 内存保护内存保护 内存扩充内存扩充 5.3操作系统概述操作系统的功能操作系统的功能 设备管理设备管理 设备管理是操作系统中最庞杂、最琐碎的部分,设备管理需要提供的功能有:设备分配设备分配 设备控制设备控制 设备的无关设备的无关 5.3操作系统概述操作系统的功能操作系统的功能 文件管理文件管理 程序和数据等信息是以文件的形式存储在计算机中的,所以信息资源管理也称文件管理。文件管理要解决的问题是,向用户提供一种简便、统一的存取和管理信息的方法,并同时解决信息的共享、安全保密等问题。为此,文件管理的主要功能应具有:文件存储空间的管理文件
14、存储空间的管理 目录管理目录管理 文件的读写管理文件的读写管理 文件的存取控制文件的存取控制 5.3操作系统概述操作系统的功能操作系统的功能 操作系统接口操作系统接口 为了方便用户使用操作系统,操作系统向用户提供了用户与操作系统的接口,该接口分为命令接口和程序接口。5.3操作系统概述操作系统的特征操作系统的特征 并发性并发性 共享性共享性 虚拟性虚拟性 不确定性不确定性 计算机软件5.1 计算机语言5.2 程序设计与算法5.3操作系统概述5.4 典型操作系统介绍5.5 典型应用软件介绍 5.4 典型操作系统介绍 DOS操作系统操作系统 UNIX操作系统操作系统 Linux操作系统操作系统 Windows操作系统操作系统 计算机软件5.1 计算机语言5.2 程序设计与算法5.3操作系统概述5.4 典型操作系统介绍5.5 典型应用软件介绍 5.5 典型应用软件介绍 办公软件办公软件 图像处理图像处理 防火墙和杀毒软件防火墙和杀毒软件 压缩软件压缩软件 下载工具下载工具