admin管理员组

文章数量:1532748

2024年1月25日发(作者:)

计算机复习要点(第三讲)

计算机软件

一、关于软件

1、计算机系统:由硬件与软件两部分构成。

2、软件的地位:是人与硬件之间的接口。软件指挥与控制硬件的工作过程。没有软件,计算机系统没有用途。

3、程序与数据的关系

程序:指令的序列。完成对某一类问题的解决,而不是一个特定问题的解决。

与数据的关系:对输入的不同数据,可以产生不同的结果数据。输入的是垃圾数据,输出的必然是垃圾数据。

4、软件:程序、数据、文档资料(即一切与程序相关的资料均是)。记住:文档资料是属于软件的组成部分。

5、软件与程序的关系:程序是软件的主体。理解:没有程序,只有数据或文档,不是软件。

6、软件有哪些特性?

①不可见性:看不见、摸不着。

②适用性:具有功能,能解决用户的问题。

③依附性:在特定的硬件或软件平台上运行。如:WORD软件在WINDOWS操作系统下运行。

④复杂性:不可见性及规模大(代码行数很多)、功能复杂。

⑤无磨损性:软件是二进制,可复制任意多次而没有损耗。

⑥易复制性:是二进制代码。容易复制。

⑦不断演变性:如WINDOWS从3.1版本不断演变到WINDOWS 7

⑧有限责任:软件不做任何保证。后果自负。

⑨脆弱性:由于是二进制代码,很容易修改二进制代码。

7、分类

①按软件权益的处置分:

1)商品软件:需要付费,是到软件的使用权。违犯版权使用软件是盗版。将一个软件复制到多台机器上使用是非法的。除非另外购买了软件的软件许可证(如:购买了100个用户的许可证,就可以复制到100台机器上或者在网络上,安装的一份软件,同时允许100个用户使用软件)。

2)共享软件:具有版权。试用期间,可任意使用、拷贝、分发(不可署名、不可修改后分发)。交了注册费,成为注册用户后,就只有使用权了。

3)自由软件:任意使用、任意拷贝、任意修改、免费、任意分发、允许销售。限制是:对软件源代码的任何修改,都必须向所有的用户公开,而且必须允许此后的用户进一步修改和拷贝的权利。因此,自由软件不是绝对自由。

附:理查德•斯塔尔曼是自由软件的创始人。GNU是自由软件工程(开发类UNIX系统,结果是:LINUX自由软件)。FSF---自由软件基金会。GPL---自由软件的通用公共许可证(即:自由软件的非版权原则:自由拷贝、自由分发、自由…….)。

注意:自由软件与免费软件的区别:免费软件是不需要付费就可使用(使用权)。只有使用第 1 页 共 9 页

权,通常没有修改权、拷贝权、署名权等。自由软件通常都是免费软件,免费软件不一定是自由软件。

②按应用分:

1) 系统软件

给应用软件的开发、运行提供支撑、管理与使用计算机提供方便的软件。

常见的系统软件:(记住下表)

操作系统:WINDOWS系列、UNIX、LINUX、Android(手机、平板操作系统)

数据库管理系统(DBMS):DB2、Oracle、Microsoft SQL Server、Sybase、MySQL、Access、VFP、Foxbase、VFoxPro等。

编译程序:C/C++/Java/Fortran的编译程序。

实用工具:磁盘清理程序、碎片整理程序、备份程序、杀毒软件、防火墙。

BIOS也是系统软件。

系统软件的特征:与硬件有很强的交互性、对硬件资源进行统一管理、起基础性和支撑作用(即:是应用软件的运行平台)。在计算机系统中,系统软件必不可少。

2) 应用软件(记住一些常用的软件的名字,以便判是不是应用软件、以及什么功能)

文字处理软件: Word、Adobe Acrobat、 WPS、 FrontPage等

电子表格软件: Excel等

图形图像软件: AutoCAD、Photoshop、CorelDraw、3DS MAX等

媒体播放软件: Media Player、Real Player、Winamp等

网络通信软件: Outlook Express、MSN、QQ、ICQ等

演示软件: PowerPoint等

信息检索软件: Google,天网,百度等

个人信息管理软件: Outlook,Lotus Notes

测试:

1. SQL Server,Access,FoxPro都是_______________.

A. 支撑管理软件系统 B. 应用管理软件系统 C. 用管理软件系统 D. 数据库管理系统

2. 下列不属于文本处理软件的是_______________.

