大学计算机信息技术第三章 计算机软件_第1页
大学计算机信息技术第三章 计算机软件_第2页
大学计算机信息技术第三章 计算机软件_第3页
大学计算机信息技术第三章 计算机软件_第4页
大学计算机信息技术第三章 计算机软件_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章计算机软件1学习目标与要求1.了解什么是计算机软件和计算机软件技术2.了解操作系统的作用、功能、常用操作系统和实用程序的种类3.描述计算机语言程序及它们的执行过程4.了解计算机软件基础理论所包含的内容、算法和数据结构的概念2计算机软件的内容从软件分支学科的内涵来讲,计算机软件所包含的内容可概括为:软件基础理论和算法构造计算机软件的方法学各种软件开发技术以及与此相关的开发工具33.1计算机软件及计算机软件技术43.1.1计算机软件5什么是计算机软件一个完整的计算机系统有两个 基本组成部分:硬件和软件计算机硬件:组成计算机各种物 理设备的总称计算机软件(ComputerSoftware):包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作。(ISO的定义)计算机软件示意图计算机软件程序规程规则文档6什么是计算机软件软件的三层含义(从科学概念上讲):个体含义,即上面所说的计算机系统中的程序、规程、规则及其文档整体含义,指在特定计算机系统中所有个体含义下的软件的总体学科含义,即指软件在研究、开发、维护以及使用中所涉及的理论、方法、技术所构成的学科,在这一意义上称为软件学7软件的分类从应用的角度出发,将软件分为:系统软件支撑软件应用软件8系统软件系统软件:给其他程序提供服务的程序集合(如各种操作系统、编译程序)系统软件的主要特征:与具体的应用领域无关,而与计算机硬件系统有很强的交互性,要对硬件共享资源进行调度管理。系统软件中的数据结构复杂,外部接口多样化,用户能够对它反复使用。9支撑软件支撑软件:用于支持软件开发与维护的软件。人们常把1970年代中、后期发展起来的软件开发环境作为支撑软件的代表,它主要包括数据库管理系统、各种接口软件、网络软件和工具组件,这些软件形成一个整体,协同支持各类软件的开发与维护。

10应用软件应用软件:针对多种应用需求出现的用于解决各种不同具体应用问题的专门软件。按照应用软件的开发方式和适用范围,应用软件可再分为:通用应用软件定制应用软件11主要通用应用软件类别和功能类别功能部分流行的软件名称文字处理文本编辑、文字处理、桌面排版等WPS、Word、Pagemaker、AcrobatReader电子表格表格定义、计算和处理等Excel、Lotus1-2-3等图形、图像图像处理、几何图形绘制等AutoCAD、Photoshop等网络通信电子邮件、网络文件管理、远程计算、浏览等OutlookExpress、Mail、CC-mail、IE简报软件幻灯片、演讲报告制作等Powerpoint、showpartner统计软件统计、汇总、分析等SPSS、SAS、BMDP12【2007真题】应用软件分为通用应用软件和定制应用软件两类,下列软件中全部属于通用应用软件的是___。

A.WPS、Windows、WordB.PowerPoint、MSN、UNIXC.ALGOL、Photoshop、FORTRAND.PowerPoint、Photoshop、Word133.1.2计算机软件的发展14计算机软件的发展

