浙江大学最近6年软件学院研究生试题答案.docx

上传人:b****5 文档编号:6474227 上传时间:2023-01-06 格式:DOCX 页数:16 大小:20.86KB
下载 相关 举报
浙江大学最近6年软件学院研究生试题答案.docx_第1页
第1页 / 共16页
浙江大学最近6年软件学院研究生试题答案.docx_第2页
第2页 / 共16页
浙江大学最近6年软件学院研究生试题答案.docx_第3页
第3页 / 共16页
浙江大学最近6年软件学院研究生试题答案.docx_第4页
第4页 / 共16页
浙江大学最近6年软件学院研究生试题答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

浙江大学最近6年软件学院研究生试题答案.docx

《浙江大学最近6年软件学院研究生试题答案.docx》由会员分享,可在线阅读,更多相关《浙江大学最近6年软件学院研究生试题答案.docx(16页珍藏版)》请在冰豆网上搜索。

浙江大学最近6年软件学院研究生试题答案.docx

浙江大学最近6年软件学院研究生试题答案

1999年-2004年

浙江大学计算机学院(计算机应用技术专业)研究生入学考试

部分试题答案

2005

组成

汇编那题

add$t3,$t5,$t7

slt$t1,$t3,$t5

add$t2,$t4,$t6

add$t2,$t2,$t1

最后一题

0:

MemRead

ALUSrcA=0

IorD=0

IRWrite

ALUSrcB=0

ALUOP=00

PCWrite

PCSource=00

1:

ALUSrcA=00

ALUSrcB=11

ALUOp=00

2:

ALUSrcA=1

ALUSrcB=10

ALUOp=00

3:

MemtoReg=0

Regwrite=1

RegDst=0

 

2004

操作系统部分

1.D定时器属于资源,所以最好由系统分配

2.A课本上是这样讲的

最佳页面置换算法是理论上的,实际无法实现的;内核所在的地址一般是保

护起来的,用户不能访问;内存保护通常由硬件和软件共同完成

3.A

4.D全程变量尽程序内可见,进程间不可见

5.A课本上这样讲的

6.A把(0,0)带进去检验一下

7.B

8.A

B可寻址是块设备的特征,A错.

共享设备是并发,并非能同时访问,C错

共享设备不会死锁,D错.

10.CDMA的定义

11.C持有,等待,环,非抢占

12.A

t0---20---45---50----70---80----90----100--110--120---140----170-----

-185

a|wait|cpu-|wait|IO1-------|cpu--------|--IO2----|cpu--|IO1---|finis

h

b|cpu-|---IO1---|-cpu-|----IO2---|wait-|cpu-|wait|IO2--|cpu-------

--|finish

1),对应的物理地址为:

0AC5H4805D,1AC5H2757D

2),共耗费的时间为(1.5+1.5)+1.5=4.5微秒

(1)互斥占有并等待非抢占循环等待

(2)所有哲学家同时拿起左手边的筷子

程序设计部分

1.B

0x是十六进制的意思

2.C0为f,其余为t

3.B不是很确定。

*(a+i)[j]=*((a+i)[j])?

?

4.Dc中给字符串赋值要用strcpy();c#,java中是这样写的;c++中忘了

5.A同scanf("...",&a),x[i]不是地址

6.if(i=n/10)convert(a+1,i);

*a=i%10+'0'

1.789注意c是static

2.不知道我这里没有c的编译器。

感觉题有问题,i没有初始化,我记得c中没有

初始化的变量是随机值,而java中i会是0。

如果i初始等于0,结果是第i个单词的第i个字母经处理后输出,即DCLJE

floatcalc(intn)

{

floata=1,b=2,s=0;

inti=0;

for(i=0;i

{

s+=a/b;

b=a+b;

a=b-a;

}

returns;

}

数据结构部分

1.

2.

3.用完全二叉树的定义做

4.后缀码

5.usr

/

mark---Alex---bak

///

hw.c--hw.c--aa.txt

即左孩子,右兄弟的树。

组成:

1,

1)-128128128

2,0000000001001100

00000000010018,9

00000001001011000,1,2,...15

3,1)3232646

32被乘数0乘数

 

===================================================================

2003年

计算机专业基础:

试题一:

1~5,DBACB6~10,DABBA11~12,CC

试题二:

1),产生了死锁

2),可以在每个单行道交叉口出设立交通灯(即互斥信号量mutex1=1,mutex2=0)

试题三:

1),为了提高系统效率,交换区可以以连续方式分配,并且系统维护数据结构(交换区首地址,交换区长度),这里以块为单位。

访问其中的页面内容时候,首先指定该二元组,当内存有足够空间时读入内存。

2),交换区不宜采用LRU替换算法,这样会覆盖掉其他进程的页面。

当交换区空间不足时,要么进程等待,要么由OS分配更大的磁盘空间。

3),在内存中开辟缓冲区

试题四:

1),30

2),26

3),2^18

4),对应页表单元地址=1000+128×4=1492

试题七:

1~3,CDB

