《第三章计算机软件课件.ppt》由会员分享,可在线阅读,更多相关《第三章计算机软件课件.ppt(82页珍藏版)》请在三一办公上搜索。
1、3.1 计算机软件及计算机软件技术3.2 操作系统3.3 程序设计语言及其处理系统3.4 算法和计算机软件理论基础,第三章 计算机软件,1.了解什么是计算机软件和计算机软件技术。2.了解操作系统的作用、功能、常用操作系统和实用程序的种类。3.描述计算机语言程序及它们的执行过程。4.了解计算机软件基础理论所包含的内容、算法和数据结构的概念。,本章学习目标与要求,3.1.1 计算机软件,3.1 计算机软件及计算机软件技术,1. 什么是计算机软件:,一个完整的计算机系统有两个基本组成部分:计算机硬件:组成计算机各种物理设备的总称。计算机软件:计算机完成特定任务所需的程序、数据及相关的文档。,计算机软
2、件示意图,程序:是指计算机如何去解决问题或完成任务的一组详细的、逐步执行的语句(或指令)。程序的每一步都是用计算机所能理解和处理的语言编写的。数据:数据是程序所处理的对象及处理过程中使用的参数。文档:是指程序在开发、维护和使用时所涉及的资料(如设计报告、维护手册和使用指南等)。 软件的主体是程序。软件(特别是大型软件)必须有完整、规范的文档作为支持。但是,单独的数据和文档一般不认为是软件。例:所有存储在闪存盘上的MP3音乐都是计算机软件。(08判断),2. 软件的分类:,从应用的角度出发,将软件分为:系统软件应用软件,(1)系统软件:,系统软件的定义: 为了有效地使用计算机系统、给应用程序开发
3、与运行提供支持、能为用户管理与使用计算机提供方便的一类软件。(如基本输入/输出系统BIOS、各种操作系统、程序设计语言系统、数据库管理系统等)。系统软件的主要特征:系统软件与计算机硬件系统有很强的交互性,能对硬件资源进行统一的控制、调度、管理。系统软件与具体的应用领域无关,具有一定的通用性,它并不是专为解决某个具体应用而开发的。,应用软件的定义:用于解决各种不同具体应用问题的专门软件。按照应用软件的开发方式和适用范围,应用软件可再分为:通用应用软件:能适用许多部门、行业使用的软件。定制应用软件:是根据不同领域用户的特定应用要求而专门设计的软件。,(2)应用软件:,主要通用应用软件类别和功能,计
4、算机分类、发展;软件概念,分类。【例】下列软件中,_是专门的网页制作软件。(06单选) A.FrontPage 2000 B.Visual Basic 6.0 C.Excel 2000 D. PowerPoint 2000【例】下列软件属于系统软件的是_。(08单选) 金山词霸Sql serverFrontPageCorelDraw编译器Linux银行会计软件OracleSybase民航销售软件 A. B. C. D. 【例】在计算机的软件分类中,应用软件和系统软件的相关关系是_。(06单选) A.前者以后者为基础 B.后者以前者为基础 C. 每一类都不以另一方为基础D. 每一类都以另一方为基
5、础,重点知识点:,【例】计算机软件指的是能指示计算机完成特定任务的,以电子格式存储的程序、_和相关的文档。(2006填空)【例】所有存储在闪存盘上的MP3音乐都是计算机软件。 程序是软件的主体,单独的数据和文档一般不认为是软件。MP3音乐属于文件,MP3播放器则属于软件。【例】应用软件分为通用应用软件和定制应用软件,下列软件中全部属于通用应用软件的是( ) A.WPS,Windows,Word B.Powerpoint,Photoshop,FORTRAN C.ALGOL,Photoshop,FORTRAN D.Powerpoint,Photoshop,WordC选项中的ALGOL和FORTRA
6、N属于语言处理软件,即系统软件。,3.1.2 计算机软件的发展,计算机软件的发展与计算机应用和硬件的发展互相推动和制约。软件的发展大致经历了三个主要阶段:(1)第一阶段:(1940年代到1950年代中期) 从第一台计算机上的第一个程序开始到实用的高级语言程序出现以前,是计算机软件发展初期。 应用领域较窄:主要是科学与工程计算。处理对象:数值数据。工作方式:个体。编程语言:使用低级语言编程。 人们对和程序有关的文档的重要性认识不足,只重视编程技巧。,(2)第二阶段(1950年中期到1960年后期)出现了高级程序语言、操作系统、数据库管理系统、“软件”术语等。注意:先出现了程序设计语言FORTRA
7、N及其翻译程序,然后才出现操作、系统。“软件危机”:软件的复杂程度迅速提高,研制周期变长,正确性难以保证,可靠性问题尤为突出。解决危机的方法:提出结构程序设计方法提出用工程方法开发软件从理论上探讨程序正确性和软件可靠性问题。研究内容:增加了并发程序,并着重研究高级程序设计语言、编译程序、操作系统以及各种支撑软件和应用软件。计算机系统的处理能力得到加强,设计和编制程序的工作方式逐步走向合作方式。,(3)第三阶段(1970年代迄今)软件工程:由于大型软件的开发是一项工程任务,只有采用工程方法才能适应高效率高质量编程的要求,从而出现了“软件工程”的概念。软件生命周期软件定义、软件开发、软件使用、软件
8、维护。计算机软件技术包括以下7个方面:软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、网络软件技术与实际工作相关的软件技术。,软件生命周期、软件发展过程【例】:与其他事物相似,软件有它的产生、发展和消亡的过程。软件的生命周期可以包括_。(06多选)A定义期 B开发期C使用期D维护期【例】下列关于计算机软件的叙述,错误的是_。(08单选) A.操作系统产生于高级语言及其编译系统之前 B.为解决软件危机,人们提出了用工程方法开发软件的思想 C.数据库软件技术、软件工具环境技术都属于计算机软件技术 D.设计和编制程序的工作方式是由个体发展到合作方式,再到现在的工程方式,重点知
9、识点:,计算机软件的层次结构图,3.2 操作系统,操作系统(Operating System,简称OS):用于控制、管理、调配计算机的所有软硬件资源的最重要的一种系统软件。它能合理地安排计算机的工作流程,控制和支持应用程序的运行,使得用户能灵活、方便、有效地使用计算机。,3.2.1 操作系统的概述,1、操作系统的作用:为计算机中运行的程序管理和分配各种软硬件资源。为用户提供友善的人机界面。为应用程序的开发和运行提供高效率的平台。,人们常把没有安装任何软件的计算机称为裸机。 安装了操作系统后,实际上呈现在用户面前的是一台“虚计算机”。,操作系统的作用【例】计算机软件中操作系统的作用是_。(06单
10、选)A管理系统资源,控制程序的执行B实现软硬件功能的转换C把源程序翻译成目标程序D便于进行数据处理【例】在计算机系统中,对计算机各类资源进行统一管理和调度的软件是_。(07单选) A. 语言处理程序 B.应用软件 C.操作系统 D.数据库管理系统,重点知识点:,【例】计算机系统安全是当前计算机界的热门话题,实现计算机系统安全的核心是_(2006单选) A 硬件系统的安全性B 操作系统的安全性C 语言处理系统的安全性D 应用软件的安全性分析:计算机系统包括硬件系统和软件系统,而操作系统承担了调度硬件资源和软件资源的任务,因此计算机系统的安全实质上是指操作系统的安全性,一旦操作系统出现安全问题,会
11、给计算机的正常使用带来麻烦,甚至会使计算机瘫痪。,2、操作系统的启动: 安装操作系统的计算机,当加电启动时,CPU按下列顺序执行:首先执行ROM BIOS中的自检程序,测试计算机中各部件的工作状态是否正常。若无异常情况,CPU将继续执行BIOS中的自举程序,它从硬盘中读出引导程序并装入到内存(RAM),然后将控制权交给引导程序,由引导程序继续装入操作系统。操作系统装入成功后,整个计算机就处在操作系统的控制下,用户就可以正常地使用计算机了。,操作系统的启动(boot up),ROMBIOS,RAM,CPU,CMOS,操作系统运行时内存的态势,3.2.2 多任务处理与处理器管理,1、多任务处理:中
12、央处理器CPU是计算机的核心硬件资源。为了提高CPU的利用率,操作系统一般都支持若干个程序“同时”运行。任务:是指装入内存并启动执行的一个应用程序。“单任务处理”与“多任务处理”单任务处理:前一个任务完成后才能启动后一个任务的运行,任务是顺序执行的多任务处理(Multitasking):允许计算机同时执行多个任务,任务是并发执行的多任务处理的优点:大大提高了用户的工作效率大大提高了计算机的使用效率,3.2.2 多任务处理与处理器管理,1、多任务处理:中央处理器CPU是计算机的核心硬件资源。为了提高CPU的利用率,操作系统一般都支持若干个程序“同时”运行。窗口:任务在计算机中运行时,通常对应着屏
13、幕上的一个交互界面。窗口分类:活动窗口( “前台任务”);非活动窗口 (“后台任务”)。,2、抢占式多任务多任务操作系统中有一个处理器调度程序负责将CPU时间划分成许多小片(“时间片”),轮流去为多个用户程序服务。如果在时间片结束时该用户程序尚未完成,不管该任务有多重要,它就会被中断,等待下一轮再处理,同时让另一个用户程序使用CPU下一个时间片。 由于CPU速度很快,用户程序的每次要求都能快速响应。由此,每个用户都感觉好象自己在“独占”计算机一样,实际上是操作系统使用户轮流“分时”共享了CPU。,3.2.2 多任务处理与处理器管理,CPU的管理(处理器管理),目的:让CPU轮流为所有任务服务原
14、则:公平性;优先级;负载均衡方法:按时间片轮转(10-20ms为1个时间片 )按优先级调度,3、处理器管理多任务操作系统在工作时,用户借助于“Windows任务管理器”可以随时查看系统中有哪些任务正在运行。 方法:Ctrl+Alt+Delete,3.2.2 多任务处理与处理器管理,多任务处理【例】Windows操作系统采用并发多任务方式支持系统中多个任务的执行,但任何时刻只有一个任务正被CPU执行。(07判断)【例】下列关于操作系统多任务处理与处理器管理的叙述,错误的是_。(08单选) A. Windows操作系统支持多任务处理 B.分时是指将CPU时间划分成时间片,轮流为多个任务服务 C.
15、并行处理操作系统可以让多个处理器同时工作,提高计算机系统的效率 D.分时处理要求计算机必须配有多个CPU,重点知识点:,3.2.3 存储管理,每个应用程序运行时均有属于它自己的存储器空间,用来存储它自己的程序代码和数据,系统运行时内存储器的布局,内存储器空间划分为2个部分:系统区和用户区,用户区用来存放正在运行的应用程序。,“存储管理”需要解决哪些问题?,为每个任务分配存储空间,任务结束之后收回存储空间对存储空间进行保护保护操作系统所在区域不被应用程序修改保护每个应用程序的私有区域不被其他程序修改对存储空间进行扩充,使应用程序的存储空间不受实际存储容量大小的限制 解决方案虚拟存储器(Virtu
16、al Memory),虚拟存储器:用户在启动程序时,操作系统将该程序划分成一个个有固定大小的“页面” 。并且,只将当前要执行的一部分程序和数据页面装入物理内存,其余页面存放在硬盘提供的虚拟内存中,然后开始执行程序。,虚拟存储器示意图,硬盘中专门划出一个“交换区”,作为物理内存的补充,称为“虚拟内存”,Windows中的虚拟存储器:是由计算机中的物理内存和硬盘上的虚拟内存联合组成。 页面调度算法:采用“最近最少使用”LRU算法。在物理内存和虚拟内存之间来回地自动交换页面,达到扩大可用内存的目的。 在Windows中,可以利用系统工具中的“系统信息”来查看内存的工作情况。,虚拟存储【例】虚拟存储技
17、术是将_上的一部分作为内存来使用。(07单选) A. 硬盘B.缓存 C.光盘 D.内存条【例】虚拟存储系统能够为用户提供一个容量很大的虚拟地址空间,其大小受到_的限制。(08单选) A. 内存实际容量大小 B. 外存容量及CPU地址表示范围 C. 交换信息量大小D.CPU时钟频率,重点知识点:,1.文件的基本概念:文件是一组相关信息的集合,是外存中信息的存取(读出/写入)单位。计算机中所有的程序和数据都组织成为文件存放在外存储器中,并使用其名字进行存取操作。文件的名字由两部分组成:(主文件名) .扩展名,3.2.4 文件管理,文件名和文件类型,主文件名(简称文件名)是文件的主要标识,不可省略文
18、件扩展名(类型名)由“.”加34个英文字母组成, 用于区分文件的类型:程序文件(可执行文件):.exe .com文件中包含的是可以由CPU执行的程序的二进制代码数据文件:纯文本文件(.txt)PDF文件(.pdf) Word文件(.doc) 投影片文件(.ppt)数码照片文件(.jpg)MP3音乐文件(.mp3) 文件中包含的是由程序处理的数据的二进制代码处理不同类型的数据文件一般需要使用(关联)不同的程序!文件名字使用西文(或中文)字符组成,但不能使用某些特殊字符(如 ? * :“”等),Windows XP 的文件,允许使用长文件名,即文件名最多可包含255个中文或西文字符英文字母的大、小
19、写只在形式上加以区分,实际上不予区别 (例如: Text.DOC 与 text.doc 是同一个文件)常用程序文件的扩展名:.exe .com .dll .bat常用数据文件的扩展名:,文件的组成和文件说明信息,每一个文件都由2部分组成:,文件在磁盘中如何存储?,磁盘分成两个区域:目录区和数据区 目录实质上是一张“文件名存放位置”的对照表,从磁盘上读出一个文件时,先在目录区中找出该文件的存放位置,然后再按此位置,从磁盘的数据区中读出该文件内容,文件内容,2、文件目录(文件夹)的概念:为了分门别类地有序存放数以千万计的文件,操作系统采用了多级层次式结构(也叫树状目录结构)文件目录,把若干文件组织
20、存放在若干多级层次文件目录中。每一个文件目录,在Windows中称为“文件夹”。 在文件目录结构中,每一个磁盘及分区有一个根目录(根文件夹),它包含若干下一级子文件夹,文件夹不但可以包含文件,还可以包含下一级子文件夹,这样依次类推下去就形成了多级文件夹结构。,Windows XP中文件如何定位?,计算机中的每个文件都有一个确定的位置文件的位置由存放文件的逻辑驱动器号、文件路径以及文件名组成: 驱动器号(盘符) + 文件路径 + 文件名,例 右图中文件02.ppt的位置是: D:数据概论讲稿02.ppt,3、文件管理:对文件在被创建保存时,在外存储器中分配空间;文件被删除时,回收空间进行管理。
21、文件管理系统是OS的一个组成部分,它负责管理计算机中的文件,使用户(和程序)能很方便地进行文件的存取操作。(参看本章阅读材料3.3),文件系统需要解决的问题:有效管理外存储器的存储空间实现对文件方便而快速的存取操作对软盘、硬盘、光盘、优盘等不同外存储器实现统一管理统一本地文件/远程文件的存取操作实现文件的安全存取,设备管理:对计算机系统中除了CPU和内存以外的所有I/O设备的管理。OS中的“设备管理”程序负责:对系统中的各种输入输出设备进行管理处理用户(或应用程序)的输入/输出请求,方便、有效、安全地完成输入/输出操作参看本章阅读材料3.3,3.2.5 设备管理,3.2.6 常用操作系统介绍,
22、操作系统从20世纪60年代出现以来,技术不断进步,功能不断扩展,类型越来越丰富:,微软Windows操作系统,特点:提供了多任务处理能力在个人计算机上广泛使用采用图形用户界面,简化计算机操作版本的演变:,UNIX和Linux操作系统,都是主流操作系统,主要用于:在巨型机、大型机上作为网络操作系统使用经过裁剪后可用于嵌入式系统关于Linux属于自由软件(开源软件),原创者是芬兰青年学者李努斯.托瓦尔兹(Linus Torvalds)应用软件越来越多,用户正在快速壮大,许多商业软件公司也加入了这一行列 参看本章阅读材料3.4,OS/2系统是美国IBM通用电气公司于1988年推出的用于机的操作系统。
23、OS/2系统是一个多任务、图形用户界面的操作系统。它提供应用程序间的保护,以确保一个程序或数据不会覆盖其他的程序或数据。OS/2系统还提供日志用以报告并跟踪软件的运行。OS/2系统具有较强的多媒体功能、增强的图形功能以及较多的实用程序。但目前用OS/2设计的应用程序尚不多见,因而它的应用受到较大的制约。,OS/2操作系统(了解),操作系统,单用户单任务操作系统:只允许一个用户登陆,同时只可以运行一个程序。如DOS操作系统。多用户多任务操作系统:允许多个用户使用,同时可以运行多个程序,如网络操作系统。单用户多任务操作系统:允许登陆的用户是一个,但是此用户可以运行多个程序或多个作业。如Window
24、s 98.,批处理操作系统:以作业为处理对象,连续处理在计算机系统运行的作业流。这类操作系统的特点是:作业的运行完全由系统自动控制,系统的吞吐量大,资源的利用率高。分时操作系统:多个用户同时在各自的终端上联机地使用同一台计算机,CPU按优先级分配各个终端的时间片,轮流为各个终端服务。常见的有UNIX。实时操作系统:对随机发生的外部事件在限定时间范围内作出响应并对其进行处理的系统。外部事件一般来自与计算机系统相联系的设备的服务要求和数据采集。实时操作系统广泛用于工业生产过程的控制和事务数据处理中。网络操作系统分布式操作系统P54,3.3 程序设计语言及处理系统,程序设计语言:人与计算机之间的通信
25、语言,是指编写程序时所采用的用来描述算法过程的某种符号系统。程序设计的目的:实现数据处理的任务。,3.3.1程序设计语言分类,程序设计语言按其级别可以划分为机器语言、汇编语言和高级语言三大类。,任务:计算1055-(383+545)的结果,机器语言特点:直接使用计算机指令系统进行编程;全部都是二进制代码形式,可以被计算机直接执行;依赖于机器的指令系统,不同类型甚至不同型号的计算机,其机器语言是不同的;机器语言不易记忆和理解,所编写的程序也难于修改和维护。,B8 7F 01BB 21 0203 D8B8 1F 042B C3,1055-(383+545),1、机器语言,代码化指令的集合,汇编语言
26、特点:用助记符来代替机器指令的操作码和操作数,如用ADD表示加法,用SUB表示减法等;每条指令都有明显的符号标识;汇编语言仍然是面向机器指令系统的,还保留了机器语言的固有缺陷;汇编语言编写的程序比较直观和易记忆。,1055-(383+545),2、汇编语言,MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX,符号化指令的集合,高级语言特点:接近人们的自然语言(主要是英语) ,又称算法语言 ;具有通用性,在一定程度上与机器无关;易学、易用、易维护。人们可以更有效、更方便地用它来编制各种用途的计算机程序。,1055-(383+545),S=1055-
27、(383+545),3、高级语言,符号化语句的集合,程序设计语言分类【例】下列关于机器语言程序与高级语言程序的说中,错误的是_。(07多选)A. 机器语言程序比高级语言程序执行速度慢 B.机器语言程序比高级语言程序可移植性强 C.机器语言程序比高级语言程序可读性差 D.有了高级语言程序,机器语言程序就无存在的必要了注:不同类型、型号的计算机,其机器语言是不同的。故可移植性差。【例】程序设计语言划分为机器语言、汇编语言 和高级语言三类,其中高级语言的运算速度最快。(06判断),重点知识点:,3.3.2 程序设计语言中的数据成分和控制成分,高级语言种类千差万别,但是其基本成份都可归纳为四种:数据成
28、分:用于描述程序所处理的数据对象。 例如,对数据类型和数据结构进行说明。运算成分:用于描述程序所包含的数据运算。 例如,算术表达式和逻辑表达式。控制成分:用于表达程序中的控制构造。 例如,条件语句和循环语句。传输成分:用于表达程序中的数据传输。 例如,输入输出I/O语句。,数据成分:数据作为程序操作的对象,具有名称、类型、作用域等特征。使用前要对数据的这些特征加以说明:数据名称:由用户通过标识符命名;数据类型:说明数据需占用存储单元的多少和存放形式;作用域:说明数据可以使用的范围。 以C语言为例,其数据构造方式可分为基本类型和派生类型:,1、数据基本类型,算术数据类型:算术变量的值是一个数。数
29、值有范围和精度的要求。 例如: int x; 说明了x为整型变量字符数据类型:字符变量的值是一个“字符”。数值有范围和精度的要求。 例如: char c; 说明了c是字符型变量。枚举数据类型:枚举是为一组枚举值提供便于记忆的标识符。 例如: enum color (red, yellow,blue);color table; 定义了一种枚举类型color(色彩),并说明table是一个该类型的变量。变量table的值只能是相应类型所枚举的值(red“红”或yellow“黄”或blue“蓝”)。,数组数据类型:数组是一组类型相同有序数据的集合。数组用数组名、数组类型和数组维数表来说明。例如: i
30、nt y3; 说明y是一个整型数组,由个整型变量元素y0、y1和y2组成。 指针数据类型:指针是数据对象的地址,指针变量是存放某个数据对象地址的变量。 例如: int i=3; int *p= 这两个语句分别定义了整型变量i和指针变量p,还说明了对i和P的初值设置。即整型变量i的初值为3,而指针变量p存储了变量i的地址,即p指针 “指向”变量i。 用户定义类型:是由用户按应用要求和语言语法定义的数据类型。 具有这种类型数据对象的成员可以是基本类型、派生类型等标准类型的数据,也可以是用户已经定义类型的数据。 例如:语言中的结构体、联合体均属此种用户定义的数据类型。,2、数据派生类型,1、 顺序结
31、构,控制成分:程序语言中控制成分的作用:提供一种基本框架,在此基本框架支持下,可以将数据和对数据的运算组合成程序。求解可计算问题的程序框架都可用顺序、选择、和重复,这三种控制成分来描述:,用来表示一个计算操作(或语句)的序列。从操作序列的第一个操作开始,顺序执行序列后续的操作,直至序列的最后一个操作。,条件选择结构由一个条件(P)和两个供选择的操作A和B组成。在执行中,先计算条件表达式P的值,如果P的值为真,则执行操作A;否则执行操作B。当条件选择结构中的A或B又由条件选择结构组成时,就呈现嵌套的条件选择结构形式。,2、 条件选择结构,求x和y中值大的数,重复结构为程序描述重复计算过程提供控制
32、手段,重复结构有多种形式,最基本的形式为 while型重复结构。,3、重复结构,注:while 语句表示“当的时候”。,主要程序语言成分【例】高级语言种类繁多,但其基本成分可归纳为数据成分、运算成分、控制成分、传输成分等4种,算术表达式属于运算成分。(08判断),重点知识点:,3.3.3 程序设计语言处理系统,语言处理系统:是负责把用各种软件语言编写的各种程序变换成可在计算机上执行的程序,或最终计算结果,或其他中间形式。语言处理系统包括:翻译程序:它将一种语言的程序翻译成等价的机器语言程序。源语言、源程序:是指被翻译的语言、程序;目标语言、目标程序:是指经过翻译生成的语言、程序。翻译程序分类:
33、1、从汇编语言到机器语言的翻译程序,称为“汇编程序”。2、按源程序中语言的执行顺序,逐条翻译并立即执行相应功能的处理程序,称为“解释程序”。3、从高级语言到汇编语言(或机器语言)的翻译程序,称为“编译程序”。,语言处理系统【例】_能将高级语言源程序转换成目标程序。(05单选) A. 编译程序B.编辑程序 C.解释程序 D.调试程序【例】有高级语言编写的源程序要转换成计算机能直接执行的目标程序,首先必须经过_。(08填空),重点知识点:,3.3.4 主要程序语言介绍,高级语言虽然接近自然语言,但和自然语言仍有很大差距。主要表现在语法规则极为严格。,1.FORTRAN语言,2. Basic和VB语
34、言,3.Java语言,4.C语言和C+语言,VB 6.0,主要程序语言【例】以下常用的高级程序设计语言中,主要用于数值计算的是_。(07单选) A. FORTRANB.BASIC C.JAVA D.C【例】C+语言是以C语言为基础发展起来的通用程序设计语言,是面向对象的程序设计的主流语言(08填空),重点知识点:,3.4算法和计算机软件理论基础,3.4.1 算法和数据结构,“软件的主体是程序,程序的核心是算法”。要使计算机完成某一问题的解题任务,首先必须针对该问题设计一个解题步骤,然后再据此编写程序。这里所说的解题步骤就是“算法”,而程序则是对解题对象和解题步骤用程序语言进行具体的一种描述。程
35、序中用具有一定“结构”的变量来表示问题的对象,用函数和语句来实现解题的操作。因此“算法”和“数据结构”是编写程序所要首先考虑的两个重要方面。,什么是算法: 用于完成某个信息处理任务的一组有序而明确的、可以由计算机执行的操作(或指令),它能在有限时间内执行结束并产生结果。,算法的性质:算法的基本性质:确定性:算法中每一步运算必须有确切的定义。可终结性:又称有穷性,一个算法应该能在执行了有限操作步骤后结束。能行性:算法中操作都是可以具体执行的。输出:至少产生一个输出。,计算机求解问题的一般步骤:理解和确定问题;寻找解决问题的方法与规划,并将其表示成算法;使用程序设计语言进行编程并进行调试;运行程序
36、,获得问题的解答;对算法进行评估。,算法设计的方法: 由粗到细,由抽象到具体的逐步求精的方法,实例:对包含n个整数元素的数组A进行排序。1.粗略的思路: 从所有整数中选一个最小的,作为已排好序的第一个数; 从剩下的未排序整数中选出最小的,放在已排好序列的最后一个数后面; 反复执行,直到所有整数都放到已排好的序列中。,算法设计的方法(续): 由粗到细,由抽象到具体的逐步求精的方法,实例:对包含n个整数元素的数组A进行排序。2.细化: 考虑数据如何组织,排好的序列存放在何处,如何“反复执行”等。,算法可描述为:设置 i初值为1,循环执行下列操作,直到i= n; 确定Ai和An中最小元素的位置,设为
37、j; 交换Ai和A j; i=i+1; ,算法设计的方法(续): 由粗到细,由抽象到具体的逐步求精的方法,实例:对包含n个整数元素的数组A进行排序。3.进一步细化: 如何从数组A中选最小的元素,如何对两个元素进行交换等,最终得到求解该问题精确描述的算法。 有了算法作为依据,就可以用具体的程序代码编写出相应的程序。,算法表示与算法分析: 表示形式:文字说明、流程图表示、伪代码和程序设计语言。,算法好坏:(1)执行算法所要占用的计算机资源,包括时间资源和空间资源(2)算法是否容易理解,是否容易调试和测试等。,算法【例】在软件开发过程中,简单地说,_就是解决问题的方法和步骤。(07填空)【例】算法是
38、问题求解规则的一种过程描述,下列关于算法的叙述,正确的是_(08单选) A.算法一定要用高级语言描述B.可采用类似自然语言的“为代码”或流程图来描述算法C.条件选择结构由条件和选择两种操作组成,因此算法允许具有二义性 D.算法要求在若干或无限步骤内得到所求问题的解答【例】解决某一问题的算法也许有多种,但它们都必须满足确定性、有穷性、能行性、输入和输出等基本要求。其中输出的个数应大于等于_。(07填空),重点知识点:,数据结构(Data Structures),概念:研究程序设计中计算机操作对象以及它们之间关系和运算的一个专门学科。研究数据结构一般包括三个方面的内容:数据的逻辑结构:是指对数据之
39、间关系的描述。它只抽象地反映数据元素间的逻辑关系,而不管在计算机中的存储方式。数据的存储结构:是指数据的逻辑结构在存储器上的存储方式。数据的运算:对各种数据逻辑结构都有其相对应的各种运算,每一种逻辑结构都有一个对应的运算集合。常用的运算有检索、插入、删除、更新、排序等。,数据的逻辑结构,数据结构(Data Structures),数据结构的实现存储结构,顺序存储结构:借助数据元素在存储器中的相对位置来表示数据元素之间的逻辑关系链接表存储结构:利用地址指针来表示元素之间的逻辑关系,数据结构【例】简单地说,数据结构是程序设计中由若干数据元素按照一定方式构成的复合数据以及作用于其上的函数或运算。(07判断)【例】数据结构主要研究程序设计中计算机操作对象以及它们之间的关系和运算。下列关于数据结构的叙述,正确的是_(08多选) A.数据的运算是指数据存储 结构的运算B.数据的 存储结构是逻辑结构在计算机存储器上的实现C.数据的逻辑结构是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系D.线性表和树是典型的数据逻辑结构,链接表是典型的数据存储结构,重点知识点:,本 章 结 束,返回主目录页,
链接地址:https://www.31ppt.com/p-1526691.html