计算机软件的发展与计算机应用和硬件的发展互相推动和制约。软件的发展大致经历了三个主要阶段:(1)第一阶段(1940年代到1950年代中期)从第一台计算机上的第一个程序开始到实用的高级语言程序出现以前,是计算机软件发展初期。应用领域较窄:主要是科学与工程计算。处理对象:数值数据工作方式:个体;编程语言:使用低级语言编程人们对和程序有关的文档的重要性认识不足,重视编程技巧15计算机软件的发展(2)第二阶段(1950年代中期到1960年代后期)出现了高级程序语言、操作系统、数据库管理系统、“软件”术语等“软件危机”:软件的复杂程度迅速提高,研制周期变长,正确性难以保证,可靠性问题尤为突出。解决危机的方法:提出结构程序设计方法提出用工程方法开发软件从理论上探讨程序正确性和软件可靠性问题。研究内容:增加了并发程序,并着重研究高级程序设计语言、编译程序、操作系统以及各种支撑软件和应用软件。计算机系统的处理能力得到加强,设计和编制程序的工作方式逐步走向合作方式。16计算机软件的发展(3)第三阶段(1960年代迄今)软件工程软件领域工作新的特点:随着应用领域的不断拓广,出现了嵌入式应用软件、网络软件及分布式应用软件软件工程发展迅速,形成了“计算机辅助软件工程”。除了开发各类工具与环境用以支持软件的开发与维护外,还出现了一些实验性的软件自动化系统致力研究软件过程本身规律,研究各种软件开发规范与模型除了软件传统技术继续发展外,人们着重研究以智能化、自动化、集成化、并行化、开放化以及自然化为标志的软件开发新技术注意研究软件理论,特别是探讨软件开发过程的本质173.1.3计算机软件技术18计算机软件技术计算机软件技术:研制开发计算机软件所需的所有技术的总称。按照计算机软件分支学科的内容划分,计算机软件技术主要包括:软件工程技术程序设计技术软件工具与开发环境技术系统软件技术数据库技术网络软件技术与实际工作相关的软件技术软件技术还渗透到计算机科学技术的其他领域193.2操作系统20操作系统概念操作系统(OperatingSystem,简称OS):用于控制、管理、调配计算机的所有资源。是给计算机配置的一种必不可少的系统软件。

213.2.1概述