A. FrontPage B. WPS C. PhotoShop D. NotePad

3. 系统软件通常包括操作系统,_______________,数据库管理系统,实用工具与工具软件.

A. 定制系统 B. 通用系统 C. MS Office套件 D. 语言处理程序

二、操作系统

1、作用:

①为计算机中运行的程序管理和分配各种软硬件资源。(大管家功能,管理所有的资源)

第 2 页 共 9 页

②为用户提供友善的人机界面。(如WINDOWS的GUI---图形用户界面)

③为应用程序的开发和运行提供一个高效率的平台。(程序员开发程序)

记住:GUI含义是:图形用户界面。

ICON含义是:图标。用于形象化地表示:文件、程序、设备等对象。

裸机:没有安装任何软件的计算机。没有软件,裸机没有什么用。

2、操作系统将计算机硬件变成一台功能“虚计算机”,屏蔽了硬件的细节。

3、安装了操作系统,就是将它的程序代码安装在外存(如:硬盘)上,不是内存。

4、操作系统的启动:

第一步:执行BIOS中加电自检。与操作系统无关。

第二步:执行BIOS中引导装入程序(自举程序)。与操作系统无关。

第三步:装入并执行硬盘上的主引导记录(512字节的机器代码程序),不同操作系统,主引导记录程序不同。与操作系统相关。主引导记录装入并执行操作系统的引导程序。

第四步:操作系统本身(操作系统的引导程序再不断地装入并执行操作系统本身)。

注意:启动过程中会读取CMOS中参数数据。若CMOS中数据丢失,则系统可能无法正常启动。

5、操作系统共有四大管理:多任务管理(CPU管理)、存储管理(对内存的管理)、文件管理、设备管理。

6、什么是多任务处理?

①指多个任务在计算机中同时运行,每个任务都可以使用包括CPU在内的几乎全部软硬件资源。任务是指装入内存并启动执行的一个程序。为了支持多任务处理,操作系统中有一个处理器调度程序负责把 CPU时间分配给各个任务,使得多个任务“同时”执行。调度程序采用按时间片轮转的方法,给每个任务都能轮流得到一个时间片的CPU时间,在时间片结束后,再将CPU交给下一个任务。这样,只要一个CPU就可以“同时”执行多个任务。

时间片到后,无论程序执行到何处,WINDOWS都强制使它让出CPU,这就是:抢占式多任务。Win3.1中采用的是非抢占式多任务,win95及以后WIN系统,都是:抢占式多任务

目的:提高CPU的利用率。

注意:若是单核心CPU,任何时刻只有一个任务在执行。若是双核,则任一时刻,真正有2个任务在执行。WINDOWS操作系统本身也与应用程序一起参与CPU轮转。故如果只有一个应用程序,同样要进行CPU轮转,不可能一直占用CPU。

②借助于“任务管理器”,可以查看到有哪些任务同时在运行。

③前台任务与后台任务:

1)前台任务:能接受用户输入(击键或按击鼠标)的窗口只能有一个,称为活动窗口,它所对应的任务称为前台任务。

2)后台任务:除前台任务外,所有其它任务均为后台任务

3)前台任务与后台任务的区别:

前台任务对应的窗口(活动窗口)位于其它窗口的前面。

活动窗口的标题栏比非活动窗口颜色更深(深蓝色)。

前台任务与后台任务的共同点:都在计算机中运行。

第 3 页 共 9 页

4)前台任务与后台任务的切换:

为了输入信息到某个后台任务中去,必须切换窗口(单击要激活的后台任务窗口的任何部位, 或单击任务栏中对应的任务按钮)。

5)无论是前台任务,还是后台任务,都能得到CPU的时间片轮转,得到CPU的执行。不能认为:后台任务得不到CPU的执行。

7、什么是存储管理?

对内存的管理,不包含外存。功能是:内存分配和回收、虚拟内存管理、内存共享和保护等。

虚拟存储技术的基本思想是:程序员是针对虚拟内存空间设计与编写程序的(虚拟内存大小:由地址线及硬盘空间决定。最大物理内存空间大小由芯片组决定)。当程序装入时,不必将其全部读入到内存,而只需将当前需要执行的一部分程序和数据页面读入内存,就可让程序开始执行。当执行到不在物理内存中的程序时,通过虚拟内存调试算法,进行页面调度,程序继续执行。

注意(记住):虚拟内存调度算法是:LRU。(将最近最少使用的页面调换出去。)记住算法的名字。

