1、- 1 -NOIP 普及组初赛单项选择复习资料整理者:马鞍山市二中实验学校 ,授课: 计算机结构与组成原理一、计算机发展及应用1、第一台电子计算机的诞生: ENIAC1946 年,世界上第一台数字式电于计算机是由美固宾夕法尼亚大学的物理学家约翰莫克利(John Mauchly)和工程师普雷斯伯埃克特(J.hesper.Eckert)领导研制的取名为 ENIAC(Elecotmnic Nurnerical Integrator And Calculator)的计算机。2、第一台具有存储程序功能的计算机:EDVAC。1903 年,冯诺伊曼(Neumann,John von)出生于匈牙利的布达佩斯。
2、冯诺依曼依据存储程序的工作原理设计.运算器、控制器、存储器、输人设备和输出设备这五部分组成,同 ENIAC 相比,EDVAC方案有两个重大改进:(1):采用了二进制;(2):提出了“存储程序” 。3、图灵机和图灵奖艾伦麦席森图灵(Alan Mathison Turing,1912 年 6 月 23 日 - 1954 年 6 月 7日) ,英国数学家。图灵机由三部分组成,包括一条 带子、一个读写头和一个控制装置。 图灵对于人工智能的发展有诸多贡献,例如:图灵曾写过一篇名为机器会思考吗? (Can Machine Think?)的论文,其中提出了一种用于判定机器是否具有智能的试验方法,即图灵试验。
3、 图灵奖是美国计算机协会于 1966 年设立的,又叫“A.M.图灵奖“,专门奖励那些对计算机事业作出重要贡献的个人。其名称取自计算机科学的先驱、英国科学家艾伦图灵,这个奖设立目的之一是纪念这位科学家。4、世界上第一位软件工程师英国著名诗人拜伦的女儿 Ada Lovelace(爱达).由于她在程序设计上的开创性工作,Ada Lovelace 被称为世界上”第一位程序员” 。 “世界上第一位软件工程师” 。5、微型计算机的问世第四代 1972至今 超大规模集成电路的微星计算机个人 PC 应用到了各个领域。二、硬件系统的组成:1、冯诺伊曼体系其思想是,在计算机中设置存储器,将符号化的计算步骤存放在存
4、储器中,然后依次取出存储的内容,由一个被称之为控制器的部件进行译码,译码结果在一个被称为运算器的部件中进行计算,从而实现计算机工作的自动化(运算器和控制器统称为CPU)。五个基本部分组成:(1)运算器,(2)控制器,(3)存储器,(4)输人设备,- 2 -(5)输出设备计算机的整个工作过程及基本硬件结构如图2-8所示:图2-8 计算机系统的基本硬件组成及工作原理存储器简单分类:寄存器和高速缓存;RAM和ROM;软盘和硬盘。(内部、外部存储器)2、计算机的三总线结构总线是一组导线、是公共通路,微型计算机中各个组成部件之间的信息传输都是通过它们来实现的地址总线(AB) 是单向总线,用以传送 CPU
5、 向外设或存储器发出的地址信息。数据总线(DB) 是双向总线,用以 CPU 与内存或接口之间传输数据信息。控制总线(CB)是双向总线,有的作为输出,有的作为输入,用以 CPU 与内存或 I/O 接口之间传送控制信息。分别传送地址信号、数据信号和控制信号。软件系统1、系统软件:(1)操作系统软件:DOS, OS/2 ,Windows 9x,Windows 2000, Windows XP, Windows Vista, Win7Netware,Windows NT, Windows Server 200x,Unix, Linux,iOS4,Android 3.0(2)文件的后缀名:bat、com
6、、exe、sys、tmp、zip、doc、xls、txt、htm、gif、jpg、wav、avi、mp3、swf(3)计算机语言:机器语言,汇编语言;解释性语言和编译性语言。高级语言:Logo, Basic, Pascal, c, c+, Viscal Basic, Java, Go等。- 3 -2、应用软件:Wps,Office (Word, PowerPoint, Excel),3dmax, flash, photoshop等.3、面向对象编程语言面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,它之前呢?是面向过程。而现在呢?
7、面向切面(AOP)。一种是纯面向对象语言,如Smalltalk、EIFFEL等 。混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C+、Objective-C等。Visual Basic, Java面向切面(AOP)与面向对象(OOP),MM和OO的故事。计算机中数字数值信息在计算机内的表示方法就是用二进制数来表示。一般说来,如果数制只采用R个基本符号,则称为基R数值,R称为数制的基数,而数制中每一固定位置对应的单位值称为权。进位计数制的编码符合“逢 R 进位”的规则,各位的权是以 R 为底的幂,一个数可按权展开成为多项式。例如,一个十进制数 256.47 可按权展开为25
8、6.47=2102510 1610十 410-1710 -2 1、R 进制转换为十进制 基数为 R 的数字,只要将各位数字与它的权相乘,其积相加,和数就是十进制数例: 3506.28 =68+081+582+383+28-1 =1862.25 例: 0.2A16 =216-1+1016-2 =0.16406252、十进制转换为 R 进制 十进制整数转换成 R 进制的整数 : 除 R 取余法。例: (89) 10 (1011001) 22 892 44 12 22 02 11 02 5 12 2 12 1 0- 4 -0 1十进制小数转换成 R 进制时: 乘 R 取整.例: (0625) 10=
9、 (0101) 20625X 2 125 1X 2 05 0X 2 10 13、二、八、十六进制的相互转换 每位八进制数相当于三位二进制数,每位十六进制数相当于四位二进制数。在转换时,位组划分是以小数点为中心向左右两边延伸,中间的 0 不能省略,两头不够时可以补 0。尤其是小数后末尾的 0例如:将 1011010.12 转换成八进制和十六进制数 001 011 010. 100 1011010.12132.4 8 1 3 2. 40101 1010. 1000 1011010.12=5A.816 5 A . 8例如:将十六进制数 F7.28 变为二进制数F 7 . 2 8 F7.2816=11
10、110111.001012 1111 0111.0010 1000 二、在计算机中带符号数的表示法 1、原码: 在用二进制原码表示的数中,符号位为 0 表示正数,符号位为 1 表示负数,其余各位表示数值部分。如:10000010,000000102、反码:反码的定义如下: 对于正数,它的反码表示与原码相同。即x反=x 原对于负数,则除符号位仍为“1”外,其余各位“1”换成”0” , ”0”换成 1”,即得到反码X反。例如-1101001 反 =10010110。对于 0,它的反码有两种表示:+0 反=000 -0 反=11 13、补码: 正数的补码就是该正数本身。01100100补 01000
11、100对于负数:两头的 1 不变,中间取反。 (负数取反加一)10100100补 11011100+0补-0补000。 4、BCD 码(8421 码)BCD 码就是用二进制代码表示的十进制数,也称 BCD 数。它是用 4 位二进制代码00001001 来表示十进制数 0-9。如:39 的 BCD 码为 00111001。三、整数和浮点数1、整数整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +) 。- 5 -2、浮点数浮点数,在计算机中用以近似表示任意某个实数。具体来说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是 2)的整数次幂得到,这种表
12、示方法类似于基数为 10 的科学记数法。用 E(e)来表示指数部分。如 123.456 或 123e-2。四、ASCII 码 American Standard Code for Information Interchange)美国标准信息交换代码将每个字符用 7 位的二进制数来表示,共有 128 种状态大小字母、09、其它符号、控制符 0 48 A 65 a 97五、信息存储单位 位(bit,缩写为 b):度量数据的最小单位,表示一位二进制信息。字节(byte,缩写为 B):一个字节由八位二进制数字组成( l byte8bit) 。字节是信息存储中最常用的基本单位。 计算机存储器(包括内存与
13、外存)通常也是以多少字节来表示它的容量。常用的单位有:KB 1K=1024 MB 1M=1024KGB 1G=1024M TB 1T=1024G 3、机器字(word):字是位的组合,并作为一个独立的信息单位处理。字又称为计算机字,它取决于机器的类型、字长以及使用者的要求。常用的固定字长有 8 位、16 位、32位等。计算机网络的基本概念一、 计算机网络分类计算机网络的分类方式有很多种,可以按地理范围、拓扑结构、传输速率和传输介质等分类。地理范围分类: 局域网LAN,城域网MAN,广域网WAN,广域网地理范围一般在几千公里左右,属于大范围连网。如几个城市,一个或几个国家,是网络系统中的最大型的
14、网络,能实现大范围的资源共享,如国际性的Internet 网络。按传输介质分类传输介质是指数据传输系统中发送装置和接受装置间的物理媒体,按其物理形态可以划分为有线和无线两大类。有线网,光纤和双绞线,10M/100M/1000M无线网,802.a b c n协议。二、计算机网络体系结构的核心是OSI模型 国际标准化组织(ISO)提出的开放系统互联参考模型(OSI)已成为网络体系结构的标准网络协议常见的网络协议有IPX/SPX, TCP/IP等。网络互联模型- 6 -国际标准化组织ISO( International Standardization Organization)于1981年推出“开放
15、系统互联结构模型”即OSI(OpenSystem Interconnection)标准。OSI不是一个实际的物理模型,而是一个将网络协议规范化了的逻辑参考模型。图1.6.3是OSI 七层模型图。图 1.6.3 OSI 七层参考模型通常把计算机网络分成通信子网和资源子网两大部分。OSI 参考模型的低三层:物理层、数据链路层和网络层归于通信子网的范畴;高三层:会话层、表示层和应用层归于资源子网的范畴。传输层起着承上启下的作用。三、Internet 网络地址 (IP 地址)现在的Internet最早起源于60 年代末期美国国防部的ARPAnet(阿帕网)。通常一个IPv4地址共有32 位,分为4 段
16、,每段8 位(也即1 个字节)。它的表示方法如下:xxx,xxx,xxx,xxx,其中每段的取值范围为0255。IP地址是Internet上主机的一种数字标识,它由两部分组成,一部分是网络标识(netid),另一部分是主机标识(hostid)。第一段取值在1127之间,表示主机所在的网络属于大型网(A类网),其_值就是网络的网络号,后三段数字表示该主机号;第一段数字取值在128191 之间,表示主机所在网络为中型网(B 类网),第一段和第二段的数字联合表示该网络的网络号,第三段数字则表示子网号,第四段则是该主机号;第一段数字取值为192223 的,表示该主机所在的网络为小型网(C 类网),第一
17、、二、三段数字的组合表示该网络的网络号,第四段是主机号。网站的IP地址就是203.207.226.84,则表示它的主机是属于C 类网,203.207.226是它所在网络的网络号,其主机号为84。什么是IPv6、保留地址和域名?逻辑运算 运算:与或非,异或 运算的优先级:非与或1、“与” 运算( “”, “” ,and)在逻辑问题中,如果决定某一事件发生的多个条件必须同时具备,事件才能发生,则这种因果关系称之“与”逻辑(并且)。 “与”运算又称为逻辑乘,其运算符号为“”,有时也用“”表示。两变量“与”运算关系可表示为 F = AB 或者 F = AB“与”运算的运算法则为 :00 = 0 10
18、= 001 = 0 11 = 1- 7 -结论:若A、B均为1,则F为1;否则,F为0推广:A0=0 A1=A2、“或”运算( “+”, “” ,or)在逻辑问题的描述中,如果决定某一事件是否发生的多个条件中,只要有一个或一个以上条件成立,事件便可发生,则这种因果关系称之为“或”逻辑。 “或”运算又称逻辑加,其运算符号为“+”,有时也用“”表示。两变量“或”运算的关系可表示为 F = A + B 或者 F = A B“或”运算的运算法则为 :0 + 0 = 0 1 + 0 = 10 + 1 = 1 1 + 1 = 1结论:仅当A、B均为0时,F才为0 推广:A+0=A A+1=13.“非”运算
19、 - NOT在逻辑问题中,如果某一事件的发生取决于条件的否定,即事件与事件发生的条件之间构成矛盾,则这种因果关系称为“非”逻辑。“非”运算也叫求反运算或者逻辑否定。其运算符号为“-”,有时也用“”表示。“非”运算的逻辑关系可表示为 F= A 或者 F = A“非”运算的运算法则为0 =1 1 =0字符串和表达式一、在C+语言中逻辑运算与 因此,和第一步分析类似,可知b为左子树的根,再由“dgb为该二叉树的左子树中序遍历结果”可知,dg为该左子树的左子树的中序遍历结果,再由dg在前序遍历结果中排列顺序dg可知,d为根,因此由“dg为该左子树的左子树的中序遍历结果”可推出g为d的右孩子。到此为止,
20、可以完全推断出该二叉树的左子树的结构了。按照同样方法,可以推断出该二叉树的右子树的结构,因此整个二叉树的结构图如下:- 10 -据此图,不难看出该二叉树的后序遍历结果是:gdbehfca.五、按层次遍历二叉树自然表达式转换为前/中/后缀表达式,其实是很简单的。首先将自然表达式按照优先级顺序,构造出与表达式相对应的二叉树,然后对二叉树进行前/中/后缀遍历,即得到前/中/后缀表达式。举例说明将自然表达式转换成二叉树: a(b+c)-d 根据表达式的优先级顺序,首先计算(b+c),形成二叉树然后是 a(b+c),在写时注意左右的位置关系最后在右边加上-d所以还是以刚才的这个例子,在最终二叉树的基础上
21、可以得出:前缀表达式:-*a+bcd中缀表达式:a*b+c-d后缀表达式:abc+*d- 11 -排序与查找一、各排序算法时间复杂度比较算法名称 时间复杂度 一句话描述冒泡排序 O(n2) 交换相邻位置的元素,每次把最大(或最小)元素换到最右边,每次范围减一。选择排序 O(n2) 在未排序序列中找到最小元素,存放(交换任意两个元素)到排序序列的起始位置,再从剩余未排序元素中继续寻找最小元素,放到已排序序列末尾。要经过n-1趟。(不稳定)插入排序 O(n2) 把第N个元素插入前N-1有序的数组中,从后往前扫描,不符合条件的元素往后移,符合条件就将第N个元素放入当前位置。快速排序 O(nlog2n
22、),最坏O(n2)找到一个参考元素,将比它小的元素放到其左边,比它大的元素放到其右边,参考元素就在最终的位置,再对左右进行排序。(不稳定,优化方案:略)。堆排序 O(nlogn) 略归并排序 O(nlog2n) 略http:/www.sorting- http:/ 基数排序, 桶排序等非比较排序算法,平均时间复杂度都是O(n). 这些排序因为其待排序元素本身就含有了定位特征,因而不需要比较就可以确定其前后位置,从而可以突破比较排序算法时间复杂度O(nlogn)的理论下限.三、查找(1)二分查找算法二分查找算法先比较位于集合中间位置的元素与键的大小,有三种情况(假设集合是从小到大排列的):键小于
23、中间位置的元素,则匹配元素必在左边(如果有的话),于是对左边的区域应用二分搜索。键等于中间位置的元素,所以元素找到。键大于中间位置的元素,则匹配元素必在右边(如果有的话),于是对右边的区域应用二分搜索。注:比较次数n次,可查找元素个数2n-1个。信息技术的新发展虚拟化技术:服务器虚拟化,存储与客户端虚拟化。云计算:“云计算”提供数据存储和平台测试等网络服务。客户端变革:虚拟化技术的流行,将为客户端计算机技术带来新的变革。移动应用程序竞争:目前,苹果iPhone应用程序,谷歌Android明年将推出大量新机型,移动应用程序市场的竞争将进一步加剧。实时搜索(Real-Time Search):Am
24、it Singhal正在Google领导着一个团队挖掘社会化网络的信息,提供与传统Web搜索相同质量和价值的信息。- 12 -其他图论 排列组合题目特难只能放弃,每次考试大约1题。整理日期:2014-06-22联系方式陆华 EMAIL: 陈中 EMAIL: - 13 -附录 一、 初赛内容与要求计算机的基本知识1计算机和信息社会(信息社会的主要特征、计算机的主要特征、数字通信网络的主要特征、数字化) ;2信息输入输出基本原理(信息交换环境、文字图形多媒体信息的输入输出方式) ;3信息的表示与处理(信息编码、微处理部件 MPU、内存储结构、指令,程序,和存储程序原理、程序的三种基本控制结构) ;
25、4信息的存储、组织与管理(存储介质、存储器结构、文件管理、数据库管理) ;5信息系统组成及互连网的基本知识(计算机构成原理、槽和端口的部件间可扩展互连方式、层次式的互连结构、互联网络、TCP/IP 协议、HTTP 协议、WEB 应用的主要方式和特点) ;6人机交互界面的基本概念(窗口系统、人和计算机交流信息的途径(文本及交互操作) ) ;7信息技术的新发展、新特点、新应用等。计算机的基本操作1. Windows 和 LINUX 的基本操作知识;2. 互联网的基本使用常识 (网上浏览、搜索和查询等) ;3. 常用的工具软件使用(文字编辑、电子邮件收发等) 。数据结构的类型1程序语言中基本数据类型(字符、整数、长整数、浮点);2. 浮点运算中的精度和数值比较;3一维数组(串)与线性表;4记录类型(PASCAL)/ 结构类型(C) 。程序设计1结构化程序设计的基本概念 ;2阅读理解程序的基本能力;3具有将简单问题抽象成适合计算机解决的模型的基本能力;4具有针对模型设计简单算法的基本能力;5程序流程描述(自然语言/伪码/NS 图/其他) ;6程序设计语言(PASCAL/C/C+) 。程序设计基本知识基本算法处理1初等算法(计数、统计、数学运算等) ;2排序算法(冒泡法、插入排序、合并排序、快速排序) ;3查找(顺序查找、二分法) ;4回溯算法。