1.操作系统的作用22操作系统的作用(1)管理系统中的各种(软、硬件)资源(2)为用户提供各种服务界面用户界面:也称用户接口或人机界面,是计算机系统实现用户与计算机通信的软、硬件部分的总称。图形用户界面(GUI):采用窗口、图符、菜单及指点设备技术和多窗口系统等软件,并以直接操纵为主要使用方法,使得用户能够灵活、方便、有效地使用计算机。23操作系统的作用(3)为应用程序的开发和运行提供一个高效的平台裸机:没有安装任何软件的计算机。操作系统是最接近计算机硬件的系统软件,通过它管理计算机资源并在用户(或应用程序)与硬件之间提供一个接口。计算机硬件操作系统其他系统软件支撑软件应用软件用户操作系统的地位24计算机加电,CPU首先执行BIOS中的自检程序,测试计算机各部件是否正常,若无异常,CPU继续执行BIOS中的自举程序,它从硬盘(或软盘)中读出引导程序并装入到内存,然后将控制权交给引导程序,由引导程序继续装入操作系统。OS装入成功后,开始控制整个计算机。2.操作系统的启动25自举:装载操作系统软件并启动执行的过程。计算机的ROM中固化了一小部分操作系统指令(基本I/O系统,又称BIOS),计算机加电后,自动执行BIOS,BIOS先把一部分程序从磁盘读入内存,然后再由读入的这部分程序装载其他所需的操作系统软件。这个过程称作为“自举”或“引导”。命令:操作系统功能的表现形式。2.操作系统的启动26操作系统的功能27操作系统的功能操作系统通过内部命令和外部命令提供五种主要功能:任务管理存储管理文件管理设备管理作业管理除此之外,操作系统一般还具有中断处理、错误处理等功能。操作系统的各个功能之间并不是完全独立的,它们之间存在着相互依赖的关系。28操作系统提供的任务管理有三种不同的方式:进程:操作系统调度的基本单位,反映程序的一次执行过程(包括启动、运行并在一定条件下中止或结束)。进程管理:对处理机资源进行管理。多进程技术:如果一个进程因等待某一条件而不能运行下去时,就将处理机占用权转给另一个可运行进程。或者,当出现了一个比当前运行进程更重要的可运行进程时,后者应能抢占CPU资源。操作系统按照一定的调度策略,通过进程管理来协调多道程序之间的关系,解决CPU资源的分配和回收等问题,以使CPU资源得到最充分利用。3.2.2多任务处理(任务管理)293.2.2多任务处理(任务管理)分时的基本思想:将CPU时间划分成许多小片(“时间片”),轮流去为多个用户程序服务。如果在时间片结束时该用户程序尚未完成,它就被中断,等待下一轮再处理,同时让另一个用户程序使用CPU下一个时间片。由于CPU速度很快,用户程序的每次要求都能快速响应。由此,每个用户都感觉好象自己在“独占”计算机一样,实际上是操作系统使用户轮流“分时”共享了CPU。并行处理:使用有多个处理器的计算机时,并行处理操作系统运用策略作出合理的调度,把多项任务分配给不同的CPU同时执行,且保持系统正常有效地工作,可以充分利用计算机系统中提供的所有处理器,一次执行几条指令,以提高计算机系统的效率。303.2.3存储管理存储管理:管理内存资源的高效、合理使用。执行处理程序时,计算机系统的程序和数据都是保存在内存中的。而内存的容量有限,因此,当多个程序共享有限内存资源时,必须合理地为它们分配内存空间,做到用户存放在内存中的程序和数据既能彼此隔离、互不侵扰,又能在一定条件下共享。当内存不够用时,还要解决内存扩充问题,把内存和外存结合起来管理,为用户提供一个容量比实际内存大得多的“虚拟存储器”。313.2.4文件管理文件管理任务:有效地支持文件的存储、检索和修改等操作、解决文件的共享、保密和保护问题,使用户程序能方便、安全地访问它所需要的文件。操作系统一般都含有功能很强的文件管理子系统。32文件:存储在磁盘上、具有符号名的一组相关信息的集合。文件名:文件的符号名,由系统规定的合法符号组成。Windows系统中,文件名可以长达255个字符,文件名应该是拥有意义的单词,以便识别。文件命名规则是前缀名+后缀名,中间加一个点。前缀名可以任意命名,而后缀名则表示了文件的格式类型。Windows就是通过文件的后缀名来识别文件的:(1)在文件或文件夹的名字中,最多可使用256个字符。(2)组成文件名或文件夹的字符可以是英文字母、数字及¥@&+()、下划线、空格、汉字等。但不能使用下列9个字符:?\*|“<>:/。33文件目录(文件夹):计算机中有数以万计的文件,为了分门别类的有序存放,操作系统把他们组织在文件目录中。许多操作系统采用树型目录结构来进行管理。Windows中文件目录也称为文件夹,它采用多级层次式结构(也叫树状结构)。文件的组成:文件中除了程序和数据之外,还包含了一些说明信息。文件名,文件类型,文件的物理位置,文件大小,文件时间(创建时间,最近修改时间,最近访问时间等),文件的创建者,文件属性等。34文件的属性:决定了文件的操作性和可视性。系统文件:构造操作系统本身的文件,删除时会提出警告,一般隐藏不见。隐藏文件:一般不可见。存档文件:普通文件,可以被读取、修改和保存。只读文件:文件只能阅读,不能进行修改。文件的基本操作(1)创建新文件(或新文件夹)(2)读出文件(3)保存文件(4)删除文件文件存储空间的管理磁盘为文件分配存储空间的时候,分配单位不是扇区,而是簇(Cluster)。簇的大小与磁盘容量相关,每个簇有一个编号,称为簇号,可以用来计算定位。353.2.5设备管理设备管理:对计算机系统中除了CPU和内存以外的所有I/O设备的管理。进而言之,设备管理的对象除了进行实际I/O操作的设备外,还包括诸如控制器、通道等支持设备。设备管理任务:外部设备的分配、启动和故障处理,用户不必详细了解设备及接口的技术细节,就可以利用驱动程序对相应的设备进行操作。采用技术:中断技术、通道技术、虚拟设备技术和缓冲技术363.2.*作业管理作业管理任务:为用户使用系统提供一个良好环境,让用户有效地组织自己的工作流程,使整个系统能高效地运行。37【2007真题】在计算机系统中,对计算机各类资源进行统一管理和调度的软件是___。A.语言处理程序B.应用软件C.操作系统D.数据库管理系统【试题分析】操作系统(OperatingSystem,简称OS):用于控制、管理、分配计算机文件说明信息文件内容第2章计算机系统9的软件和硬件资源,支持应用程序的运行。是给计算机配置的一种必不可少的系统软件,选C。38【2007真题】虚拟存储技术是将___上的一部分作为内存来使用。A.硬盘B.缓存C.光盘D.内存条【试题分析】根据前面的教材内容,虚拟存储技术:假设硬盘为一个容量极大的虚拟内存,将程序(及其数据)划分成一个个“页面”,每页为固定大小,显然选A。393.2.6常用操作系统介绍40DOS操作系统DOS是DiskOperationSystem(磁盘操作系统)的简称。顾名思义,这是一个基于磁盘管理的操作系统。与我们现在使用的操作系统最大的区别在于,它是命令行形式的,靠输入命令来进行人机对话,并通过命令的形式把指令传给计算机,让计算机实现操作的。常见的DOS有两种:IBM公司的PC-DOS和微软公司的MS-DOS,它们的功能、命令用途格式都相同,我们常用的是MS-DOS。DOS分为核心启动程序和命令程序两个部分.41DOS的核心启动程序有Boot系统引导程序、IO.SYS、MSDOS.SYS和COMMAND.COM。它们是构成DOS系统最基础的几个部分,有了它们系统就可以启动。但光有启动程序还不行,DOS作为一个字符型的操作系统,一般的操作都是通过命令来完成。DOS命令分为内部命令和外部命令。内部命令是一些常用而所占空间不大的命令程序,如dir、cd等,它们存在于COMMAND.COM文件中,会在系统启动时加载到内存中,以方便调用。而其它的一些外部命令则以单独的可执行文件存在,在使用时才被调入内存。42Windows操作系统Windows操作系统是一种在微型计算机上运行的系统软件。由(美)微软公司开发,最初作为DOS的图形化扩充而推出的。Windows提供了多任务图形界面以及统一的应用程序接口,使得在Windows环境下运行应用程序的操作大为简化。Windows9x。从Windows95开始,Windows均是机器字长32位的单用户、多任务的操作系统。单用户:一台计算机一次只允许一个用户使用。多任务:允许一个用户同时运行多个应用程序43Windows操作系统Windows9x支持图形用户界面(GUI)支持“即插即用”的系统配置方法提供通信软件,使用户的计算机系统联接到Internet上44Windows操作系统WindowsNT(NewTechnology)和NT工作站一个网络操作系统。网络中运行WindowsNT的计算机作为服务器,它存储着诸多共享资源网络中除服务器外,还有供用户使用的客户机部分。客户机可以是一般的PC机,其上可以运行NT客户机软件,也可运行Windows95或Windows98。45Windows操作系统WindowsNT(NewTechnology)和NT工作站WindowsNT含有内置的网络功能,支持许多通讯协议,并且具有一个集中的安全系统,以监测各种系统资源。与NT操作系统服务器版本相对应的是NT的工作站标准版,称为NTWorkstation,它主要运行在点对点环境中,这个版本可提供多种管理软件和工具软件。

