版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机系统的软件第一页,共一百三十七页,编辑于2023年,星期五教学章节计算机软件概述3.1算法与数据结构3.2程序设计语言3.3编译原理3.5操作系统3.6软件工程3.7数据库系统3.4第二页,共一百三十七页,编辑于2023年,星期五教学目的本讲主要介绍计算机软件的基本概念,对计算机软件有总体上了解教学重点与难点
软件定义软件分类计算机系统的组成3.1计算机软件概述第三页,共一百三十七页,编辑于2023年,星期五教学引入
在第二章,我们学习了计算机的内部组成,那么是谁控制这些硬件让它为我们服务?
返回下一页第四页,共一百三十七页,编辑于2023年,星期五程序作为商品以有形介质为载体进行交易,称做软件。即软件是指为运行、维护、管理及应用计算机所编制的所有程序及其文档资料的总和。软件的特性:
软件是功能、性能相对完备的程序系统软件是具有使用性能的软设备软件是信息商品软件是一种只有过时而无“磨损”的商品3.1.1什么是软件P106上一页
返回下一页第五页,共一百三十七页,编辑于2023年,星期五系统软件:软件制售商为释放硬件潜能、方便使用而配备的软件。OS、语言编译/解释系统、网络软件、数据库管理软件、各种服务程序、界面工具箱等支持计算机正常运作和“通用”的软件。应用软件:指解决某一应用领域问题的软件。财会软件、通信软件、科技计算软件、CAD/CAM软件等。3.1.2软件的分类P107上一页
返回下一页第六页,共一百三十七页,编辑于2023年,星期五硬件软件信息(数据、指令)的编码门、逻辑电路、集成电路存储器、CPU、输入/输出设备工具软件、语言翻译程序办公软件、财务软件……操作系统:计算机的管家系统软件层应用软件层QQ、电子邮件、Google……
网络化与通信计算机系统的分层结构补充用计算机解决真实世界问题让计算机能够良好运转起来第七页,共一百三十七页,编辑于2023年,星期五常用软件简介操作系统群件系统办公软件系统工具软件管理计算机系统的软硬件资料,合理地组织计算机工作流程,并为用户使用计算机提供良好的工作环境一类日常办公的软件编程语言一般是以一个集成环境的形式出现的。如:VisualStutio可以帮助操作系统更有效地完成系统的管理和维护。如反病毒软件程序开发工具Internet工具软件多媒体处理数据库信息管理核心,如Access、SQLServer在CPU一级提供多媒体指令,实现对多媒体直接支持基于网络环境和Internet环境的应用软件,如Web服务器、FTP一种基于电子邮件的应用系统软件,它拓宽了电子邮件的内涵,涵养了很多通信协作功能第八页,共一百三十七页,编辑于2023年,星期五单击“开始”按钮,将鼠标指针移至选定的菜单项即可。用户只需双击桌面快捷图标,即可启动该软件对于具有自动安装程序(autorun.exe)的软件,用户单击安装画面中的“安装”或“下一步”按钮即可。对于不具有安装程序功能的软件,其安装方法是找到软件的安装程序setup.exe或install.exe)文件,双击此文件并按提示回答问题即可完成安装。软件安装软件启动软件删除安装软件后,其子菜单项已有“卸载×××”或“Un-install×××”,可直接选中该菜单项,然后按照提示执行即可。通过“控制面板”中的“添加或删除程序”进行删除。常用软件的使用方法补充上一页
返回下一页第九页,共一百三十七页,编辑于2023年,星期五3.1.4计算机系统的组成P108-109上一页
返回下一页图3-1计算机系统的组成图3-2计算机系统的体系结构第十页,共一百三十七页,编辑于2023年,星期五教学目的
本讲主要介绍算法和数据结构的基本概念,以及几种常用的数据结构教学重点与难点1.算法的基本概念2.线性表3.栈4.队列5.树3.2算法与数据结构第十一页,共一百三十七页,编辑于2023年,星期五教学引入
计算机内部有很多数据需要我们处理,那么计算机是按照什么形式处理这些数据的?
返回下一页第十二页,共一百三十七页,编辑于2023年,星期五典型问题排序问题n皇后问题汉诺塔问题旅行商问题3.2.1为什么要学习算法与数据结构第十三页,共一百三十七页,编辑于2023年,星期五问题的描述建立数学模型算法设计算法的正确性证明算法分析算法的程序实现2.计算机求解问题的过程第十四页,共一百三十七页,编辑于2023年,星期五算法+数据结构=程序对算法的研究主要包括两方面内容:一是如何设计算法,常用的算法设计方法有分治递归、贪心法、回溯法、动态规划、分支限界等;二是对给定算法,如何分析它的效率和性能。数据的结构分为逻辑结构和物理结构逻辑结构反映数据成员之间的逻辑关系物理结构反映数据成员在计算机内部的存储安排。3.学习算法与数据结构的意义第十五页,共一百三十七页,编辑于2023年,星期五算法概念算法原意指计算步骤或规则在计算机科学中,算法指用计算机求解某一问题的方法算法特征3.2.2算法基础P113第十六页,共一百三十七页,编辑于2023年,星期五算法描述自然语言描述 ---P115流程图描述 ---P115-P115伪代码描述 ---P116算法结构顺序结构 ---P116选择(分支)结构 ---P117循环结构 ---P117-P1183.2.2算法基础(序)第十七页,共一百三十七页,编辑于2023年,星期五书名作者名登录号分类号出版年月计算机病毒危机相杰超920253TP306/1092.5实用数据结构霍义兴871470TP31/7187.1计算机系统结构苏东庄841153TP303/1284.1数字逻辑王玉龙875027TP315/2087.5……………例子:图书书目表上一页
返回下一页第十八页,共一百三十七页,编辑于2023年,星期五数据定义:一切可输入计算机并能为计算机所处理的描述客观事物的符号,称为数据。在计算机中,数据的定义是广泛的,数、字符、图形、声音都可是计算机处理的对象,统称为数据分类数值数据:应用于科学计算的程序,它们的组织较为简单,如变量,数组,简单表等。关心的是计算速度与精度。非数值数据:应用于商业或管理的程序,它们组织较为复杂,关心的是按什么规则组织数据,使其占空间少,存取快,并有利于维护(增删、修改)3.2.3数据结构基础P121
数据结构就是一门研究非数值性程序设计中计算机操作的对象以及它们之间的关系和运算等的学科。上一页
返回下一页第十九页,共一百三十七页,编辑于2023年,星期五数据类型:数据的定义域。常见的数据类型有字符型、整数型、逻辑型、数组、集合、记录等。数据项(dateitem):数据不可分割的最小单位。数据元素(dateelement):数据的基本单位(或称记录)。数据对象(dataobject):它是具有相同特性的数据元素的集合。如整数数据对象的集合。数据结构(datastructure):数据元素之间的相互关系及在计算机中的存储表示。1.基本概念P122上一页
返回下一页第二十页,共一百三十七页,编辑于2023年,星期五书名作者名登录号分类号出版年月计算机病毒危机相杰超920253TP306/1092.5实用数据结构霍义兴871470TP31/7187.1计算机系统结构苏东庄841153TP303/1284.1数字逻辑王玉龙875027TP315/2087.5……………数据项数据元素数据例子:图书书目表第二十一页,共一百三十七页,编辑于2023年,星期五数据的逻辑结构:指数据元素之间的逻辑关系,它与数据在计算机中的存储方式无关。线性结构。数据之间存在前后顺序关系,除第一个元素和最后一个元素外,其他结点都有唯一一个前驱和一个后继结点(一对一关系)。包括数组、链表、栈和队列等。树形结构。数据之间存在顺序关系,除了一个根结点外,其他结点都有唯一一个前驱结点,且可以有多个后继结点(一对多关系)。网状结构。每个结点都可以有多个前驱和多个后继结点(多对多关系)3.2.3数据结构(序)上一页
返回下一页第二十二页,共一百三十七页,编辑于2023年,星期五数据的存储结构:指数据的逻辑结构到计算机存储器的映像。顺序存储结构:将逻辑上相邻数据元素存储在物理上相邻的存储单元里。它主要存储线性结构的数据。结点之间的关系由物理相邻关系决定,结点中只有信息域,所以存储密度大,空间利用率高。数据结构中第i个结点的存储地址可由以下公式求得Li=L0+(i-1)×k插入、删除运算会引起相应结点的大量移动。链式存储结构:将逻辑上相邻的两个数据元素存放在物理上不相邻的存储单元中。结点中除数据外,还有表示链接信息的指针域,因此与顺序存储结构相比,占用更大的存储空间。逻辑上相邻结点物理上不一定相邻,可用于线性表、树、图等多种逻辑结构存储插入、删除等操作灵活方便,不需要大量移动结点,只需修改结点的指针值即可3.2.3数据结构(序)上一页
返回下一页第二十三页,共一百三十七页,编辑于2023年,星期五顺序存储结构
返回第二十四页,共一百三十七页,编辑于2023年,星期五链式存储结构
返回第二十五页,共一百三十七页,编辑于2023年,星期五定义线性表(LinearList)是n个数据元素的有限序列(a1,a2,…,ai,…,an)。其中元素ai可以是一个数、或是一个符号、也可以是更复杂的信息。性质同一线性表中的元素必定属于同一类数据对象;除a1元素外,每个元素都仅有一个直接前趋;除an元素外,每个元素都仅有一个直接后继;各元素的下标表示了该元素在线性表中的位置。2.线性表P123上一页
返回下一页第二十六页,共一百三十七页,编辑于2023年,星期五数组。它是n个类型相同的数据元素构成的序列,它们连续存储在计算机的存储器中,且数组中的每个元素占据相同的存储空间。对数组的描述通常包含下列5种属性数组名称。声明数组第一个元素在内存中的起始位址。维度。每一元素所含数据项的个数,如一维数组、二维数组等。数组下标。元素在数组中的储存位置。数组元素个数。是数组下标上限与数组下标下限的差+1。数组类型。声明此数组的类型,它决定数组元素在内存所占有的空间大小。2.线性表(序)上一页
返回下一页第二十七页,共一百三十七页,编辑于2023年,星期五链表。它是0个或多个称为结点的元素构成的序列,每个结点除了存储数据外还包含一个或多个称为指针的链接,指向链表中其他元素。2.线性表(序)上一页
返回下一页第二十八页,共一百三十七页,编辑于2023年,星期五线性表的顺序存储结构下的基本操作:将元素a6删除:在a6与a7之间插入一个元素x第二十九页,共一百三十七页,编辑于2023年,星期五线性表链式存储结构下的基本操作:插入一个元素:现要在a3与a4之间插入一个元素x,元素x的存储位置是021删除一个元素:现要将a3元素删除第三十页,共一百三十七页,编辑于2023年,星期五栈结构定义:一种插入和删除操作都只能在尾端进行的线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。特点:是一种后进先出(LIFO)的线性表,也就是说,栈的操作是按后进先出(LIFO:LastInFirstOut)的原则进行的。栈的存储结构:顺序存储:占有一片连续的存储空间链式存储:也称为链栈,它是一种限制运算的链表,即规定链表中的插入和删除运算只能在链表开头进行。2.线性表(序)重点上一页
返回下一页第三十一页,共一百三十七页,编辑于2023年,星期五栈的顺序存储结构栈的链式存储结构上一页
返回下一页第三十二页,共一百三十七页,编辑于2023年,星期五a1a2an-1an…栈底栈顶入栈出栈入栈和出栈的动画演示上一页
返回下一页第三十三页,共一百三十七页,编辑于2023年,星期五队列定义:仅允许在一端进行插入,另一端进行删除的线性表,称为队列(queue)。允许插入的一端称为队尾(rear),允许删除的一端称为队头队列的特点:先进先出(FIFO)。队列的存储结构:顺序结构、链式结构2.线性表(序)上一页
返回下一页第三十四页,共一百三十七页,编辑于2023年,星期五顺序存储结构:将队列中元素全部存入一个一维数组中,数组的低下标一端为队头,高下标一端为队尾,将这样的队列看成是顺序队列。若一维数组中所有位置上都被元素装满,称为队满,即尾指针rear指向一维数组最后,而头指针指向一维数组开头,称为队满。链式存储结构:称为链队列,可以用带头结点的单链表作为队列的链式存储结构。frontABCDErear队列的存储结构上一页
返回下一页第三十五页,共一百三十七页,编辑于2023年,星期五出队列a1a2…an入队列队头队尾入队列和出队列的动画演示上一页
返回下一页第三十六页,共一百三十七页,编辑于2023年,星期五
一个图G=<V,D>是一个数据结构,它由两部分组成:一个有限集合V,它的元素称为顶点;另一个有限集合E,它的元素由顶点对构成,称为边。如果每对顶点之间都没有顺序,也就是说,顶点对(u,v)和顶点对(v,u)是相同的,我们说图G是无向的,如图(a)所示。否则,称为有向的,边<u,v>的方向是从顶点u到达顶点v,如图(b)所示。
3.图的概念P125上一页
返回下一页第三十七页,共一百三十七页,编辑于2023年,星期五3.图的表示方法P126上一页
返回下一页邻接矩阵:n个顶点的邻接矩阵是一个n×n阶的布尔矩阵,用来表示图的结点间的相邻关系。邻接表:是链表一个集合,其中每一个顶点用一个邻接链表表示,该链表包含了和这个顶点邻接的所有顶点(即所有和该顶点有边相连的顶点)第三十八页,共一百三十七页,编辑于2023年,星期五3.图的表示方法P126上一页
返回下一页赋权图:图的每条边对应一个数值,在实际应用中这些数值往往是距离、运费、时间等。这些值称为边的权或成本。邻接矩阵。当存在一条从结点i到结点j的边时,矩阵元素aij的值就是这条边的权重;当不存在这样一条边时,则用一个特殊符号表示。邻接表。邻接表的结点中不仅包含邻接结点的名字,还必须包含相应的边的权重。第三十九页,共一百三十七页,编辑于2023年,星期五4.树上一页
返回下一页树和森林:连通无回路的图称为树,如图a所示。有的图虽然不是树,但它的每个子图(连通分支)是树,则称为森林,如图b所示。树有两个性质:树的边数=树的顶点数减1。树的任意两个顶点之间有且仅有一条通路。图a树示例图b森林示例第四十页,共一百三十七页,编辑于2023年,星期五4.树(序)上一页
返回下一页根树:任选树的一个顶点,将它作为树的根。在对根树的描述中,根通常放在最顶上(树的第0层),与根邻接的顶点放在根的下面(第1层),再下面是和根距离两条边的顶点(第2层),然后依此类推。第四十一页,共一百三十七页,编辑于2023年,星期五内部结点与叶子结点:除根结点外,有后继的结点称为内部结点没有后继的结点称叶子结点(或树叶)父结点与子结点:某结点的上层结点称为它的父结点;把其下层结点称为孩子结点树的深度:从根结点算起的树的层次。树的高度:是从根到叶结点的最长路径的长度。上一页
返回下一页第四十二页,共一百三十七页,编辑于2023年,星期五5.有序树上一页
返回下一页有序树:是一棵根树,树中每一顶点的所有子女都是有序的。二叉树:有序树中所有顶点的子女个数都不超过两个的称为二叉树,并且每个子女不是父母的左子女就是父母的右子女。第四十三页,共一百三十七页,编辑于2023年,星期五顺序存储结构:存放在一组连续的存储单元中。链式存储结构:每个结点至少包含三个域:数据域,左指针域,右指针域。二叉树的存储结构第四十四页,共一百三十七页,编辑于2023年,星期五教学小结
数据结构的基本概念线性表栈队列树作业P1951、2、7、9、10、13、15。
返回上一页第四十五页,共一百三十七页,编辑于2023年,星期五教学目的
本讲主要介绍程序设计语言的发展、面向对象程序设计教学重点与难点1.程序设计语言发展2.面向对象程序设计
3.3程序设计语言第四十六页,共一百三十七页,编辑于2023年,星期五计算机可以直接识别和执行,效率高指令的二进制代码难记住,人工编写机器语言很繁琐,易出错不同的计算机有不同的机器语言,因而通用性很差。面向过程的第四代语言。如SQL、PB、Delphi。面向对象的编程语言和网络语言,如VB、VB、C++、HTML和Java。各种软件开发工具,如CASE不能为计算机硬件直接识别与执行,必须通过汇编器的系统软件“汇编”,才能被硬件执行。汇编语言指令与机器语言指令一一对应,为低级语言不同的计算机具有不同的汇编语言,记忆指令助记符较记忆指令二进制代码容易,但仍然繁琐。用高级语言编写的源程序必须通过“翻译”生成目标程序,才能被计算机所执行。不同计算机只要配备某种高级语言编译程序,可运行该高级语言源程序,通用性强与一般的自然语言相比,具有严格、小巧、没有二义性特点第一代语言第二代语言第三代语言第四代语言第五代语言智能化语言,如PROLOG3.3.1程序设计语言发展概述P129重点上一页
返回下一页第四十七页,共一百三十七页,编辑于2023年,星期五FORTRANCOBOLPASCAL
C过程化编程语言面向对象编程语言面向人工智能的语言专用语言常用程序设计语言
C++
JavaHTMLSQLLISP语言Prolog上一页
返回下一页第四十八页,共一百三十七页,编辑于2023年,星期五概述面向过程的程序中,程序划分成一个主模块和若干个子模块。数据公用数据与代码相互分离面向对象程序中,将数据以及处理这些数据的例程全部封装在一起形成一个类。3.3.3面向对象程序设计P141上一页
返回下一页第四十九页,共一百三十七页,编辑于2023年,星期五对象对象名:对象的唯一标识。属性:数据成员。方法:对数据的一种操作。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象。属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。对象、方法和消息“消息”是程序语句实现的一个命令。对象间的联系通过消息来完成。方法可以通过外界发“消息”来激活。面向对象的基本概念P120上一页
返回下一页第五十页,共一百三十七页,编辑于2023年,星期五面向对象程序语言特征
继承性多态性封装性将数据和操作这些数据的方法代码组织到一起,即将数据和方法放在同一个对象中,可提高数据的安全性一个接口能够做多种用途,而其特定的用途由其特定的环境所决定一个新类可以从现有的类中派生出来,新类具有父类中的所有特性,直接继承了父类的数据和方法上一页
返回下一页第五十一页,共一百三十七页,编辑于2023年,星期五教学目的对数据库系统作进一步的介绍,包括数据库系统特点、数据库管理系统的组成和分类,使大家对数据库系统有进一步的了解。
教学重点与难点数据库创建数据库操作3.4数据库系统第五十二页,共一百三十七页,编辑于2023年,星期五数据库DB:以一定方式存储的相互关联的数据的集合。数据库管理系统DBMS:一种介于用户和操作系统之间的数据库管理软件,其职能是维护数据库,接受并完成用户程序或命令提出的对数据进行输入、编辑、排序、检索、合并和输出等操作请求数据库系统:由数据库、数据库管理系统和用户组成3.4.1数据库系统的基本概念P146上一页
返回下一页第五十三页,共一百三十七页,编辑于2023年,星期五数据库图书馆数据图书外存书库用户读者数据模型书卡格式数据库管理系统图书馆管理员数据的物理组织方法图书存放方法用户对数据库的操作读者对图书馆的访问(使用数据操纵语言对数据借书、还书等检索、插入、删除、修改)数据库系统与图书馆的比较上一页
返回下一页第五十四页,共一百三十七页,编辑于2023年,星期五层次模型满足的条件:有一个记录类型没有父结点。其它记录类型有且只有一个父结点。3.4.2数据模型P146上一页
返回下一页第五十五页,共一百三十七页,编辑于2023年,星期五网状模型满足的条件:
有一个以上记录类型没有父结点。至少有一个记录类型多于一个父结点3.4.2数据模型(序)上一页
返回下一页第五十六页,共一百三十七页,编辑于2023年,星期五关系模型满足的条件:事物与事物之间的联系用二维表格的形式来描述。表中每一行是一个记录,在关系中称为元组;表中每一列是一个字段,在关系中称为属性。3.4.2数据模型(序)上一页
返回下一页第五十七页,共一百三十七页,编辑于2023年,星期五基本概念:表:存储和管理数据的基本单元。它是一种格式化的二维数组。字段:二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。字段类型:字段的数据类型及其长度。记录:是一组相关数据项的集合,用于描述一个对象在某方面的属性。主键:能够唯一确定表中的一条记录的一个或几个字段。外键:关系中某个属性或属性组合并非主键,但却是另一个关系的主键,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。索引:提供对数据项的快速访问。关系数据库上一页
返回下一页补充第五十八页,共一百三十七页,编辑于2023年,星期五属性名主键记录(行)字段(列)字符串整数文本文本日期型字段类型基础科学1986/03/26女汤晓影0003工商管理1987/12/25男李明0002计算机1986/09/02男陆宇0001所在学院出生日期性别姓名学号关系关系数据模型第五十九页,共一百三十七页,编辑于2023年,星期五学生与所在系的关系系与负责人的关系学生、课程与成绩的关系学号学生名系名940101940202940301940401……
李春梅刘
力陈文秀徐
兵
……
计算机系自动化系机械系化工系……
学号课程名成绩940101940202940301940401::C语言FORTRANPASCALPASCAL::95867490::系名系主任名计算机系
自动化系机械系化工系……
郑
敏李龙江金剑齐晶……
上一页
返回下一页第六十页,共一百三十七页,编辑于2023年,星期五数据定义语言DDL:用来定义数据库的数据模型数据操作语言:用来表达用户对数据库的操作请求。查询数据库中的信息向数据库插入新的信息从数据库中删除信息修改数据库中的信息SQL语言是一个通用型的、功能强大的关系数据库语言数据定义语句:数据库的定义由CREATETABLE、ALTERTABLE和DROPTABLE3种语句构成。数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库查询数据更新语句的作用是在当前表中添加、删除和修改记录。包括INSERT、DELETE和UPDATE三条语句。3.4.3数据库语言P149上一页
返回下一页第六十一页,共一百三十七页,编辑于2023年,星期五设计步骤需求分析:调查、收集和分析用户对数据库的需求概念结构设计:将用户的数据需求抽象为概念模型逻辑结构设计:把概念阶段设计好的概念模型E-R图,按照一定的方法转换为某个数据库管理系统能支持的数据库逻辑结构(数据模型)物理结构设计:在逻辑数据库设计的基础上,为每个关系模式选择合适的存储结构和存取方法应用程序设计:对系统功能及数据操作进行分析,按照模块化、结构化程序设计方法对系统的应用功能进行规划,并设计实现。系统运行与维护:对所有可能出现的问题,开发人员和使用人员要共同分析原因,并及时加以改正。3.4.4数据库设计(序)上一页
返回下一页第六十二页,共一百三十七页,编辑于2023年,星期五SQLServerAccessPowerBuilderSybaseVisualFoxProOracle常用数据库开发平台第六十三页,共一百三十七页,编辑于2023年,星期五数据库发展史文件系统阶段人工管理阶段关系数据库系统上一页
返回下一页第六十四页,共一百三十七页,编辑于2023年,星期五65主要是指50年代中期以前的这段时间,此时的计算机还很简陋,连完整的操作系统都没有。因此,数据只能放在卡片上或其他介质上,由人来手工管理。
人工管理阶段上一页
返回下一页第六十五页,共一百三十七页,编辑于2023年,星期五66主要是指50年代后期到60年代中期的这段时间,计算机开始用于信息管理;数据可以长期保存在磁盘上,但文件仍然面向应用,难以共享,独立性差。文件系统阶段上一页
返回下一页第六十六页,共一百三十七页,编辑于2023年,星期五67与文件系统相比的优点:数据是结构化的面向系统,减少了数据冗余可以用数据结构化查询语言对数据库中的数据进行操作关系数据库系统上一页
返回下一页第六十七页,共一百三十七页,编辑于2023年,星期五XML/RDBMS混合数据处理将在未来得到快速的发展数据集成和数据仓库将向内容管理过渡基于Internet的自动化管理支持商业智能成重点数据库技术与多学科技术的有机结合2.数据库技术发展趋势P154上一页
返回下一页第六十八页,共一百三十七页,编辑于2023年,星期五数据库管理系统的分类关系数据库数据库的发展历史现阶段常用数据库简介数据库技术的新发展P19517、18、19、20教学小结作业
返回上一页第六十九页,共一百三十七页,编辑于2023年,星期五教学目的介绍高级语言源程序是如何被计算机识别,对编译原理有大致了解教学重点与难点
编译过程的6个阶段3.5编译原理第七十页,共一百三十七页,编辑于2023年,星期五教学引入
我们向计算机编写的代码如何被计算机识别?
返回下一页第七十一页,共一百三十七页,编辑于2023年,星期五
编译程序是实现将源程序“翻译”为目标程序的系统软件,它由若干个程序组成,故又称为编译系统。翻译外文资料的大致过程:识别单词语法分析初译加工高级语言程序(源程序.C)C语言编译器连接装配程序运行机器语言程序目标程序
.obj可执行程序
.exe结果上一页
返回下一页第七十二页,共一百三十七页,编辑于2023年,星期五词法分析:对源程序逐个字符地进行扫描,以识别出各个单词符号,并分别归类。语法分析:根据程序设计语言的语法规则,将词法分析器所提供的单词符号串构成一个语法分析树。语义分析:检查各句子的语法树。中间代码的生成:向目标代码过度的一种编码,其形式尽可能和机器的汇编语言相似,以便于下一步的代码生成。代码优化:对中间代码程序做局部或全局优化,可使最后生成的目标代码程序运行更快,占用存储空间更小。目标代码生成:由代码生成器生成目标机器的目标代码程序,并完成数据分段、选定寄存器等工作,然后生成机器可执行的代码。高级语言源程序的执行过程重点上一页
返回下一页第七十三页,共一百三十七页,编辑于2023年,星期五高级语言的单词属性的类型:基本字(保留字)标识符(如变量名、数组名、过程名等)常数运算符+-*/><=andor等界符,。;()等词法分析器在识别出一个单词符号后,便以一种二元式的形式输出,其格式如下:(单词种别,单词自身的值)常用识别方法:状态转换图分析法;状态矩阵分析法;确定有限状态自动机分析法;3.5.2词法分析上一页
返回下一页第七十四页,共一百三十七页,编辑于2023年,星期五依据一定算法,实现语法分析的程序,称作语法分析器常见语法分析的方法:算符优先分析法
基本原理:就是基于对程序设计语言中所有运算符号之间的优先级别比较,完成对表达式的语法分析的。
要求:构造一张算符优先表,并建立两个工作栈和一个符号寄存器。3.5.3语法分析上一页
返回下一页第七十五页,共一百三十七页,编辑于2023年,星期五算符优先表上一页
返回下一页第七十六页,共一百三十七页,编辑于2023年,星期五若该单词是操作数则将它压入操作数栈中。
若该单词是运算符,则将它与运算符栈栈顶运算符的优先级进行比较:若当前运算符>栈顶运算符,则将其压入运算符栈;若当前运算符<栈顶运算符,则弹出栈顶运算符和操作数栈中的相应操作数,完成其运算,并把计算结果压入操作数栈中;若当前运算符=栈顶运算符,则弹出运算符栈的栈顶符号,并读入下一单词,什么计算也不进行。反复执行上述过程,直至句末符“#”,操作数栈中只剩下一个结果值,表明分析正确。否则出错。算符优先分析法(具体算法)第七十七页,共一百三十七页,编辑于2023年,星期五中间代码的定义中间代码是一种结构简单、含义明确的记号系统,它的表现形式应该既有利于后阶段的代码优化,又要在逻辑上便于理解和最终机器(目标)指令代码生成。常用的中间代码形式三元式四元式逆波兰式3.5.4中间代码生成上一页
返回下一页第七十八页,共一百三十七页,编辑于2023年,星期五三元式表示:
(OPARG1ARG2)即:(运算符第一运算项第二运算项)例:对于K=(I+J)*K可翻译成:(1)+IJ(2)*(1)K(3)=K(2)三元式表示实质上是一种树形结构的矩阵描述,它等价于上面语法树。三元式上一页
返回下一页第七十九页,共一百三十七页,编辑于2023年,星期五表示:(OPARG1ARG2RESULT)(运算符第一运算项第二运算项运算结果)例:对于K=(I+J)*K可翻译成:
+IJT1*T1KT2=T2K四元式与三元式的相似与区别相似:排列顺序和实际计算顺序相同区别:四元式之间的联系是通过临时变量实现的,较三元式易于改变,有利于后一阶段的代码优化操作。四元式上一页
返回下一页第八十页,共一百三十七页,编辑于2023年,星期五逆波兰表示法是一种把运算符号写在运算项之后的表示方法,也称后缀表示法:例:a+b可表示为→ab+a*b可表示为→ab*对于赋值语句K=(I+J)*K,可翻译成→IJ+K*K=逆波兰上一页
返回下一页第八十一页,共一百三十七页,编辑于2023年,星期五代码优化的分类及常用方法逻辑优化(纯代码优化):在目标代码生成之前,对语法分析后的中间代码进行优化,主要完成程序结构上的等价变换。在生成目标代码过程中,根据机器所提供的设备条件,为充分利用机器指令系统和通用寄存器等而进行的优化,这类优化于具体的机器有关。常用方法删除多余的运算、合并已知量、代码外提、强度削弱、变换循环控制条件、复写传播、删除无用赋值等。物理优化与具体的机器有关。3.5.4代码优化上一页
返回下一页第八十二页,共一百三十七页,编辑于2023年,星期五例如,有代码序列:A=B+C+DE=B+C+F┆W=B+C+Y删除多余的运算可优化为:T=B+CA=T+DE=T+F┆W=T+Y代码优化(举例)上一页
返回下一页第八十三页,共一百三十七页,编辑于2023年,星期五基本概念把语法分析后生成的中间代码或经过代码优化后的中间代码变换成目标代码目标代码一般有以下三种形式可立即执行的机器语言代码,代码中的所有地址已是真正的机器指令地址。待装配的机器语言模块。当需要执行时,由连接装配程序把它们和某些运行程序连接起来,转换成能执行的机器语言代码汇编语言代码,运行时尚需经过汇编程序汇编,转换成可执行机器语言代码目标代码生成时应着重解决两个问题如何使生成的目标代码尽量短;如何充分利用计算机的寄存器,以减少目标代码中访问内存的次数。3.5.6目标代码生成上一页
返回下一页第八十四页,共一百三十七页,编辑于2023年,星期五表格管理的主要任务就是对各类编译信息进行登录、查询和更新等工作。出错处理的主要任务是对程序中所包含的各种错误(如语法,语义错误等)进行诊断和处理。常能处理的错误有如下三种:不正确地使用语言的各种成分。输入和书写时可能出现的错误。超出编译程序或计算机的某些限制,如数组维数太多、下标越界、数组占用空间太大等。可分为语法和语义错误两大类。
语法错误是指程序结构不符合词法或语法规则。语义错误是指程序结构不符合语义规则或超越具体计算机系统的限制。3.5.7表格管理和出错处理上一页
返回下一页第八十五页,共一百三十七页,编辑于2023年,星期五处理源程序错误的方法有两种:一是试图对错误进行校正;二是尽可能把错误限制在一个局部范围内,避免这种错误影响程序其他部分的分析和检查。3.5.7表格管理和出错处理(序)上一页
返回下一页第八十六页,共一百三十七页,编辑于2023年,星期五词法分析语法分析语义分析与中间代码产生优化目标代码生成
P19523补充:写出赋值语句y=(A+2*B)-4*C的三种中间代码形式。教学小结作业
返回上一页第八十七页,共一百三十七页,编辑于2023年,星期五教学目的
本讲主要介绍操作系统的定义、分类、功能教学重点与难点操作系统分类操作系统功能3.6操作系统第八十八页,共一百三十七页,编辑于2023年,星期五计算机硬件系统软件应用软件用户按下
‘P’
键Hi,OS,发生了一个事件:‘P’
键被按下了!Hi,财务系统,键盘输入的是‘P’,看着办吧!Hi,OS,打印我送到你那里的工资报表文件!Hi,激光打印机,把我送给你的数据打印出来!激光打印机开始打印应用软件、系统软件、硬件之间的关系第八十九页,共一百三十七页,编辑于2023年,星期五教学引入为什么计算机系统中要让处于不同层次的硬件、软件承担不同的职能?
返回下一页第九十页,共一百三十七页,编辑于2023年,星期五
操作系统:是由程序和数据结构组成的大型系统软件,它负责计算机的全部软硬件资源的分配、调度与管理,控制各类程序的正常执行,并为用户使用计算机提供良好的环境
从用户角度看:操作系统可以看成是计算机的硬件扩充人机交互方式来看:操作系统是用户与机器的接口管理者角度看:操作系统也是管理资源的程序扩充操作系统的概念上一页
返回下一页第九十一页,共一百三十七页,编辑于2023年,星期五五大类型批处理操作系统:用户布置任务后,直到运行结束无法干涉单道批处理系统多道批处理系统分时操作系统实时操作系统网络操作系统分布式操作系统传统现代操作系统的分类重点上一页
返回下一页第九十二页,共一百三十七页,编辑于2023年,星期五重要概念
单道:每次只调一个用户程序进入内存让它运行。多道:是指内存中驻留多个程序或一个程序的多个程序段。多重处理系统:一般指多CPU系统。终端:一个具有显示设备和键盘控制台,既是输入设备,又是输出设备。单道批处理系统:用户一次可以提交多个作业,系统逐个处理作业,一个作业处理完毕再处理另一个作业。多道程序设计技术:就是在内存中同时存放并运行几道相互独立的程序。它是一种宏观上并行,微观上串行的运行方式。多道批处理操作系统系统=批处理系统+多道程序设计技术;其优点是成批处理作业,提高了作业吞吐量、可靠性、计算能力、并行处理能力。缺点是缺乏交互性。主要运用在大计算量的科学计算上。批处理操作系统上一页
返回下一页第九十三页,共一百三十七页,编辑于2023年,星期五分时技术:将CPU的时间分成很短的时间片(几十毫秒-几百毫秒)轮流为每个用户工作,采用这种技术的操作系统称为分时操作系统。优点:系统交互性好、及时性、多用户同时性、每个终端的独占性缺点:用户的优先级不易控制。与批处理系统的区别批处理系统中,一个作业可以长时间占用CPU直至作业执行完成;分时系统中,一个作业只能在一个时间片的时间内使用CPU。分时操作系统上一页
返回下一页第九十四页,共一百三十七页,编辑于2023年,星期五实时操作系统要求计算机对外来信息能以足够快的速度进行处理,并在被控对象允许的时间范围内作出快速响应。主要应用在实时处理之中。优点:是响应速度快,可靠性高。缺点:交互能力差、资源利用率低。与分时系统的相似与区别:相似:均采用时间片分时技术,具有交互性和及时性。实时系统:一般是专用的,交互能力差、只允许用户访问数量有限的专用程序;系统响应时间短(微秒~毫秒)分时系统:具有很强的通用性,有很强的交互功能,允许用户运行或修改自己的应用程序;系统响应时间长(2~3秒)实时操作系统上一页
返回下一页第九十五页,共一百三十七页,编辑于2023年,星期五网络操作系统是通过通信设施将物理上分散的具有自治功能的多个计算机系统相互联起来,实现信息交换、资源共享、可互操作和协作处理的系统。示例:Netware、WindowsNT。网络软件配置:网络通信协议、网址(IP地址或域名地址)网络硬件配置:服务器、配置了网卡的工作站、路由器、交换机、HUB等。网络操作系统上一页
返回下一页第九十六页,共一百三十七页,编辑于2023年,星期五通过通信网络将物理上分布的具有自治功能的计算机系统互连起来,实现信息交换和资源共享、协作完成任务与网络操作系统的区别分布式系统网络系统协议没有制定标准一系列协议操作系统数量一个/或将多个操作系统统一管理独立的多个透明性系统对用户透明用户要了解细节联系程度逻辑上紧偶合系统松偶合分布式操作系统上一页
返回下一页第九十七页,共一百三十七页,编辑于2023年,星期五DOSMicrosoftWindowsUnixLinuxMacOS典型操作系统补充上一页
返回下一页第九十八页,共一百三十七页,编辑于2023年,星期五操作系统五大功能存储器文件设备作业处理器实现多道程序运行下对处理器的分配和调度,使一个处理器为多个程序交替服务,最大限度地提高CPU的利用率主存的分配与回收主存的保护主存的扩充主要包括对I/O设备的分配、启动、完成及回收。主要的技术:虚拟设备技术、屏蔽技术向用户提供实现作业控制的手段按一定策略实现作业调度又称为信息管理,它是对计算机的软件资源的管理,其中包括文件的存储、检索、共享、保护等的方法、技术及算法重点上一页
返回下一页第九十九页,共一百三十七页,编辑于2023年,星期五操作系统特性并发执行资源共享虚拟技术并发性也叫“共行性”,多个作业并发执行或一个用户作业的多个程序段间并发执行;多个输入输出设备间并发工作计算机系统的硬、软件资源可供多个拥有授权的程序或用户共同使用“虚拟”就是把物理实体映射为一个或多个逻辑实体.上一页
返回下一页第一百页,共一百三十七页,编辑于2023年,星期五主要功能解决多道程序运行下如何把CPU的工作时间合理、自动地分配给所要执行的各个程序,以提高CPU的利用率,并使用户满意。在操作系统中通常把CPU的管理分为两级:作业管理进程管理3.6.2处理器管理上一页
返回下一页第一百零一页,共一百三十七页,编辑于2023年,星期五作业(job):是用户提交给计算机系统的独立运行单位,它由程序极其所需数据和有关的命令所组成。经历四个阶段:作业及其状态转换上一页
返回下一页第一百零二页,共一百三十七页,编辑于2023年,星期五进程组成程序,数据,进程控制块(PCB)单击下面按钮进行运行演示进程概念12进程状态3进程及其状态的转换指一个程序在给定的工作空间和数据集合上的一次执行过程,它是操作系统进行资源分配和调度的一个独立单位就绪状态:该进程已获得除CPU之外的所有资源。执行状态:正在CPU上执行的进程。阻塞状态:需等待除CPU之外其他资源进程状态动画演示程序管理器第一百零三页,共一百三十七页,编辑于2023年,星期五提高CPU的利用率对进程时行“细分”,一个进程可再分为多个线程
Windows:线程是CPU的分配单位
UNIX:进程是CPU的分配单位
线程(threads)上一页
返回下一页第一百零四页,共一百三十七页,编辑于2023年,星期五查看线程方法补充上一页
返回下一页第一百零五页,共一百三十七页,编辑于2023年,星期五虚拟内存用硬盘空间模拟内存存储器分配地址的转换信息的保护程序员编写程序→内存中程序逻辑地址(从0开始)→物理地址分区法页式段式段页式存储管理多个进程共享存储器,分配、释放存储器进程需要的存储空间是变化的调进或调出进程移动进程功能常用方法分配地址转换保护防止一个进程的存储空间被其它的进程破坏软件和硬件结合的保护措施3.6.3存储管理第一百零六页,共一百三十七页,编辑于2023年,星期五基本原理在作业运行之前,不必将作业的所有页全部装入内存,只需先装入当前要运行的若干页。在运行过程中,一旦发现所需要的信息不在内存时,便请求系统分配一个存储块,然后将所需信息所在页从外存调入内存,并在页表中登录新调入的页号与其对应的块号。硬件支持足够外存容量、地址寄存器和地址重定位机构软件支持存储管理程序、实现该管理所需建立的各种表格虚拟存储技术第一百零七页,共一百三十七页,编辑于2023年,星期五设备的种类
设备功能资源分配所属关系传输特性输入/输出设备:用于信息输入/输出的设备存储设备:用于存储信息的外存储器系统设备:在操作系统生成时已配置于系统中的各种标准设备。用户设备:由用户自己提供的并由系统实施管理的非标准设备独享设备:一次只能分配给一个用户使用共享设备:多个用户可以交替使用的设备虚拟设备:把一台物理设备改造成若干台同类的虚拟设备块设备:信息按块来组织和处理的设备。字符设备:信息按字符为单位组织和处理的设备上一页
返回下一页第一百零八页,共一百三十七页,编辑于2023年,星期五设备管理即插即用设备驱动程序使用设备之前,该设备驱动程序必须被安装通用即插即用把设备连接到计算机上后无需手动配置可以立即使用。让计算机自动发现和使用基于网络的硬件设备,网络打印机、Internet网关和消费类电子设备。上一页
返回下一页第一百零九页,共一百三十七页,编辑于2023年,星期五文件的定义:文件是一个在逻辑上具有完整意义的一组相关信息有序集合文件系统:是指操作系统中专门负责存取和管理外存储器上文件信息的那部分软件的集合。文件目录文件的属性:
文件名:文件名.扩展名文件类型文件属性文件操作见名知意UNIX中大小写有区别Windows中大小写无区别
3.6.5文件管理上一页
返回下一页第一百一十页,共一百三十七页,编辑于2023年,星期五文件大小占用空间文件建立或修改的日期与时间所有者信息重要的属性有:
只读:文件只能读,不能修改或删除隐藏:在一般的情况下不显示存档:任何一个新创建或修改的文件都有存档属性。文件属性上一页
返回下一页第一百一十一页,共一百三十七页,编辑于2023年,星期五一个文件中所存储可能是数据,也可能是程序代码,不同格式的文件通常都会有不同的应用和操作。文件的常用操作有:建立文件打开文件写入文件删除文件属性更改文件操作上一页
返回下一页第一百一十二页,共一百三十七页,编辑于2023年,星期五文件目录(filedirectory)为每个文件设立一个表目。最简单的文件目录表目至少要包含文件名、物理地址、文件结构信息和存取控制信息等,以建立起文件名与物理地址的对应关系,实现按名存取文件。常用的文件目录结构单级目录结构二级目录结构多级目录结构文件目录上一页
返回下一页第一百一十三页,共一百三十七页,编辑于2023年,星期五单级文件目录上一页
返回下一页第一百一十四页,共一百三十七页,编辑于2023年,星期五二级文件目录上一页
返回下一页第一百一十五页,共一百三十七页,编辑于2023年,星期五多级文件目录上一页
返回下一页第一百一十六页,共一百三十七页,编辑于2023年,星期五文件命名约定文件组成:文件名:由一个单一的字母和数字集合,标示一个文件,通常描述了文件的内容。扩展名:描述文件的内容。文件名和扩展名间用•隔开。通配符*:用于替代一组字符?:用于替代一个字符文件名补充上一页
返回下一页第一百一十七页,共一百三十七页,编辑于2023年,星期五DOS和Win3.1Win95以上MacOSUNIX文件名最大长度8•3255•331个字符,无扩展名14~256字符,扩展名任意文件名与扩展名分隔字符••无•是否允许空格否是是否是否允许数字是是是是不允许的字符/[];=“\:.|*?/:“?<>|无!@#$%^&*()[]{}”’;<>保留字AUX、COM1、COM2、COM3、COM4、CON、LPT1、LPT2、LPT3、PRN、NULL无版本不同区分大小写否否是是---使用小写不同操作系统文件命名约定第一百一十八页,共一百三十七页,编辑于2023年,星期五文件类型扩展名说明可执行程序EXE、COM可执行程序文件源程序文件C、CPP、BAS程序设计语言的源程序文件Office文档DOC、XLS、PPTWord、Excel、Powerpoint创建的文档流媒体文件WMV、RM、QT能通过Internet播放的流式媒体文件压缩文件ZIP、RAR压缩文件网页文件HTM、ASP前者是静态的,后者是动态的图像文件BMP、JPG、GIF不同格式的图像文件音频文件WAV、MP3、MID不同格式的声音文件文件扩展名上一页
返回下一页第一百一十九页,共一百三十七页,编辑于2023年,星期五系统文件库文件用户文件按文件的用途分类按文件的保护级别分按文件信息的流向分文件的保存期限分文件分类只读文件读写文件自由文件临时文件永久文件档案文件输入文件输出文件输入输出文件上一页
返回下一页第一百二十页,共一百三十七页,编辑于2023年,星期五在计算机系统中,文件作为软件资源,有的可供事先规定的多个用户公用,称为文件的共享。只允许核准的用户使用而不准其它用户窃用的文件,称为文件的保密。不论什么文件,系统必须确保其安全,以防止硬件的偶然故障或人为地破坏所引起的文件信息的丢失,称为文件的保护实现文件保密的方法:存取控制矩阵口令密码文件的共享、保密与保护上一页
返回下一页第一百二十一页,共一百三十七页,编辑于2023年,星期五操作系统的基本功能处理机的管理存储器的管理设备管理的功能文件的结构和文件的组织管理方式
P19527、28、30、31、34、37、39教学小结作业
返回上一页第一百二十二页,共一百三十七页,编辑于2023年,星期五指出下列在Windows操作系统中,哪些文件名是合法的,不合法的违反了哪种命名规定?Wp.exepprresults*.docreport#1.txtcom1.tifMn43-44.dbfsep/4.bmpSmith&Smith.xlsAsiamap.doc2.假定你要从计算机上打开一个文件,文件是以D:\Data\Payables.xls存放的。请回答以下问题:文件名是什么?文件扩展名是什么?文件存储在哪个驱动器上?文件存放在哪个目录下?该文件是什么类型的文件?是否需要特定的软件程序来打开和观看文件?作业补充第一百二十三页,共一百三十七页,编辑于2023年,星期五教学目的
本讲主要介绍软件工程的定义、生命周期、模型教学重点与难点软件工程生命周期软件工程模型3.7软件工程第一百二十四页,共一百三十七页,编辑于202
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变更合同条款模板
- 北京机动车抵押合同模板
- 服装售后服务情景演练
- 统编版2024-2025学年四年级语文上学期第三次月考质量检测(原卷版+ 解析版 考查范围:第五六单元)
- 颅脑外伤急救治疗方法
- 糖尿病的常用药物
- 环境应急预案汇报
- 预防传染病和艾滋病
- 电气机械及器材行业相关投资计划提议范本
- 【初中地理】世界主要气候类型第一课时-2024-2025学年七年级地理上学期(湘教版2024)
- MOOC 国家安全概论-西安交通大学 中国大学慕课答案
- GB-T 9251-2022 气瓶水压试验方法(高清版)
- CTD格式申报对药品研发和审评的影响
- Q∕GDW 12176-2021 反窃电监测终端技术规范
- 8 煤矿安全监测监控系统PPT课件
- 新产品试制流程管理办法
- 通用横版企业报价单模板
- Excel 会计记账模板-录入凭证自动生成财务报表(超实用)
- 从高考“函数与导数”压轴题看数学学科核心素养
- 装修公司员工劳动合同
- 数控技术毕业论文幻灯片 数控立式铣床工作PPT学习教案
评论
0/150
提交评论