4,4ava2

5,(-1)*x*x/i

试题八:

1,1),76543212),交换a,b

2,1),AHelloWorld2),去掉串s中的空白符和转义字符’\t’和’\n’,并向左对齐。

试题九:

程序清单如下:

1),

#include

Intsearch(int*v,intn,intv)

/*在v[n]中二分搜索v,成功返回相应下标,不成功返回-1*/

{

Intlow,high,mid;

Low=0,high=n-1;

While(low<=high){

Mid=(low+high)/2;

If(v[mid]

Elseif(v[mid]>v)high=mid-1;

Elsereturnmid;/*搜索成功返回相应下表标*/

}

Return-1;/*搜索不成功返回-1*/

}

2),

Intsearch(int*,int,int);

Main()

/*该程序从input.txt文件中分别读入2个有100个整数的序列,并利用二分搜索2个序列中共同出现的整数输出到文件output.txt中*/

{

Int*a,*b;/*分别用来存放100个整数序列*/将

FILE*ifp,*ofp;

Inti;

A=(int*)malloc(100*sizeof(int));

B=(int*)malloc(100*sizeof(int));

Ifp=fopen(“input.txt”,”r”);

Ofp=fopen(“output.txt”,”w”);

Fread(a,sizeof(int),100,ifp);

Fread(b,sizeof(int),100,ifp);

For(i=0;i<100;i++){

If(search(b,100,a[i])!

=-1)

Fprintf(of,p,”%d”;a[i]);/*共同出现的整数则写入输出文件中*/

}

Fclose(ifp);

Fclose(ofp);

}

2002年

计算机科学基础

一,

1~5,ACCCD

6,n

7,5,7,7

8,c<’a’||c>’z’?

1:

0;

二,

S[i]-‘a’+10f(s)

三,

1),输出为:

2),输出为:

1+1+12+2+2

1+1+22+2+4

2+3+3

四,程序清单如下:

1),

Doublemyexp(doublex)

/*该函数利用e^x的级数展开式求其近似值,精确到10^(-4)*/

{

Doubleresult,temp;

Doublea;

Intb,i;/*级数中的每项由temp=a/b来表示*/

Result=1.0,a=x,b=1,i=1;

Temp=a/b;

While(temp>=1.0E-4){

Result+=temp;

A*=x;

B*=(++i);

Temp=a/b;

}

Returnresult;

}

2),

Main()

/*该程序将FIBONACCI数列的前n项Fi及e^Fi,写入文件out.txt中*/

{

Int*a,n,I;

FILE*fp;

Scanf(“%d”,&n);

A=(int*)malloc(sizeof(int)*n);

A[0]=a[1]=1;

For(i=2;i

A[i]=a[i-1]+a[i-2];

}/*构造FIBONACCI数列的前n项*/

Fp=fopen(“out.txt”,”w”);

For(i=0;i

Fprintf(fp,”%d,%f\n”,a[i],myexp(a[i]));

}/*分别将偶对(Fi,e^Fi)写入输出文件中*/

Fclose(fp);

}

计算机专业课(甲)

OS部分

试题一:

1~4,FHCB

试题二:

1~4,DACC

试题三:

1),(100×1ms)/(1s+100×1ms)=9.09%

试题四:

1),即缺页中断的处理流程

2),

3),

试题五:

1),引入缓冲是为了缓解计算机设备数据传输速度上的差异,如内存与低速外围设备之间。

2),?

2001年

计算机专业课(甲)

试题1:

平均访问时间=A+B/n+C/m

试题三:

试题四:

1),?

2),FATDOS,UFSUNIX,NFSSolaris2,NTFSWindowsNT,Ext2sfLinux

3),如Mac和Windows系列那样,由OS自动搜索执行程序,并支持“双击“操作。

试题五:

/*所用的数据结构*/

Semaphores1=0,s2=0;

Intdif=0;/*dif为buff1和buff2的数据个数差,m<=abs(dif)<=n*/

Semaphoremutex=1;

/*test函数的实现:

用来测试dif是否符合要求*/

Voidtest()

{

If((dif>=0&&dif<=m)||(dif<=-n))signal(s1);

Elseif((dif>=-m&&dif<=0)||(dif>=n))signal(s2);

Else{

Signal(s1);

Signal(s2);

}

/*进程P1的实现*/

P1()

{

While

(1){

Wait(mutex);

Test();

Signal(mutex);

Wait(s1);

/*操作:

putdataintobuff1*/

Wait(mutex);

Dif++;

Signal(mutex);

}

}

/*进程P2的实现*/

P2()

{

While

(1){

Wait(mutex);

Test();

Signal(mutex);

Wait(s2);

/*操作:

putdataintobuff2*/

Wait(mutex);

Dif--;

Signal(mutex);

}

}

试题六:

计算机科学基础

一:

1~2,AB

3,3ello

4,2

5,printf((i+1)%5==0?

”%d\n”:

“%d”,a[i]);

6,i<10&&a[i]>=0

二:

1,x-x^2+x^3-….

2,

1),TSC