46Windows操作系统Windows2000与2000工作站Windows2000实际是WindowsNT3.0的一个新的名字,它在使用WindowsNT的内核的同时增加了许多新的功能。如在即插即用方面,它支持USB设备,支持功率的调节和各种硬件编程接口等。在实用性、安全性和稳定性方面都有所超越。Windows2000有以下几种不同的版本:Windows2000ProfessionalWindows2000Server/AdvancedServerWindows2000DatacenterServer47Windows操作系统WindowsXP和Windowsserver2003WindowsXP是基于NT的内核,集成了其稳定性、安全性及多媒体和网络功能,使微软的前台OS不再采用9X系列的内核。Windowsserver2003其可靠性、安全性和易操作性方面有了进一步提高。

48Windows操作系统windowsLonghornwindowsLonghorn微软最新操作系统,又称带牛角的操作系统.,是下一代主要的Windows桌面操作系统,它很象WindiwsXP,但包括了许多新的特性,如:基于任务(或者智能)的用户界面,可扩展、可停靠的开始面板,和一个基于SQLServer2003的、被称为WinFS的文件系统。49Windows操作系统微软公司最新的操作系统windowsxp2005WindowsXPMediaCenterEdition2005使用WindowsXPMediaCenterEdition,可很方便地欣赏照片、电影、音乐以的电视等数码娱乐。除使用鼠标和键盘外,还可用遥控器操作。可录像和暂停正在广播的电视节目,可将照片或电影/电视节目保存到CD-R/DVD媒体,还可编辑从数码相机导入的照片。50UNIX操作系统UNIX操作系统是(美)Bell实验室开发的一种通用多用户交互式分时操作系统。自1970年UNIX系统第一版问世以来,以UNIX系统为基础已研制出许多新的操作系统软件。如微型计算机、大型计算机上的各种UNIX系统的变种,以及用于计算机网络及分布式计算机系统上的UNIX系统等。实际上,UNIX系统已成为国际上目前使用最广泛、影响最大的主流操作系统之一。51UNIX操作系统UNIX系统的特色主要体现在以下方面:结构简练。以树形目录结构的文件系统为基础,且将各种设备都定义为特殊文件,统一处理。内核部分外层应用子系统功能强大易移植性好可伸缩性和互操作性强容纳新技术的能力强网络通信功能强52Linux操作系统Linux操作系统的原创者是芬兰的一名青年学者LinusTorvolds,他遵从可移植操作系统接口POSIX标准开发出Linux操作系统的内核,POSIX是IEEE定义的一套标准,具有与UNIX相似的可移植操作系统服务功能。Linux操作系统的优势反映在网络服务器方面,其内核中包含许多网络协议,已成为网络上最普遍的服务器架构模式。Linux操作系统作为一个多用户、多任务的操作系统,支持多工作平台和多处理器。它不仅可提供多达4TB的文件系统,同时还可支持多种其他的文件系统。53Linux操作系统Linux系统是一种“自由软件”。或者说,它属于一种GPL(GeneralPublicLicense)软件。其源代码向世人公开,吸引对该系统感兴趣的人们共同工作。54OS/2操作系统OS/2系统是IBM公司于1988年推出的用于PC机的操作系统。OS/2系统是一个多任务、图形用户界面的操作系统,它提供应用程序间的保护,以确保一个程序或数据不会覆盖其他的程序或数据。OS/2系统还提供日志用以报告并跟踪软件的运行。OS/2系统具有较强的多媒体功能、增强的图形功能以及较多的实用程序。但目前用OS/2设计的应用程序尚不多见,因而它的应用受到较大的制约。