注意(记住):调度的单位:页。(将虚拟内存中的程序划分成许多个页,一页大小如:4KB)

注意(记住):Windows XP中的虚拟内存的交换文件是 pagefile. sys,位于系统盘的根目录下。

8、文件管理:文件是一组相关信息的集合,它存储在软盘、硬盘、光盘等外存储器上。

在Windows系统中允许使用长文件名,长达255个字符。

文件说明信息包括:文件名、文件类型、文件物理位置、文件长度、文件时间(创建时间、最近修改时间、最近访问时间等)、文件创建者、文件属性等。

文件属性用于将文件标注为系统文件、隐藏文件、存档文件或只读文件。

文件目录:通过文件名可以快速方便地获取文件的说明信息。提高文件的检索速度、允许文件在不同的目录中使用相同的名字、允许多个用户共享一个文件。

文件管理:文件系统在存储介质上为创建文件分配空间,为删除文件而回收空间,并对空闲空间进行管理。

注意(记住):文件说明信息是保存在该文件的目录中,文件的内容(程序或数据)是保存在磁盘的数据区中。

注意(记住):文件“系统属性”:表示该文件是WINDOWS操作系统自身内部的文件,若删除文件会提出警告。在资源管理器中通常不显示出来(除非在资源管理器中设置了“显示全部文件”)

注意(记住):文件“存档属性”:是由WINDOWS操作系统中的文件备份程序使用的,用于决定文件是否需要备份。备份过后,存档属性自动清除。若备份后又修改过文件,则文件的存档属性又自动加上(表示又需要备份了)。

注意(记住):文件“压缩属性”:文件保存到磁盘上时,文件中的内容是否要进行压缩。

注意(记住):文件“加密属性”:文件保存到磁盘上时,文件中的内容是否要进行加密(以便不让无关用户了解文件内容)。

第 4 页 共 9 页

注意(记住):文件“编制索引属性”:帮助编制该文件的索引,以便快速进行检索。

注意(记住):WINDOWS中采用树状结构来组织文件夹。每一个盘(逻辑盘如:C:盘、D:盘等)只有一个根文件夹。根文件夹不能被删除。根文件夹中可以有文件和其它子文件夹。

注意:物理盘与逻辑盘的区别。物理盘可能只有一个,但可以将物理盘进行分区(划分成几块),每一个分区对应一个逻辑盘(如:C盘、D盘等),因而一个物理盘,对应多个逻辑盘。用户使用看到的是逻辑盘。

文件夹是最大优点是:对文件的共享和保护提供了方便。一个文件夹设置为“共享”,含义是:文件夹中所有的文件都可以为网络上其它用户所共享使用。

提高类的知识点:

①硬盘采用的文件管理程序有:FAT16(用于2GB以下硬盘)、FAT32(2GB以上硬盘,WINDOWS XP下最大是32GB,单个文件最大4GB)、NTFS(硬盘最大2TB).

②CD-ROM采用是:CDFS文件管理程序。

③CD-RW和DVD采用的是:UDF文件管理程序。

9、设备管理:设备管理任务是协调 I/O设备与 CPU和内存的工作,为用户提供使用外部设备的最佳接口,以方便用户使用计算机。在Windows系统中,设备管理程序的结构由底向上是:设备驱动程序、I/O系统组件(含 1/O管理程序)、与应用程序的接口、应用程序。另外,Windows中的设备管理程序还支持“即插即用”(PnP)功能。

10、常用操作系统特性

①WIN XP :最大支持内存4GB,2个CPU。有32位版本XP和64位版本XP。单用户、多任务、分时。

②WIN 7:直接支持多点触控,手写识别,多显卡支持。还有“虚拟WIN XP的工作模式(使得WIN7好像WIN XP一样运行,两者几乎完全兼容)”,有32位版本和64位版本。单用户、多任务、分时。

③UNIX和LINUX:主要用于巨型机、大型机上作为网络操作系统(英文缩写:NOS)使用。多用户、多任务、分时。

测试:冲剌P26

三、程序设计语言

1、软件的主体是程序。程序的核心是算法。

2、分类:机器语言、汇编语言、高级语言。

复习:(第二章)

什么是机器语言?就是CPU的指令系统。是二进制数。是硬件唯一的可直接执行的语言。不可移植。(这是因为不同机器的CPU的指令系统不同,因而机器语言不同。)