2),将head为头指针的单链表中的结点数据域不是大写字母(’A’~’Z’)的结点删除,并释放结点的空间。

三:

程序清单如下

1),

#include

Intatoi(char*s)

/*函数返回可能包含符号的数字序列s相应的整数*/

{

Charc;

Intresult,sign;

Result=0,sign=0;

While(c=*s++)

Switch(c){

Case‘-‘:

sign=1;break;

Default:

result=result*10+(c-48);break;

}

Returnsign==?

(0-result):

result;

}

2),

Intatoi(char*);

Main()

{

FILE*ifp,*ofp;

Char*str:

Ifp=fopen(“test.txt”,”r”);

Ofp=fopen(“test.dat”,”rb”);

While(fscanf(ifp,”%s”,str)!

=EOF)/*从输入文件中依次读入数字序列str*/

Fprintf(opf,”%d“,atoi(str));/*str转换为相应的整数后,写入输出文件中*/

Fclose(ifp);

Fclose(ofp);

}

2000年

计算机科学基础

一:

1~5,AACCB

6,B

7,(-1)*x/i

8,6

二:

1,21

2,功能:

用插值法求f(x)=x^2-1在区间[0,3]上的近似解,若无解则返回0。

近似值:

1.000010

三:

#include

Main(intargc,char*argv[])

{

Char*p,*q;/*p指向当前字符,q依次指向下个待测试的字符*/

FILE*ifp,*ofp;

Intcount;

If(--argc<=2)/*测试命令行参数是否正确*/

Printf(“Usage:

countfromfiletofile.\n”);

Else{

Ifp=fopen(argv[1],”r”);

Ofp=fopen(argv[2],”w”);

}

Fscanf(ifp,”%c”,p);

Count=1;

While(fscanf(ifp,”%c”,q)!

=EOF){

If(*q==*p)count++;

Else{

Fprintf(ofp,”%d-%c,”,count,*p);/*输出当前字符的二元组*/

*p=*q;

Count=1;/*开始下个字符的计数*/

}

}

Fprintf(ofp,”%d-%c”,count,*p);/*输出最后一个字符的二元组*/

Fclose(ifp);

Fclose(ofp);

}

计算机专业课(甲)

OS部分

试题一:

所谓挂起也称为静止状态,处于某种目的进程可以进入挂起状态,从而在被激活之前暂不接收调度。

进程可以自己请求挂起,或者其父进程将它挂起,或者由OS内核将其挂起,在合适的时候,挂起进程可以被激活。

如果进程当前是活动就绪态,则执行suspend原语后变为挂起就绪态;如果进程当前是活动阻塞态,则执行suspend原语后变为挂起阻塞态。

可通过active原语将其激活。

试题二:

该算法不正确,违背了互斥条件。

试题三:

Wait(semaphores)

{

Waitb(mutex);

S=s-1;

If(s<0){

Signalb(mutex);/*

(1)*/

Waitb(dalay);

}

Else/*删掉else*/

Signalb(mutex);

}

Signal(semaphores)

{

Waitb(mutex);

S=s+1;

If(s<=0)

signalb(delay);/*

(2)*/

else/*添加else*/

Signalb(mutex);

}

1),wait的错误,考虑下面的情况:

当执行wait(s)到

(1)时,中断发生,由于mutex=1,此后singal(s)可以不断的执行,从而造成wait(s)饥饿。

2),singal的错误,考虑下面的情况:

当执行singal(s)到

(2)时,中断发生,mutex=0,虽然某次wait(s)可以执行完waitb(delay);但此后的任何wait(s)都将在waitb(mutex)处阻塞,无限等待。

试题四:

6层

试题五:

FIFOpage3;LRUpage1;NRUpage1

试题六:

1999年

计算机科学基础

一:

1,i||j

2,13

3,char(*A)()

4,?

5,*s++=*t++

6,char*sj++i

0:

1

二:

1),3,2,32,1,5

2),

1310852118743

7531148281310

三:

#inlcude

#include

Intmain(intargc,char*argv[])

{

Char*s,*t;/*s指向模式串,t为从文件中读入的待比较串*/

FILE*fp;

Intcount;

If(argc!

=3){/*测试命令行参数是否符合要求*/

Printf(“Usage:

grepwordfilename”);

Return-1;

}Else{

S=argv[1];

Fp=fopen(arvgv[2],”r”);

}

While(fscanf(fp,”%s”,t)!

=EOF)/*依次从输入文件中读入串t,并比较计数*/

if(strcmp(s,t)==0)count++;

fclose(fp);

returncount;

}

计算机专业课(甲)

OS部分

试题1~试题3:

DDBB

试题四:

试题五:

可以,由安全算法和Banker算法可知资源分配以后的系统仍然时安全的。

试题六:

1),逻辑地址(虚页号5bits,页内偏移11bits)

2),32项,每项14bits

3),32项,每项13bits

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

当前位置:首页 > 工程科技 > 能源化工

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

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