553.2.*实用程序56实用程序在计算机系统中,一般把用于完成某些与系统资源及文件管理相关的程序称为实用程序(UtilityProgram)。一些工具性的实用程序其实就是操作系统的一部分,但也有一些实用程序是独立的程序。实用程序种类主要功能磁盘格式化为在磁盘上存储文件做准备文件管理文件拷贝、移动、压缩、删除等磁盘碎片整理重新存储磁盘上的内容,可使同一文件的不同段存储在邻接位置文件卸载删除一个不再需要的文件文件转换把文件从一种格式转换到另一种格式反病毒保护计算机系统不受病毒的侵扰常用的实用程序573.3程序设计语言及语言处理程序583.3.1程序设计语言分类59程序设计语言分类程序设计语言按其级别可以划分为机器语言、汇编语言和高级语言三大类。机器语言机器语言:使用计算机指令系统的程序语言。用机器语言编写的程序,全部都是二进制代码形式,可以被计算机直接执行。机器语言直接依赖机器的指令系统,不同类型甚至不同型号的计算机,其机器语言是不同的。机器语言不易记忆和理解,所编写的程序也难于修改和维护。60汇编语言汇编语言:用助记符来代替机器指令的操作码和操作数,如用ADD表示加法,用SUB表示减法等。这样就能使它的每条指令都有明显的符号标识。用汇编语言编写程序与编写机器语言程序相比,比较直观和易记忆,但汇编语言仍然是面向机器指令系统的,还保留了机器语言的各项缺点。61高级语言高级语言:又称算法语言,其表示方法接近解决问题的表示方法,而且具有通用性,在一定程度上与机器无关。高级语言的特点:易学、易用,易维护。人们可以更有效、更方便地用它来编制各种用途的计算机程序。高级语言虽然接近自然语言,但和自然语言仍有很大差距。主要表现在语法规则极为严格。其主要原因是高级语言处理系统是执行程序的计算机,而自然语言的处理系统则是人。62【2007真题】下列关于机器语言程序与高级语言程序的说法中,错误的是。