什么是汇编语言?就是符号语言。几乎直接对应二进制的机器指令。不能直接执行。(要先通过汇编程序(一种系统软件),将汇编语言程序整个汇编成机器语言程序,然后才能执行。)也是不可移植的。(这是因为它几乎直接对应二进制的机器指令,而不同CPU,其指令系统通常不同。因此不可移植。)

第 5 页 共 9 页

注:问:机器语言写的程序都是系统软件。错误。机器语言可以写任何软件(不一定非是系统软件)。

什么是高级语言?就是面向人的语言(机器语言与汇编语言是面向机器的语言)。高级语言写的程序是可移植的(这是因为它远离机器,不面向机器,因而抽象级别高),但不可直接执行。

如何执行高级语言的程序?(注意理解记忆)

方法1:先通过编译程序(一种系统软件)变成等价的机器语言程序,然后再运行该机器语言程序。

方法2:取出高级语言程序中的一条语句,立即按语句的含义进行解释执行。然后再取下一条语句,解释执行。反复这样做。

比较(注意理解记忆):方法1称为:编译方式。方法2称为解释方式。编译方式特点:程序运行性能高,用于写复杂性的程序。会生成等价的机器语言程序,但人机交到性差。解释方式特点:程序的人机交互性好,不生成等价的机器语言程序。程序运行性能不高。适用于不复杂或性能要求不高的场合。

高级语言与机器语言(或汇编语言)比较:高级语言开发的效率高,机器语言开发的效率差。但机器语言执行性能高,高级语言执行性能差些。高级语言不能直接执行,而机器语言可直接执行。

3、程序设计语言中的基本成分:数据成分、运算成分、控制成分和传输成分。

①数据成分:用来描述程序所处理的数据对象,如对数据类型和结构的说明。

几种常见的数据类型:算术数据类型;枚举数据类型,是一组枚举值提供便于记忆的标识符;数组数据类型,是一组类型相同的有序数据的集合;指针数据类型,表示数据对象的地址;用户自定义类型(可以定义自己的数据类型)。

如:int a=2; 这是数据成份。变量a与数值2都是数据成份。Int是变量a的数据类型,是整型。

记住: 数据类型决定了数据或变量在内存中占用的字节数量(即:数据的大小)。数据的作用域是表示数据在哪个范围内可以使用的。

②运算成分:用来描述程序所包含的运算,如算术和逻辑表达式。

③控制成分:用来表达程序中的控制构造。

④传输成分:用来表达程序中数据的传输,如I/O语句与赋值语句(如:x=3;含义:将数值3传送给变量x中)。

如:printf(“Hello”);或者:scanf(“%d”,&x);都是传输成份。

1) (必须知道)任何正规程序都可以由三种结构组成:顺序结构、条件选择结构和重复结构。

2) If (P) A else B 含义是:若P为真,做A,否则做B。A与B不会同时执行。

3) While(P) S 含义是:当P为真时,反复做S,一直做到P为假为止。注意:S可能一次也不执行。即:S执行的次数,最少是0次。因为:先判P,若P一开始就为假,则S没有执行的机会。

4) (大致了解一下)For(P1;P2;P3) A 含义是:P1;while(P2){A;P3}。

4、常用程序设计语言

第 6 页 共 9 页

Fortran(面向过程、用于科学与数值计算,Fortran2003 是面向对象的)

VB(面向对象、可视化、事件处理)

Java(面向对象、用于网络平台、可跨平台运行)

C(面向过程、通用程序设计语言、适合于开发系统软件、效率高)

C++(从C语言发展而来、面向对象、)

C#(面向对象、运行于.NET平台、可跨平台运行、从C++、Java中发展而来)

LISP(符号操作及表处理、用于人工智能)

PROLOG(逻辑式编程语言、用于人工智能)

ADA(模块化语言、用于实时控制、并发多任务如:飞行器控制)

MATLAB(面向矩阵数学运算,数学计算)

COBOL(面向过程、适用于商业、金融)

VBA(面向对象、嵌入在OFFICE软件中运行。常见的宏病毒就是用VBA编制)

Javascript和VBScript(面向对象、嵌入在网页中运行)

补:什么是面向对象?

①对象:就是将数据及对其的操作(运算)封装在一起,作为一个整体看待。也是新的数据类型。

②(简单记忆)程序设计语言中提供了封装、继承、多态机制。封装,理解就是:数据的隐藏。

5、编译程序与解释程序

1)汇编语言源程序---汇编程序---机器语言程序

