essential.docx

上传人:b****5 文档编号:11623085 上传时间:2023-03-29 格式:DOCX 页数:13 大小:365.69KB
下载 相关 举报
essential.docx_第1页
第1页 / 共13页
essential.docx_第2页
第2页 / 共13页
essential.docx_第3页
第3页 / 共13页
essential.docx_第4页
第4页 / 共13页
essential.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

essential.docx

《essential.docx》由会员分享,可在线阅读,更多相关《essential.docx(13页珍藏版)》请在冰豆网上搜索。

essential.docx

essential

高二年级计算机知识要点

(一)

一、信息的数字化

负数的表示

(1)SignedMagnitude:

如果用n个bit表示一个负数,用最左边的位表示符号,1表示负数,0表示正数。

缺点:

(1)有两个0的表示法;

(2)不能直接做加法10000001+00000010=10000011

(2)Ones’complement(反码):

要表示一个负整数k,先将其相反数-k写成二进制形式,然后对所有位都取反,就得到k的反码表示形式。

例:

00000010=210;11111101=-210

缺点:

仍有两个0。

做加法的特点:

加法需要将最高位的进位加到最低位

(3)Two’scomplement(补码):

将一个负数k先写成反码形式,然后加1。

例:

00000010=210;11111110=-210。

只有1个0,可以直接相加。

小数的表示

定点表示法:

固定小数点的位置,灵活性很差

浮点表示法:

使用科学记数法;要记录三个数量:

符号+位移量+尾数

例如:

+1000111.0101=+1.0001110101×26;总是将小数点移动到最左边的1右侧。

于是我们记录+;6;0001110101

一般采用两种标准

指数尾数符号

单精度8231

双精度11521

在VB中,单精度浮点数对应的变量称为Single;双精度浮点数对应的变量称为Double

以单精度为例说明浮点数的表示:

–最低23位为尾数(小数部分,整数部分约定总是1)

–然后8位为指数,存储为指数+127

–最高位符号位,0正1负

例子:

–8.12510=1000.0012=1.000001×1011

–尾数000001

–指数3+127=130=100000102

–符号0

–01000001000000100000000000000000

字符的表示

ASCII码:

1个字节表示一个字符,只能表示256种可能性(且最高位置为0不用),因此只能表示英语和常见符号。

Unicode:

2个字节,能表示世界上所有的语言文字。

UTF-8:

基于Unicode的一种编码,用一个字节表示英文字符,两个或三个字节表示其它语言字符。

变长编码的机制为了减少存储空间的浪费。

为了能让应用程序区分不同编码的文本文件,Unicode文本文件开头多了两个字节FFFE。

二、中央处理器和主存储器

计算机体系结构的一般理论:

(1)处理器在硬件层次上执行一个较小的功能集合,称为指令集

逻辑判断,算术运算

(2)软件/程序是基本指令的组合,完成各种应用

(3)程序(指令)和数据都被存储在存储设备中。

程序运行时候,逐条指令从存储器中读入到处理器内被执行。

(称为存储程序)

CPU=ALU(运算和逻辑单元)+控制单元

当前即将被执行的指令和数据保存在处理器内部的存储器—寄存器中;寄存器大小通常是计算机字长的大小,字长决定了

(1)计算机一次进行运算处理或传输的数据大小;

(2)支持的指令数量;(3)内存编址的空间。

主存储器:

随机存储器中随机的含义:

表示程序可以根据内存地址直接访问内存单元,而无需顺序存取。

内存中每个单元一般存储一个字节。

高速缓冲存储器(Cache)

•包含主存储器中部分内容的副本

•当CPU存取主存中内容时,先检查Cache

•如果不在Cache中,从主存中复制从需要读取的字开始的数据块到Cache中

•提高效率的原因

–局部化原理:

(执行程序过程中,在特定阶段,只是执行局部的若干条指令。

不同的体系结构:

•复杂指令集计算机(CISC)

–指令数较多,某些指令实现复杂的功能

•精简指令集计算机(RISC)

–指令数少,实现功能较简单

对复杂指令集计算机的批评:

硬件实现复杂;复杂指令实现功能可以用简单指令的组合取代;执行效率不理想;许多复杂指令使用频率不高。

三、二级存储器

存储器分为两部分:

存储介质:

用以保存数据的物理材料

存储设备:

从存储介质上读取或写入信息的硬件设备。

按照存储介质可以将存储器分为:

磁性存储技术;光学存储技术;固态存储技术

磁性存储介质:

通过磁化存储介质表面的可磁化物质来存储数据;在初始状态时,介质表面的可磁化particle的方向是随机的。

磁盘驱动器的读写头可以磁化这些particle使得它们朝向某个方向,用以表示0和1,而一旦磁化以后这些particle可以较长时间保持这种方向,使得磁性存储介质可以长期保存数据。

磁性存储介质包括硬盘、软盘、磁带。

硬盘的结构:

它包含若干盘片(Platters),它们以共同的速度绕一个主轴(Spindle)旋转,每个盘片上覆盖一层可磁化的物质,每个磁盘通过磁臂末端的磁头来读写,每个盘片都有一个磁头和磁臂,它们可以靠近或远离主轴,当磁头静止,盘片旋转时,磁头下方经历的的表面称为一个磁道。

在读写时候,通过主轴的进退和盘片的旋转来定位到磁盘上的特定位置。

硬盘表面的结构:

磁道;扇区

通常一个扇区包含512字节的数据。

逻辑相邻的数据通常不存放在物理上相邻的扇区,这是为了提高磁盘空间的利用率,但是会降低存取速度,因此需要对磁盘碎片进行整理(defragment)。

传统的硬盘结构划分的特点:

外道的扇区面积大,内道扇区面积小,但存储数据量都是512字节,为了更有效利用磁盘,提出Zonebitrecording技术,即外道划分出更多的扇区。

何为接口:

磁盘或其它I/O设备不能直接连接到计算机的总线上,需要有接口来清除这种障碍。

常见的外存接口有SCSI,SATA,IDE等。

数据的备份:

(1)磁带:

顺序存取,存取速度慢

(2)廉价磁盘冗余阵列(RAID:

RedundantArrayofInexpensiveDisks)

RAID0:

数据分块(并没有冗余,只是提高存取速度)

RAID1:

数据镜像

光学存储器:

表面有land和pit,具有不同的反射性质,用来表示0和1。

光学存储器的存取速度

●使用数据传输率(Kbps)为单位(千bit/每秒);

●原始的CD-ROM驱动器的传输率为150Kbps;

●2X,9X,…的含义:

对CD:

1X=150Kbps,2X=2×150Kbps=300Kbps,…

●DVD的情形,与CD有不同的数量级,1X=9×150Kbps=1350Kbps

四、软件一般理论和数据文件的组织

计算机系统的非硬件因素=软件+与软件相关联的文档和数据

对软件的分类:

(1)根据功能分类

系统软件:

面向计算机系统:

管理计算机资源,控制硬件工作;不解决生活工作的实际问题

应用软件:

面向实际问题:

提高人们的工作效率,提供娱乐等

最重要的系统软件:

操作系统

其它系统软件的例子:

⏹文件压缩工具

⏹磁盘碎片整理工具

⏹设备驱动

⏹杀毒软件

⏹程序开发环境(编译程序)

⏹控制面板中的工具

(2)根据获得途径的不同分类

免费软件

商业软件

共享软件(Shareware):

可以免费试用一段时间,之后需支付费用方能继续使用

开源软件(OpenSourceSoftware):

免费而且可以合法进行修改

开放源代码软件的例子:

OpenOffice.org(办公软件);Firefox;Linux

共享软件的例子:

WinRAR

软件许可协议(license):

软件如何被使用的法律约定。

现在通常采取的形式是EULA(End-UserLicenseAgreement;最终用户许可协议),在安装时候显示协议条文,用户同意后继续安装。

包含的一些内容

⏹使用者的限定(单个用户),何种情况下可以备份软件

⏹租借和赠予的约定

⏹反向工程的约定

⏹开发商免责声明(Asis)

数据文件的分类

文本文件:

只包含字符。

(例如:

html文件,txt文件,程序源代码)

二进制文件

⏹计算机内部格式存储的数据集合

⏹数,图象等等

⏹只有当被程序正确解释时才有意义

由数据记录集合构成的文件的组织形式

顺序文件:

顺序地存取记录;按照顺序一个接一个地存放

随机存取文件:

使用地址直接访问某条记录

有两种实现

(1)索引文件,记录的标识(主键)与地址的对应关系维护在一个索引文件中

(2)散列方法,用函数对应的方法维护记录标识与地址的关系

五、操作系统

操作系统的必要性:

应用软件不与硬件直接交互;否则,开发应用软件变得低效和困难

操作系统:

统一管理计算机软硬件资源,充分发挥计算机系统效率的系统软件

操作系统对硬件资源的分配策略:

处理器的管理:

多道程序(Multiprogramming):

I/O任务与计算任务同时被执行,一个进程在执行输入输出任务时候,须将处理器使用权交给另一个进程。

分时系统(Time-sharing):

给每个程序或用户一个时间片,轮流执行

内存管理:

面临的问题:

程序对于内存而言过大

如何解决,基于以下认识

•在一个时间段内,并非程序的所有部分都被使用(程序的局部化原理)

将部分程序存储在硬盘上,将这部分硬盘看成RAM

•虚拟内存

与虚拟内存相关的是分页文件:

将内存、虚拟内存和程序划分成为等长的分块,作为分配内存和虚拟内存的基本单位,这样的分块称为页面(Page)。

当内存中分配给一个进程的空间已满,又有新的页面需要调入时,需要将部分页面淘汰出内存。

简单的算法是先进先出(FIFO,Firstinfirstout),将在内存中驻留时间最长的页面淘汰出内存。

但这会造成Belady异常现象,即分配给一个进程的页面数增加时,缺页率反而会增加。

红色表示缺页

内存分配3个页面(缺页9次);内存分配4个页面(缺页10次)

文件管理

(1)Windows:

文件分配表(FAT);簇是分配辅存的基本单位(若干相邻扇区的组合);链表结构维护文件占用的簇和空闲簇。

(2)Unix/Linux:

索引节点表;文件分配以块为单位(某些系统上长度1KB);索引节点表记录一个文件的基本信息+块地址;文件的前10个块直接记录在它的索引节点表中;如果文件大小超过10个块,用间接索引的方法;间接块(不包含文件内容,而是包含文件块的地址)

两种不同的操作系统用户界面

命令行界面和图形界面(GraphicUserInterface)

•命令行界面:

用户与计算机系统的交互通过键入命令完成

•图形用户界面:

用户与计算机系统通过图形化的元素进行交互。

两者的比较:

可参考

主流操作系统:

(1)Linux和Unix

Unix是1971年AT&TBell实验室研发的多任务多用户操作系统。

Linux是1990年由芬兰学生LinusTorvalds开发的类Unix操作系统,是开放源代码软件。

Linux的优势是稳定和免费,缺点是相对较少的应用软件选择和使用时较高的技术要求。

(2)Windows

早期Windows是DOS的图形化操作环境;直到Windows95才成为独立的操作系统,2000年以前Windows分为两个系列,服务器操作系统使用NT内核(包括WindowsNT3.1,WindowsNT4.0,Windows2000),个人版本仍使用DOS内核(包括Windows95,98,Me)。

WindowsXP开始所有的Windows版本(无论服务器版本还是个人使用的版本)都使用NT内核。

(3)MacOS

苹果计算机上使用的操作系统,是第一个商业上取得成功的图形化界面操作系统。

六、软件工程

软件工程的目的:

克服软件开发过程中的随意性,工程化地组织和开展软件开发,确保软件的质量。

具体的做法和原则

(1)周密的分析和设计

(2)严格的项目管理(3)详细的文档支持(4)要对软件实施不断的测试

软件开发的瀑布模型:

分析,设计,实现,验证,维护

软件测试的一些原则

⏹详尽测试(测试每个可能的输入和流程图中每一条可能的路径)是不可行的

⏹第三方测试(测试不宜由负责编码的开发人员本身进行)

⏹单位,模块和系统测试

⏹等价类的划分(将输入数据划分成等价类,例如对于保存文档的子模块进行测试,可以将文件名划分为:

合法的文件名;过长的文件名;过短的文件名;包含非法字符的文件名等)

⏹边界值的分析(输入区间的边界常常容易出错)

软件测试的一些类型:

黑盒测试:

用户角度,测试产品的完整性

白盒测试:

测试具体的逻辑细节,代码层面

alpha测试:

在公司内部,由用户在模拟实际操作环境下进行的受控测试

beta测试:

开发者无法控制的环境下进行的软件现场应用。

在Beta测试中,由用户记下遇到的所有问题,定期向开发者报告。

七、计算理论

计算理论要回答的问题:

哪些问题是可求解的,哪些问题是不可求解的。

对可求解的问题,它的时间复杂度是怎样的。

算法的定义:

良好定义的逐步解决问题或完成任务的方法。

很多人认为Euclid算法是最早的非平凡算法,它通过事实gcd(m,n)=gcd(mmodn,n)来求两个数的最大公约数。

不可求解问题举例:

停机问题。

一个重复结构可能永远不会停机(结束)

死循环

x:

=1

While(x)

{

}

问题:

能否编写一个程序判断另一个程序是否会在有限时间内结束

反证其不存在:

假设存在判断停机问题的程序Test

构造另一程序Strange

分析Strange是否会停机,我们得到矛盾。

对于可求解问题,我们关心算法的时间复杂度。

影响算法的执行时间的因素包括

(1)处理器的处理能力

(2)输入规模(3)算法本身的优劣。

由于我们关心的是算法本身的性质,因此我们评价算法时将算法划分成一些基本步骤的集合(这些基本步骤在特定的机器上的执行速度是固定的),然后将基本运算的步数写成输入规模的函数,考查这个函数的增长速度。

多项式问题:

基本运算步数是输入规模的多项式函数

以当今计算机的处理速度,对于一个合理的输入规模,多项式问题都可以在合理时间内解决

例如:

对n个数进行排序

非多项式问题

基本运算步数是输入规模的指数函数

¡S=2n

¡如果输入规模为64

¡S=18,446,744,073,709,551,616

¡如果每1/1000秒执行一步

¡585000世纪

NP问题:

可在多项式时间内验证结果的问题

P问题:

可在多项式时间内求解的问题

P是NP的子集,但是否是真子集,是理论上未解决的问题。

NPC问题:

没有找到多项式时间的算法,也未证明不存在,且如果对其中一个找到多项式时间算法,那么P=NP

程序设计语言:

机器语言

汇编语言:

使用助记符,与机器指令一一对应

高级程序设计语言:

过程式模式:

C,Pascal

面向对象模式:

特点包括封装,继承和多态;C++,Java

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1