A.机器语言程序比高级语言程序执行速度慢B.机器语言程序比高级语言程序可移植性强

C.机器语言程序比高级语言程序可读性差

D.有了高级语言程序,机器语言程序就无存在的必要了63【试题分析】用机器语言编写的程序,全部都是二进制代码形式,可以被计算机直接执行,因此其执行速度快,A是错误的,应该入选;机器语言不易记忆和理解,所编写的程序也难于修改和维护,可移植性差,B是错误的,应该入选,而C不能入选;D的说法显然是不对的。答案ABD。643.3.2程序语言中的数据成分

和控制成分65程序语言基本成分高级语言种类千差万别,但是其基本成份都可归纳为四种:数据成分:描述程序所处理的数据对象(数据类型、数据结构)运算成分:描述程序所包含的运算(算术表达式、逻辑表达式)控制成分:表达程序中的控制构造(条件判断、循环判断)传输成分:表达程序中的数据传输(输入/输出)66

数据成分数据作为程序操作的对象,具有名称、类型、作用域等特征。使用前要对数据的这些特征加以说明。数据名称由用户通过标识符命名,类型说明数据需占用存储单元的多少和存放形式,作用域说明数据可以使用的范围。以C语言为例,其数据构造方式可分为基本类型和派生类型:数据类型基本类型派生类型算术类型字符类型枚举类型整型实型单精度双精度数组指针……用户定义类型67控制成分程序语言中控制成分的作用:提供一种基本框架,在此基本框架支持下,可以将数据和对数据的运算组合成程序。(1)顺序结构用来表示一个计算操作(或语句)的序列。从操作序列的第一个操作开始,顺序执行序列后续的操作,直至序列的最后一个操作。68控制成分(2)条件选择结构条件选择结构由一个条件(P)和两个供选择的操作A和B组成。在执行中,先计算条件表达式P的值,如果P的值为真,则执行操作A;否则执行操作B。当条件选择结构中的A或B又由条件选择结构组成时,就呈现嵌套的条件选择结构形式。69控制成分(3)重复结构重复结构为程序描述重复计算过程提供控制手段,重复结构有多种形式,最基本的形式为