2)源程序---编译程序---目标程序(二进制,可浮动定位,不能直接运行)---连接程序(将系统的库文件代码连接到目标程序中)---可执行的机器代码程序(二进制)---装入(将代码装入到内存中运行)---运行---结果。

简要归纳:第一步:编译程序

第二步:连接程序

第三步:装入、运行

测试:P28

6、算法

1)什么是算法?

解题的方法与步骤。

记住:算法是解决某一类问题的,而不是一个特定的问题。

2)算法必须满足的特性:

①确定性。即精确性。不能有二义性。如:放少许油(违犯了算法的确定性)。

②有穷性。执行了有限步操作后算法终止。

③能行性。操作都是在计算机的能力范围之内,且在有限时间内能完成。

④输出。算法必须至少有一个输出。但可以没有输入(即:0个输入)

3)算法与程序的关系(能理解,做选择题即可)

①一个算法,可以对应多个程序(有些用C写,有些用java写,且具体编写方式都可以有第 7 页 共 9 页

差异)

②算法必须是有穷的,而程序可以是死循环的(无限循环)。

③算法可以用:图形、伪代码等表示。而程序必须用程序设计语言来设计。

④若一个问题的解决无法表示为计算机算法,则计算机将无法解决。也无法写出程序。

4)开发计算机应用的核心是:设计出算法,并用程序语言写出程序(即开发成为软件)

5)计算机求解问题的主要步骤:

①理解问题

②设计出算法

③用程序语言写出程序

④运行程序,获得结果

⑤根据结果,对算法进行评估。

记住:算法的设计方法是:由粗到细、由抽象到具体、逐步求精。

6)算法如何表示?

文字说明、图形(如:流程图)、伪代码、程序设计语言。记住:算法不一定非要使用程序设计语言表示。

7)如何评价与选择算法?

若一个问题,有多个算法,则如何选择算法?哪一个好?除了正确性之外,从时间资源与空间资源上进行分析。

8)时间复杂度

(会计算)若已知算法的操作步骤数目是:2n2+3+3,则时间复杂度是O(n2)

若已知算法的操作数目:120,则时间复杂度是O(1)。含义:常量级。

时间复杂度从好到坏是:

O(1)-O(logn)-O(n)-O(nlogn)-O(n2)-O(n3)-O(2n)-O(3n)-O(nn)

时间复杂度越小,算法越好。

例:算法A时间复杂度是O(nlogn),算法B时间复杂度是O(n2),哪个算法好?算法A好。

9、空间复杂度

算法在运行时所需要的空间多少。

若一个算法的空间复杂度是O(1),该算法称为:原地工作的算法。

测试:若一个算法所需要的空间与问题规模无关,则该算法是原地工作的。

答:正确。因为,一个算法所需要的空间与问题规模无关,则空间复杂度是O(1),故正确。

7、数据结构

1)数据结构包含三方面内容:

①逻辑结构(或抽象结构)

②存储结构

③操作(或运算)

3) 什么是逻辑结构?

抽象地描述数据及数据之间的关系。包含四个:

①集合。(属于同一个。如:一蓝子鸡蛋,关系是:鸡蛋都属于同一个蓝子)

②线性结构。(反映线性关系。紧跟它前面的只有一个,紧跟它后边只有一个。如:银行窗口前的排队。)

第 8 页 共 9 页

③树结构(层次关系。如:家谱)

树的特点:除根结点外,其它结点的父结点是唯一的。

④图或网状结构。(任意关系)

4)什么是存储结构?

逻辑结构在计算机内存中的实现。

线性结构在内存中有两种实现方式:顺序实现和链接表实现。

①顺序实现:连续内存空间,若元素在i位置,则它前一个肯定在i-1,后一个肯定在i+1处。适合于随机访问,不合适于插入、删除操作(因为:插入或删除会带来大量元素的前后移动,性能差)

②链接表实现:空间不要求连续。每一个元素在内存空间上都增加一个指针,用于存储紧跟该元素的下一个元素的地址。需要的空间比顺序实现要多。但适合于插入、删除操作。因为不需要前后大量移动元素。记住:链接表实现中,特点:元素指针可以为空(用NULL表示),元素指针也可以全不空(此时链表是一个环)

5)瑞士计算机科学家尼•沃思()在20世纪70年代曾经提出过一个著名公式:

“数据结构+算法 = 程序”

之后他又提出:

“计算机科学就是研究算法的学问”

测试:P27---P29

第 9 页 共 9 页

本文标签: 程序文件软件算法