基础知识软件.ppt
基础知识基础知识软件软件2010赛前知识点梳理赛前知识点梳理系统软件:为了使用和管理计算机的软件系统软件:为了使用和管理计算机的软件应用软件:为了某个应用目的而编写的软件,主要有辅助教学软件、辅助设应用软件:为了某个应用目的而编写的软件,主要有辅助教学软件、辅助设计软件、文字处理软件、工具软件以及其它的应用软件。计软件、文字处理软件、工具软件以及其它的应用软件。系统软件是硬件与应用程序之间的接口硬件系统软件应用软件操作系统(operating system)是计算机系统中的一个系统软件,是一些程序模块的集合它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行。操作系统的作用:管理系统中的各种资源、为用户提供良好的界面。操作系统的主要功能1作业管理:包括任务管理、界面管理、人机交互、图形界面、语音控制和虚拟现实等;2文件管理:又称为信息管理;3存储管理:实质是对存储“空间”的管理,主要指对内存的管理;4设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收;5进程管理:又称处理机管理,实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。操作系统分类操作系统分类DOS操作系统按任务数图形用户界面操作系统命令行界面操作系统多用户操作系统单用户操作系统多任务操作系统单任务操作系统分时操作系统批处理系统实时操作系统网络操作系统按用户界面按用户数按系统功能常用操作系统常用操作系统1.DOSMicrosoft公司研制的配置在PC的操作系统 单用户命令行界面操作系统 从4.0版开始成为支持多任务的操作系统。2.Windows 图形用户界面Windows XP Professional Windows XP Tablet PC Windows XP Home Windows 98Windows NTWindows 2000Windows XP常用操作系统常用操作系统3.Unix分时操作系统分时操作系统,主要用于服务器/客户机体系4.Linux由UNIX发展而来,源代码开放5.OS/2为PS/2设计的操作系统,用户可自行定制界面 6.Mac OS较好的图形处理能力,主要用在桌面出版和多媒体应用等领域。用在苹果公司的Power Macintosh机及Macintosh一族计算机上,与Windows缺乏较好的兼容性7.Novell Netware 基于文件服务和目录服务的网络操作系统,用于构建局域网。数据库(DB)是一个以某种组织方式存储在磁盘上的数据的集合。它通过现有的数据库管理系统(例如,Access、SQL Server和Oracle等)创建和管理。数据库不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。数据库中存放的数据可以被多个用户或多个应用程序共享。例如,某航空公司票务管理系统的数据库,在同一时刻可能有多个售票场所都在访问或更改该数据库中的数据。数据库应用系统数据库应用系统数据库应用系统是指基于数据库的应用软件,例如学生管理系统、财务管理系统等。数据库应用系统由两部分组成,分别是数据库和程序数据库管理系统(DBMS)用来创建和维护数据库。例如,Access、SQL Server、Oracle、PostgreSQL等都是数据库管理系统。图1.1描述了DB、DBMS和数据库应用系统之间的联系。大中型关系型数据库有IBM DB2、Oracle、SQL Server、SyBase、Informix等 常用的小型数据库有Access、Pradox、Foxpro等 现在个人用户比较常用的主要是基于中小型数据库MS SQL Server和Access 数据模型,最常用的三大类分别为层次结构式、网络式及关系式的模型关系数据库管理系统(RDBMS)是DBMS的一种,它用于创建和维护关系数据库。当今流行的大多数DBMS,其实都是关系数据库管理系统,如Access、SQL Server和Oracle等。计算机数据管理计算机数据管理1人工管理阶段2文件系统阶段3数据库系统阶段当今流行的、常用的数据库管理系统,包括Access、SQL Server、Oracle、MySQL、DB2和PostgreSQL等。计算机语言、程序、程序设计计算机语言、程序、程序设计计算机语言:人与计算机交流的工具。计算机语言:人与计算机交流的工具。程序:计算机为完成序某一个任务用计算机语言编写的一系列指令的集合。程序:计算机为完成序某一个任务用计算机语言编写的一系列指令的集合。程序设计:分析问题、编写程序的过程程序设计:分析问题、编写程序的过程程序和指令程序和指令指令:在设计计算机时规定电子线路能完成的一条指令;把某种型指令:在设计计算机时规定电子线路能完成的一条指令;把某种型号计算机能实现的全部指令的集合称为该型号计算机的号计算机能实现的全部指令的集合称为该型号计算机的指令系统指令系统。程序:由许多指令按语句次序排列起来构成解题的步骤(简而言之,程序:由许多指令按语句次序排列起来构成解题的步骤(简而言之,就是就是指令的有序集合指令的有序集合)。)。机器语言汇编语言高级语言面向对象语言面向机器面向机器面向过程计算机语言计算机语言面向对象计算机语言计算机语言-机器语言机器语言 机器语言是由机器语言是由0 0和和1 1二进制代码按一定规则组成的、二进制代码按一定规则组成的、能被机器直接理解和执行的指令集合。机器语言能被机器直接理解和执行的指令集合。机器语言中的每一条语句实际上是一条二进制形式的指令中的每一条语句实际上是一条二进制形式的指令代码,指令格式如下:代码,指令格式如下:操作码操作码 操作数操作数 要完成的操作类要完成的操作类型或性质型或性质 操作的内容或所操作的内容或所在的地址在的地址计算机语言计算机语言-机器语言机器语言例如,计算例如,计算A=15+10 的机器语言程序:的机器语言程序:10110000 00001111:把把15放入累加器放入累加器A中中00101100 00001010:10与累加器与累加器A的值相加,的值相加,结果仍放入结果仍放入A中中11110100:结束,停机结束,停机特点:特点:编程工作量大,难学、难记、难修改,编程工作量大,难学、难记、难修改,是面向机器的语言是面向机器的语言程序代码不需要翻译程序代码不需要翻译所占空间少,执行速度快。所占空间少,执行速度快。机器语言是计算机唯一能识别并直接执行的语言,与汇编语言或高级语言相比,机器语言是计算机唯一能识别并直接执行的语言,与汇编语言或高级语言相比,其执行效率高。但其可读性差,不易记忆;编写程序既难又繁,容易出错;程其执行效率高。但其可读性差,不易记忆;编写程序既难又繁,容易出错;程序调试和修改难度巨大,不容易掌握和使用。此外,因为机器语言直接依赖于序调试和修改难度巨大,不容易掌握和使用。此外,因为机器语言直接依赖于中央处理器,中央处理器,所以用某种机器语言编写的程序只能在相应的计算机上执行,无所以用某种机器语言编写的程序只能在相应的计算机上执行,无法在其他型号的计算机上执行,也就是说,可移植性差。法在其他型号的计算机上执行,也就是说,可移植性差。计算机语言计算机语言汇编语言汇编语言将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。例如,计算例如,计算 A=15+10 的汇编语言程序:的汇编语言程序:MOVA,15:把:把15放入累加器放入累加器A中中ADDA,10:10与累加器与累加器A相加,相加,结果存入结果存入A中中HLT:结束,停机:结束,停机特点:特点:汇编语言面向机器汇编语言面向机器汇编语言编写的程序,必须翻译成机器语言,才能被计算机执行。汇编语言编写的程序,必须翻译成机器语言,才能被计算机执行。通过这种助记符,人们就能较容易地读懂程序,调试和维护也更方便了。通过这种助记符,人们就能较容易地读懂程序,调试和维护也更方便了。但这些助记符号计算机无法识别,需要一个专门的程序将其但这些助记符号计算机无法识别,需要一个专门的程序将其翻译成机器语翻译成机器语言,这种翻译程序被称为汇编程序言,这种翻译程序被称为汇编程序。汇编语言的一条汇编指令对应一条机器指令,与机器语言性质上是一样的,汇编语言的一条汇编指令对应一条机器指令,与机器语言性质上是一样的,只是表示方式做了改进,只是表示方式做了改进,其可移植性与机器语言一样不好其可移植性与机器语言一样不好计算机语言计算机语言算法语言算法语言 算法语言是由表达各种意义的词和数学公式按照一定的语法规则来编写程序的算法语言是由表达各种意义的词和数学公式按照一定的语法规则来编写程序的语言。语言。计算计算 A=15+10 的的pascal语言程序:语言程序:a:=15+10 15与与10相加的结果放入相加的结果放入A中中 write(a)输出输出A END 程序结束程序结束特点:特点:面向过程面向过程 高级语言编写的程序,必须翻译成机器语言,才能被计算机执行。高级语言编写的程序,必须翻译成机器语言,才能被计算机执行。1954年,第一个高级语言年,第一个高级语言FORTRAN问世了问世了 语言处理程序所处理的对象称为称为语言处理程序所处理的对象称为称为源程源程序序(source program),源程序通过语,源程序通过语言处理程序进行处理而产生的程序称为言处理程序进行处理而产生的程序称为目标程序目标程序(object program);机器不能直接接受和执行用高级语言编写的程序(源程序)。高级语言源程序必须机器不能直接接受和执行用高级语言编写的程序(源程序)。高级语言源程序必须经过相应的翻译程序翻译成机器指令的程序(目标程序),才能被计算机理解并执经过相应的翻译程序翻译成机器指令的程序(目标程序),才能被计算机理解并执行。行。这种翻译通常有两种做法:这种翻译通常有两种做法:编译方式编译方式是通过一种编译程序是通过一种编译程序将用高级语言编写的源程序整个翻译成目标程序将用高级语言编写的源程序整个翻译成目标程序,然,然后后交由计算机执行交由计算机执行。采用编译方式的。采用编译方式的优点是执行的速度快,经过编译的目标程序保优点是执行的速度快,经过编译的目标程序保密性好,可以重复执行而不要重复翻译密性好,可以重复执行而不要重复翻译。现在许多的高级语言都配备有相应的调试。现在许多的高级语言都配备有相应的调试功能,能够指出源程序中出错的地方功能,能够指出源程序中出错的地方解释方式解释方式是对那些是对那些用高级语言编写的源程序逐句进行分析,边解释边执行,不产生用高级语言编写的源程序逐句进行分析,边解释边执行,不产生目标程序目标程序。解释程序具有跟踪对话能力,当你按照屏幕上的提示更正了一个语句后,。解释程序具有跟踪对话能力,当你按照屏幕上的提示更正了一个语句后,程序又继续往下执行、直到程序完全成功。但这种方式执行的程序又继续往下执行、直到程序完全成功。但这种方式执行的速度慢,花费机器的速度慢,花费机器的时间较多,时间较多,Basic采用解释方式采用解释方式1956年首先在年首先在IBM公司的计算机上实现的由美国的计算机科学家巴科斯设计公司的计算机上实现的由美国的计算机科学家巴科斯设计FORTRAN语言,标志着高级语言的到来语言,标志着高级语言的到来 Fortran是第一个被广泛用于科学计算的高级语言是第一个被广泛用于科学计算的高级语言总结总结1、机器语言、机器语言 机器语言是用机器语言是用二进制代码表示二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。不同的计算机能直接识别和执行的一种机器指令的集合。不同系列的系列的CPU,具有不同的机器语言,具有不同的机器语言优点:机器语言具有灵活、直接执行和速度快等。优点:机器语言具有灵活、直接执行和速度快等。缺点:编出的程序全是些缺点:编出的程序全是些0和和1的指令代码的指令代码,直观性差直观性差,还容易出错、还容易出错、移植性差移植性差2、汇编语言、汇编语言 汇编语言是汇编语言是一种用助记符表示一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言用的仍然面向机器的计算机语言。汇编语言亦称符号语言用汇编语言等非机器语言书写好的符号程序称汇编语言等非机器语言书写好的符号程序称源程序源程序,运行时汇编程序要将运行时汇编程序要将源程序翻译成源程序翻译成目标程序,目标程序,汇编语言是低级语言汇编语言是低级语言,仍然是面向机器的语言仍然是面向机器的语言优点:其目标程序占用内存空间少优点:其目标程序占用内存空间少,运行速度快运行速度快,有着高级语言不可替代的用途有着高级语言不可替代的用途。缺点:缺点:使用起来还是比较繁琐费时使用起来还是比较繁琐费时,移植性差移植性差3、高级语言、高级语言 不论是机器语言还是汇编语言都是面向硬件的具体操作的,高级语言是面向用户的语言。不论是机器语言还是汇编语言都是面向硬件的具体操作的,高级语言是面向用户的语言。无论何种机型的计算机无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序。高级语言的只要配备上相应的高级语言的编译或解释程序。高级语言的通通用性强用性强,兼容性好兼容性好,便于移植便于移植 结构化程序设计方法结构化程序设计方法1.自顶向下自顶向下2.逐步细化逐步细化3.模块化设计模块化设计4.结构化编码结构化编码 结构化程序设计由结构化程序设计由迪克斯特拉迪克斯特拉(E.W.dijkstra)在在1969年提出,是以模块化设计年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。顺序结构、选择结构和循环结构来实现。结构化程序设计的基本思想是采用结构化程序设计的基本思想是采用“自顶向下,逐步求精自顶向下,逐步求精”的程序设计方法和的程序设计方法和“单单入口单出口入口单出口”的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化。经过逐步细化。C,FORTRAN,PASCAL1970年,瑞士计算机科学家年,瑞士计算机科学家Niklaus.Wirth开发了第一个结构化程序设计开发了第一个结构化程序设计语言语言Pascal语言,标志着结构化程序设计时期的开始。语言,标志着结构化程序设计时期的开始。Pascal语言语言的简洁明了以及丰富的数据结构,为程序员提供了极大的方便性与灵的简洁明了以及丰富的数据结构,为程序员提供了极大的方便性与灵活性,同时它特别适合微计算机系统,因此大受欢迎,并迅速走红。活性,同时它特别适合微计算机系统,因此大受欢迎,并迅速走红。结构化程序设计方法也在整个结构化程序设计方法也在整个20世纪世纪70年代的软件开发中占绝对统治年代的软件开发中占绝对统治地位。除地位。除Pascal语言外,常见的结构化程序设计语言还有语言外,常见的结构化程序设计语言还有C、FORTRAN、True BASIC等。等。结构化程序设计语言和结构化程序设计方法又无法满足用户需求的变化结构化程序设计语言和结构化程序设计方法又无法满足用户需求的变化了,其缺点也日益显露出来:了,其缺点也日益显露出来:(1)代码的可重用性差。随着软件规模的逐渐庞大,代码重用成了提)代码的可重用性差。随着软件规模的逐渐庞大,代码重用成了提高程序设计效率的关键;但采用传统的结构化设计模式,程序员每进高程序设计效率的关键;但采用传统的结构化设计模式,程序员每进行一个新系统的开发,几乎都要从零开始,这中间需要做大量重复、行一个新系统的开发,几乎都要从零开始,这中间需要做大量重复、繁琐的工作。繁琐的工作。(2)可维护性差。结构化程序是由大量的过程(函数、子程序)组成)可维护性差。结构化程序是由大量的过程(函数、子程序)组成的;随着软件规模逐渐庞大,程序变得越来越复杂,过程(函数、子的;随着软件规模逐渐庞大,程序变得越来越复杂,过程(函数、子程序)越来越多,相互间的耦合越来越高,它们变得难以管理;当某程序)越来越多,相互间的耦合越来越高,它们变得难以管理;当某个业务有所变化时必须对大量的程序进行修改和调试。个业务有所变化时必须对大量的程序进行修改和调试。(3)稳定性差。结构化程序要求模块独立,并通过过程(函数、子程)稳定性差。结构化程序要求模块独立,并通过过程(函数、子程序)的概念来实现。但这一概念狭隘、稳定性有限,在大型软件开发序)的概念来实现。但这一概念狭隘、稳定性有限,在大型软件开发过程中,数据的不一致性问题仍然存在。过程中,数据的不一致性问题仍然存在。(4)难以实现。在结构化程序中,代码和数据是分离的,正如)难以实现。在结构化程序中,代码和数据是分离的,正如Niklaus.Wirth的定义:结构化程序算法数据结构。例如在的定义:结构化程序算法数据结构。例如在C语言语言中,代码单位为函数,而数据单位称为结构,函数和结构没有结合在中,代码单位为函数,而数据单位称为结构,函数和结构没有结合在一起一起 面向对象程序设计(面向对象程序设计(Object-oriented programming)所谓面向对象的程序设计,就是把面向对象的思想应用到软件工程中,所谓面向对象的程序设计,就是把面向对象的思想应用到软件工程中,并知道开发维护软件。并知道开发维护软件。对象是由数据和容许的操作组成的封装体,所谓面向对象,就是基于对对象是由数据和容许的操作组成的封装体,所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识了解刻画客观象的概念,以对象为中心,类和继承为构造机制,认识了解刻画客观世界以及开发出相应的软件系统。世界以及开发出相应的软件系统。面向对象的程序设计在很大程序上应归功于从模拟领域发展起来的面向对象的程序设计在很大程序上应归功于从模拟领域发展起来的simula,simula提出了对象和类的概念。提出了对象和类的概念。C+、java和和smaltalk是面是面向对象程序设计语言的代表。向对象程序设计语言的代表。原有的高级语言,如原有的高级语言,如BASIC、PASCAL等结合可视化的界面编程技术、等结合可视化的界面编程技术、面向对象思想、数据库技术,产生了所谓的第四代语言,如面向对象思想、数据库技术,产生了所谓的第四代语言,如Visual Basic,Delphi等。等。Visual Basic的语言基础是的语言基础是BASIC语言,语言,Delphi的语言基础是的语言基础是PASCAL,这两种语言都是软件开发人员所熟知的语言。,这两种语言都是软件开发人员所熟知的语言。Visual Basic和和Delphi是目前应用软件的主流开发工具。是目前应用软件的主流开发工具。1967年挪威计算中心的Kisten.Nygaard和Ole.Johan Dahl开发了Simula67语言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,被认为是第一个面向对象程序设计语言。1面向对象的程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序设计的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性、和扩展性。下面关于面向对象的程序设计说法中正确的是()。A面向对象的程序设计方法通常采用自顶向下的设计方法进行设计。B面向对象的程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。C支持面向对象特性称为面向对象的编程语言,目前较为流行的有C+,JAVA,C#等。D面向对象的程序设计的雏形来自于Simula语言,后来在SmallTalk语言的完善和标准化的过程中得到更多的扩展和对以前的思想的重新注解。至今,SmallTalk语言仍然被视为面向对象的基础。BCD 20世纪60年代开发的Simula 67,是面向对象语言的鼻祖。它首次提出了对象的概念