while型重复结构。70控制成分ABABP真假AP假真顺序控制结构条件选择结构While型重复结构713.3.3语言处理系统72语言处理系统语言处理系统的作用:把用软件语言(包括汇编语言和高级语言)编写的各种程序变换成可在计算机上执行的程序,或最终的计算结果,或其他中间形式。语言处理系统包括:翻译程序正文编辑程序:用于建立和修改源程序文件联接编辑程序:将多个分别编译或汇编过的目标程序和库文件进行组合装入程序:将目标程序装入内存并启动执行程序模块1……程序模块n正文编辑源程序1……源程序n编译目标程序1……目标程序n联接编辑可执行目标程序装入执行结果库文件编辑、编译、装入和执行过程73翻译程序翻译程序:程序语言处理系统随被处理的语言及其处理方法和处理过程的不同而异。但任何一个语言处理系统通常都包含一个翻译程序,它把一种语言的程序翻译成等价的另一种语言的程序。源语言和源程序:被翻译的语言和程序目标语言和目标程序:翻译生成的语言和程序按照不同的翻译处理方法,可把翻译程序分为以下三类:汇编程序(assembler):从汇编语言到机器语言的翻译程序解释程序(Interpreter):按源程序中指令(或语句)的执行顺序,逐条翻译并立即执行相应功能的处理程序编译程序(Compiler):从高级语言到机器语言或汇编语言的翻译程序74解释程序解释程序对源程序进行翻译的方法相当于两种自然语言间的“口译”。解释程序对源程序从头到尾逐句扫描,逐句翻译,并且翻译一句执行一句。因而这种翻译方式并不形成机器语言形式的目标程序。优点:实现算法简单易于在解释过程中灵活方便地插入所需要的修改和调试措施缺点:运行效率低应用:解释程序通常适合于交互方式工作的、或调试状态下运行的、或运行时间与解释时间相差不大的语言75编译程序编译程序对源程序进行翻译的方法相当于“笔译”。在编译程序的执行过程中,要对源程序扫描一遍或几遍,最终形成一个可在具体计算机上执行的目标程序。优点:通过编译程序的处理可以一次性地产生高效运行的目标程序,并把它保存在磁盘上,以备多次执行缺点:实现算法较为复杂应用:编译程序适合于翻译那些规模大,结构复杂,运行时间长的大型应用程序。76编译程序编译程序工作过程:源程序的分析是经过词法分析、语法分析和语义分析三个步骤完成的。目标程序的综合包括存储分配、代码优化、代码生成等几个步骤,目的是为程序中的常数、变量、数组等数据结构分配存储空间。源程序分析综合符号表、常数表中间语言程序目标程序773.3.4主要程序语言介绍78FORTRAN语言FORTRAN:FORmulaTRANslation(公式翻译)的缩写,一种主要用于数值计算的面向过程的程序设计语言。特点:接近数学公式、简单易用。在处理功能上,允许复数与双精度实数运算,由于具有程序定义机制、I/O的格式说明,允许布尔表达式,函数和子例程名作参数传递,扩充的字符处理等功能,使之也能应用于非数值运算领域。此外,FORTRAN语言还具有块IF结构,DO循环结构等,使写出的程序趋于结构化,是进行大型科学和工程计算的有力工具。79ALGOL语言ALGOL(ALGOrithmicLanguage)语言:分别于1960年和1962年发表的ALGOL60报告及修改报告,已成为程序设计语言发展史上的里程碑,不但开拓了程序设计语言的研究领域,也为后来的软件自动化和软件可靠性研究奠定了基础。ALGOL语言的语法和语义均有严格的描述。它的语法描述采用了特定的巴科斯形式化体系(BNF),结构清晰,理论严谨。在ALGOL语言基础上发展的ALGOL语言簇包括ALGOL68、Simula、PASCAL等。PASCAL语言:具有丰富的数据类型和灵活的控制结构,编译效率高,强调程序的可靠性和易于验证性,被称为第一个结构化程序设计语言。PASCAL语言适用于数据处理、数值计算和系统软件开发,并曾经成为大学程序设计教学的优选语言。80Java语言Java语言:由SUNMicroSystem公司于1995年5月正式对外公布的一种面向对象的、用于网络环境的程序设计语言。特点:适用于网络分布环境,具有一定的平台独立性、安全性和稳定性。81C语言和C++语言C语言:1972年至1973间由AT&T公司Bell实验室的D.M.Ritchie在BCPL语言基础上设计而成的,著名的UNIX操作系统就是用C语言编写的。特点:语言与运行支撑环境分离、可移植性好、语言规模小因而相对简单、具有指针类型等,C语言本身简洁、高度灵活、程序运行效率高。此外,在C语言中,有不少操作直接对应实际机器所执行的动作,并在许多场合可以代替汇编语言。82C语言和C++语言C++语言:以C语言为基础发展起来的通用程序设计语言。C++内置面向对象的机制,支持数据抽象。最先由Be11实验室的B.stroustrup在1980年代设计并实现,至今仍在不断发展。C++语言是对C语言的扩充,扩充的内容绝大部分来自其他著名语言(如Simula、ALGOL68、Ada等)的最佳特性。由于C++语言既有数据抽象和面向对象能力,运行性能高,又能与C语言相兼容,使得数量巨大的C语言程序能方便地在C++语言环境中重用。因而近年来C++语言迅速流行,成为当前面向对象程序设计的主流语言。83其他语言除了以上介绍的几种程序语言外,有影响的程序语言还有:LISP语言:适用于符号操作和表处理,主要用于人工智能领域PROLOG语言:一种逻辑式编程语言,主要用于人工智能领域Ada语言:类似于PASCAL语言,且易于控制并行任务和处理异常情况。适于军用84【2007真题】以下常用的高级程序设计语言中,主要用于数值计算的是___。A.FORTRANB.BASICC.JavaD.C【试题分析】根据前面的教材内容,FORTRAN语言是一种主要用于数值计算的面向过程的程序设计语言。虽然其它语言也可以用来数值计算,但主要是用于执行数值计算的应选A。85【2007真题】C++语言是以C语言为基础发展起来的,已成为当前面向程序设计的主流语言之一。【试题分析】根据教材内容,C++语言既有数据抽象和面向对象能力,运行性能高,是当今比较流行的面向对象的语言,应该填入对象。863.4算法和计算机软件理论基础873.4.1算法和数据结构88算法和数据结构要使计算机完成某一问题的解题任务,首先必须针对该问题设计一个解题步骤,然后再据此编写程序。这里所说的解题步骤就是“算法”,而程序则是对解题对象和解题步骤用程序语言进行的一种描述。程序中用具有一定结构的变量来表示问题的对象,用函数和语句来实现解题的操作。因此“算法”和“数据结构”是编写程序所要首先考虑的两个重要方面。89算法(Algorithm)什么是算法 算法与程序不同,它是问题求解规则的一种过程描述。在算法中要精确定义一系列规则,这些规则指定了相应的操作顺序,以便在有限的步骤内得到所求问题的解答。 算法的设计一般采用由粗到细,由抽象到具体的逐步求精的方法。90算法(Algorithm)什么是算法例如,要对包含n个整数元素的数组A进行排序。粗略的思路: ①从所有整数中选一个最小的,作为已排好序的第一个数; ②从剩下的未排序整数中选出最小的,放在已排好序列的最后一个数后面; ③反复执行②,直到所有整数都放到已排好的序列中。细化,需要考虑排好的序列存放在何处,如何“反复执行”等。用“伪代码”(一种介于自然语言和程序设计语言之间的文字和符号表达工具)描述的算法为:

fori=1ton [选出A[i]到A[n]中最小的元素,设为A[j]; 交换A[i]和[j];]进一步细化以上步骤,具体给出如何从数组A中选最小的元素,如何对两个元素进行交换等,最终得到求解该问题精确描述的算法。有了算法作为依据,就可以用具体的程序代码编写出相应的程序。

91算法(Algorithm)什么是算法用C语言编写的函数模块sort如下:VoidSort(intA[],intn){inti,j,t;for(i=0;i<n-1;i++{j=i;for(k=i+1;k<n;k++)if(A[k]<A[j])j=k;t=A[i];A[i]=A[j];A[j]=t;}}92算法(Algorithm)算法的性质算法的基本性质:确定性有穷性能行性输入输出算法与程序的区别:一个程序不一定满足有穷性程序中的指令必须是机器可执行的,而算法中的运算语句则无此限制93算法(Algorithm)算法分析分析一个算法的好坏,除其正确性外,还应考虑以下因素:占用的计算机资源时间代价空间代价是否易理解、易调试和易测试等94【2007真题】

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论