1、计算机专业(基础综合)模拟试卷 23 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 若一个栈的输入序列为 1,2,3n,输出序列的第一个元素是 i,则第 j 个输出元素是 ( ) 。(A)ij 一 1(B) ij(C) ji+1(D)不确定2 若循环队列以数组 Q0m-1作为其存储结构,变量 rear 表示循环队列中的队尾元素的实际位置,其移动按 rear=(rear+1)MOD m 进行,变量 length 表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是( )。(A)rear-length
2、(B) (rear-length+m)MOD m(C) (1+rear+m-length)MOD m(D)m-length3 已知有一维数组 A0m*n-1,若要对应为 m 行、n 列的矩阵,将元素 Ak(0klongpathlen) 若当前路径更长,将路径保存在 longpath 中for(i=pathlen1;i=0;i-)longpathi=pathi;longpathlen=pathlen;elsepathpathlen3=b-data; 将当前结点放入路径中pathlen+; 路径长度增 lLongpath(b-lchild,path,pathlen ,longpath,longpa
3、thlen);递归扫描左子树Longpath(b-rchild,path,pathlen,longpath,longpathlen);递归扫描右子树pathen-; 环境恢复【试题解析】 采用 path 数组保存扫描到当前结点的路径,pathlen 保存扫描到当前结点的路径长度,longpath 数组保存最长的路径,longpathlen 保存最长路径长度。当 b 为空时,表示当前扫描的一个分支已扫描完毕,将 pathlen 与longpathlen 进行比较,将较长路径及路径长度分别保存在 longpath 和 longpathlen中。43 【正确答案】 【试题解析】 (3)(6) 中出现
4、的问题都是由于译码器连接上的问题(短路或断路)造成的,使得某些片选信号始终被选中或始终不被选中。44 【正确答案】 (1)MOV X(R 0),Y(R 1) PCMAR,Read ;取指令 MMDRIR PC+1PC PCMAR,Read ;取源操作数形式地址 MMDRC PC+1Pc C+R 0MAR ,Read ;形成源操作数有效地址,并取源操作数 MMDRC ;源操作数暂存 C 中 PCMAR ,Read ;取目的操作数形式地址 MMDRD ?PC+1PC ?D+R 1MAR ;形成目的操作数有效地址 ?CMDR ;将源操作数送存储器数据寄存器 ?MDRM,write ;将源操作数写入目
5、的有效地址中 (2)COM 一(R 0) PCMAR,Read ;取指令 MMDRIR PC+1PC R01R 0,R 01MAR ,Read ;修改 R0 的内容(源和目的操作数地址) MMDRD ;取出源操作数 DMDR ;将源操作数取反 MDRM,Write ;写入目的地址中【试题解析】 数据传送指令占 3 个字,第 1 个字是操作码和寄存器编号;第 2 个字是参数 X,为源操作数的形式地址;第 3 个字是参数 Y,为目的操作数的形式地址,源和目的操作数地址均采用变址寻址,指令的含义是:(R 0)+X)(R 1)+Y。 求反指令仅占 1 个字,自减型寄存器寻址是先修改寄存器的内容(一 1
6、),再取数。45 【正确答案】 设信号量 mutex 用于车间的互斥, positionA、positionB 和partA,partB 为资源信号量,分别表示仓库中零件甲、乙的空位数和满位数,positionA+partA=m;positionB+partB=n;编程如下:deftype int semaphore; /定义信号量semaphore mutex=1; /进入仓库的互斥信号量semaphore positionA=m,positionB=n; / 车间 A、B 生产的零件甲、乙存放的位置semaphore partA=0,partB=0 ; /零件甲、乙的信号量void wor
7、kshopA() /车间 A 进程 while(TRUE) /并发调度 int item; /仓库货架指针item=produce(甲); / 生产零件甲P(positionA); /查有无零件甲的货位P(mutex): /仓库可以进入吗?puton(item); /放置零件甲v(mutex); / 释放仓库互斥量v(partA); /增加零件甲的资源信号量 /离开void workshopB() /车间 B 进程 while(TRUE) /并发调度 int item; /仓库货架指针item=produce(乙); / 生产零件乙P(positionB); /查有无零件乙的货位P(mutex
8、); /仓库可以进入吗?puton(item); /放置零件乙v(mutex); / 释放仓库互斥量v(partB); /增加零件乙的资源信号量 /离开void assembleshop() /总装车间进程 while(TRUE) /并发调度 int iteml,item2; /仓库货架指针P(partA): /查第一个零件甲是否有?P(partA); /查第二个零件甲是否有?P(partB): /查第一个零件乙是否有 ?P(mutex): /仓库可以进入吗?iteml=get(甲,2); /取出 2 个零件甲item2=get(乙); /取出 1 个零件乙v(mutex); / 释放仓库互斥
9、量v(positionA); /增加零件甲的第一空位信号量V(positionA): /增加零件甲的第二空位信号量v(positionB); /增加零件乙的空位信号量assemble(iteml,item2); /总装 /离开【试题解析】 本题考查的是生产者和消费者问题的变形。本题中的生产者有两个,所对应的缓冲区(即仓库) 是一个,但是,它们各自有自己的零件货位,甲、乙零件可以分别存放 m、n 件,所以可以考虑设置一个仓库的互斥量,作为车间 A、B 和总装车间的互斥信号量。由于已知甲、乙货架的数量分别为 m、n,因此可以为车间 A、B 设置资源信号量 positionA、positionB ,
10、它们的初值分别为 m、n ,表示货架为空、可以分别存放的零件数量。对于总装车间来讲,它是一个消费者,与普通消费者不同的是,它每次要取零件甲 2 件和零件乙 1 件来生产,因此可以设置资源信号量 partA 和 partB,它们的初值为 0,代表仓库中零件甲、乙的数量。总装车间每次消费 2 个零件甲,可以对信号量 partA 作 2 次 P 操作,消费零件乙 1 件则只作 1 次 P 操作,从而完成三个车间的同步。46 【正确答案】 采用 FIFO 的算法: 被淘汰的页号次序为 1、2、3、4、5、6;缺页率为 710=70 采用 LRU 的算法: 被淘汰的页号次序为 3、4、5、6;缺页率为
11、510=50%【试题解析】 本题考查页面置换算法。47 【正确答案】 (1)该 TCPIP 网络使用的是 B 类 IP 地址。(2)该网络划分子网后所采用的子网掩码是 2552552550。(3)这两台机器上的网络应用程序不能够正常通信,那是因为在一个以太网上不能使用不同的子网号。在这种配置情况下,IP 软件会试图将 IP 分组送往网关,而不会直接投递。最终 IP 分组将会被该网关丢弃。(4)255255 255255【试题解析】 本题考查 IP 地址的概念,子网划分和路由原理,首先明确该路由器连接着四个子网,即 130130110120160200,要注意 190和 200 在物理上是在一个
12、链路上的。问题 1 考查 IP 地址的分类,用于单播地址的是 A 类到 C 类,其中 A 类地址(10 00126255255255),B 类地址(128 O00191255255255)和 C 类地址(19200O 一223255255255),因此这四个子网均属于 B 类地址。问题 2 给出子网划分的子网掩码,从比较这四个子网可以看出,不同之处在于第三个字节,因此可以知道掩码是 24 位,或者从 130130200 出发,这代表一个网络,前三个字节是网络号,因此掩码是 24 位。问题 3 主要考查主机基本路由的过程,即使两台主机处于同一个物理链路,在通信之前要判断是否是同一个网段,如果是就直接通信,否则把数据报发送给该主机的网关,由于该拓扑图中只有 1301 30190 的网关,191,因此不能完成 D和 E 的通信。问题 4 主要考查对广播报的认识,广播报是同一个链路上主机都必须接收,不管其是属于哪个网络;其次考查路由器一个功能,就是隔断广播报;因此只有广播报能够满足题目的要求。