1、中大历年复试题11年 这次参加复试的有100+,学术录取46人,专硕24人首先咱们谈谈笔试英语题型是:中译英(校长的就职演讲),英译中(关于算法方面的相对中译英难度要低一些,没有什么特别难翻译的句子),作文(给一幅图关于Population Reference Bureau)专业笔试:离散总共五道题,第一道关于一阶逻辑求主析取范式、主合取范式、真值表 (只要看了书,计算细心点,这道题一般能拿满分)第二道对循环关系有如下定义:对于A上的关系R,若对任意属于R且属于R,则属于R. 证明:R是自反和循环关系当且仅当R是等价关系。(我当时不知道什么是循环关系,悲剧了)第三道考得是集合的求解,思想与课本
2、上的200能被3、5、7整除解法类似,(文氏图法或都公式法)第四道考得Dijkstra算法,初试数据结构是重点章节,问题不大第五道证明对于任意一个具有6个顶点的简单图,要么它包含一个三角形,要么它的补图包含一个三角形(这个题当时很晕,不知如何下手)C语言:第一道是关于全局变量和局部变量的,要求写出程序结果,只要好分析,做出来不难第二道是关于静态变量的,要求写程序结果,只要掌握静态变量只初始一次就可以了第三道求从串中找子串的,只有三个空第四道是进行分类,如12a3bc4,要求输出为1234abc第五道设计一个程序,从in.txt读入数据,对每一行的数字都单独按从大到小的顺序排序,将结果输出到ou
3、t.txt。每一行的数字第一个字符是数字标志,每个数字之间用空格隔开。这次笔试相对往年离散比往年的难度要大些,普遍考得不好,本以为文件会考哪知,这次考了,所以建议大家在复习还是把每个要求的知识好好看一遍对于面试首先老师要我自我介绍,然后用英语问了一个我的优点和缺点随后,老师开始进行专业知识的考查,有个考官问我选的专业是什么,然后针对我选的专业问我ERP是什么,BPR有哪几种类型(我当时只是从网上了解了一下,哪记得这么多,我吱吱唔唔了半天,那个老师微笑地对我说不知道就不知道,知道就知道)接着又问了我的学校(其实我们学校不是很好)但老师并没因此而认为你不行,至少我可以证明,中大老师绝不会有学校歧视
4、,他们面试非常地公平。然后,问了一个关于软件工程有哪几种模型,又问我做项目时用得哪种模型。软件开发的流程,而后问我需求分析主要是干什么的,当时回答成了概要设计的去了。接着,又问我哪门学得好点,我说数据结构,我本以为老师会问数据结构中的内容,哪知却问我,学数据结构应该要学哪些课程,我当时有点晕,(比如高等数学、离散数学、线性代数、C语言等等)其实,这是老师在考验的我们的反应能力。 这道回答得不好。最后,问了一个有关离散的问题,先是问知不知道等价关系,我说完后,老师竟然问我老乡是不是等价关系,我又晕了,我说不是,然后,老师就问我为什么,我就按照定义去说,幸好,有个男老师帮我解围,按照老师的提示顺利
5、答出此题。另外,我听同组其它同学面试的题目,有些很灵活,比如一根铁丝紧紧围隹地球,只增加一米,问一只猫能通过吗?还有像哈夫曼树、结构化程序设计等等希望,我所写的对大家有点帮助,总得来说,复试没有想像的那么恐怖,但也不是那么容易,只要保持平静的心态就行了。2003:一程序,C语言,有关递归,特烦二求最长公共子串,程序填空形式(略)三迷宫,自己写程序八离散部分 1)R是A上的一个对称和传递的关系,对于任意a属于A,都存在一个b属于A,使得属 于R,证明R是一个等价关系。2)是一个半群,对于任意a, b属于G,a!=b,则a*b!=b*a。试证:对任一元素a属于 G,有a*a=a。3)证明一个图G,
6、它顶点的最小顶点度不小于2,证明它存在圈。4)求(PVQ)P主析取范式。 04 年中山大学计算机系复试笔试试题2程序填空(10分)此程序主要完成的功能是:把一个整数W分解成不多于N个整数的和,且这些整数只能取自数组b,程序如下:(程序实在想不起来了,只记得程序是用递归完成的,总共有5个空,我认为都不难)。3编写一段函数,满足以下要求:将字符串S1中出现的所有S2都替换成S3,并且不损坏字符串S1。函数原型为:char exchange(char S1, char S2, char S3) (15分)4请说明信号量的结构和取各种数值时的意义。(9分)5请描述p操作和v操作的执行过程,以及用p,v
7、原语解决死锁问题时有哪些需要注意的问题。(12分)6请描述进程的几种状态,以及各种状态之间的转换关系。(9分)7根据你所熟悉的操作系统,如DOS或UNIX为例,谈谈它是怎样实现层次文件目录结构的。(10分)8证明对于集合A、B、C,如果有AB=BC,并且AB=A*C,其中A*为A的补集,则一定有B=C。(10分)。9证明:一个连通且每个顶点的度数都为偶数的图一定没有割边。(10分)10设代数系统(G,*)为一个半群,且有左单位元e,对于任意一个x均有x,使得x*x=e。证明:对于任意a、b、c,如果b*a=b*c,则一定有a=c。(15分)11根据已知前提,证明如下结论(10分)S), (Q
8、前提:P RVP, QS 结论:R 05 年中山大学计算机系复试笔试试题C 语言程序设计1.写出以下程序的输出.#define MAXN 100int aMAXN,rMAXNnd(int n)int i,k;k=0;r0=n;do if(rk=0) printf(%d=%d,a0,a1); for(i=2;i0&ak=1) k-; if(k0) ak-;rk+; else ak+1=ak0)main()int data=4;a0=data;nd(data);2.本程序用回溯算法来产生由 0 或 1 组成的 2 m 个二进位串,使该串满足一下要求. 视串为首尾相连的环,则由 m位二进制数字组成的
9、 2m 个子序列,每个可能的子序列都互不相同.例如,如果 m=3,在串 11101000 首尾相连构成的环中,由 3 位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是 111,110,101,010,100,000,001,011,如图所示: 1 0 1 0 1 0 0 1#define N 1024#define M 10int bN+M-1;int equal(int k,int j,int m)int i;for(i=0;im,i+)if(bk+i_(1)_) return 0;return 1;int exchange(int k,int m,int v)while(
10、bk+m-1=v) bk+m-1=!v; _(2)_ _(3)_=v; return k;init(int v)int k;for(k=0;kN+M-1;k+) bk=v;main()int m,v,k,n,j;printf(Enter m(1m10),v(v=0,v=1) n);scanf(%d%d,&m,&v);n=0x01m; init(!v);k=0;while(_(4)_n) for(j=0;jk;j+) if(equal(k,j,m) k=exchange(k,m,v); j=_(5)_; for(k=0;kn;k+) printf(%dn,bk); 尾数不3.自然数中有一类数被称
11、为自守数.所谓自守数就是自已和自己相乘以后得到的数,变.例如:2525=625.76*76=5776 请编写程序:用户输入 m,n(10mn0) result*=10; num/=10; /这里 num 只是一个副本,所以不会改变原变量 return result;int Test(long num)/用来测试一个数是否是自首数,是返回 1,不是返回 0 if(num*num-num)%GetHelpNum(num)=0 ) return 1; else return 0;void main() coutmn;/这里没有做数值检查,有兴趣可以加上去long count=0;for(long n
12、um=m+1;numn;num+) if(Test(num)=1) count+; coutnum” “; if(count%5=0) coutB g:B-P(A) g(b)=x|x属于A,f(x)=记不住了 若f是满射,证g是单射.三 给定一图,求其邻接矩阵,可达矩阵,由邻接矩阵求通路数。七 给一程序,写出输出结果(很简单略)八 程序填空:水仙花数程序九 写程序:一字符串第N个字符开始的所有字符复制到一新字符串09离散数学有5道题目:1.通过文示图来求解2.画关系图3.写出生成树4.图的矩阵(可达矩阵,通路,回路数)5.有关图的证明.这五道题比较简单,只要认真以前复试过的题目以及课本上基本的
13、例题都会做.这里我就不去回忆具体的题目啦编程题目有6道1.通过一个循环来求1-10之间偶数和与奇数和,并在程序中故意放两个错误,让你改正2.填写输出结果.有关指针和结构体的知识.3.填写输出结果,程序是求一个矩阵的对角线这和,比较容易4.填空.通过一个指针来输出一个数组的下三角5.改正程序中的错误,题目我忘记了.6.写一个字符串转换到整数的程序,比如输入字符串-1234时,程序要输出整数-123410离散一、1到300的300个整数,能被3,、5、7整除的个数是多少,不能被3、5、7整除的个数是多少等等二、证明:f(gh)=(fg) h三、一个图,求邻接矩阵,可达矩阵,长度为3的通路数等四、证
14、明:一个N阶含有n-1条边的图至少有一个度数为1的顶点五、给了一个无向图,画出生成树C程序一、不记得了,关键在于理解printf(“%*d”,a,b)的含义二、填空一个对称矩阵的程序三、填空题:在一个串中找另一个串出现的次数四、写程序:在链表中查找值为A的结点,在其前面插入值为K的新结点。如不存在A结点,则插在表尾五、用递归写程序英语一、 英译汉。关于云计算二、 汉译英。接着去年校长的讲话。按这个趋势,明年可能还考三、 作文。写一篇研究计划,包括研究领域,能做出什么样的改进,做出什么样的贡献等等面试的题目是写在纸条上,从一叠中抽一张你答的:1. 三分钟英语自我介绍2. 英语提问与回答。3. 面
15、向对象的三个特征? 封装,继承,抽象 向对象的三个基本特征是:封装、继承、多态。 封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程4. 比较 unix 和 windows 有
16、什么不同?5. 你学过什么程序设计语言?当前最热门的语言是什么?它们各有什么特点?Java面向对象:其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象
17、的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。 面向对象的特征 (1)对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)抽象性。 分类性是指将具有一致的数据结构(
18、属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。 (3)继承性。 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。在软件开发中
19、,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。 (4)多态性(多形性) 多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用6 CMM是什么:有哪五个层次 CMM是是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工
20、程能力的提高与评估。CMM分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。CMM是指“能力成熟度模型”,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。它是在美国国防部的指导下,由软件开发团体和软件工程学院(SEI)及Carnegie Mellon大学共同开发的。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。 CMM是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。CMM
21、分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。 从当今整个软件公司现状来看,最多的成熟度为1级,多数成熟度为2级,少数成熟度为3级,极少数成熟度为4级,成熟度为5级的更是凤毛麟角。 其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。CMM它是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了众多国家以及国际软件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容7. 你选择研究的方向是什么?你对自己的专业有什么了解?你觉得应该怎样开始一项研究工作?8.
22、 为什么要考研?9. OSI.体系结构?是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层 TCP/IP参考模型共分为四层 1.应用层(application layer) 2.传输层(transport layer) 3.互连层(internet layer) 4.主机-网络层(host-to-network layer)10. cs and bs 的优缺点?BS和CS的区别以及优缺点 C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户
23、端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个: 只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要
24、专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。 对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。 B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端
25、零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。 你看过那些学术周刊?计算机科学,计算机科学与技术,.计算机研究与发展,.软件学报,.计算机学报:Computer Science , Computer Science and Technology,. Journal of Computer Research and Development,. Journal of Software,. Journal of Computers12. 你认为
26、本科阶段哪些课程比较重要?他们之间有些什么联系?13.什么是多媒体?它有哪些特征? 多媒体技术是利用计算机对文字,图像,图形,动画,音频,视频等多种信息进行综合处理的计算机应用技术,多媒体包括文本、图形、静态图像、声音、动画、视频剪辑等基本要素集成性 控制性 交互性 信息使用的方便性 非线性14. 试叙述形式系统的可靠性与完备性?15. 电视屏幕有时闪烁,你认为是什么原因? 新频率调节,120以上就不会闪了(一般液晶最低是120),有这功能的电视都是刚出液晶时的换代产品16.什么是公理化系统?一个公理的集合,从中一些或全部公理可以用来一起逻辑的导出定理17. 谈谈你做过的一些项目经验。18.你
27、报的是什么方向?如果招生已满,是否愿意调剂?19. 大型软件开发过程有哪些?软件的开发过程是指产品从被用户提出需求,然后经过计划、分析、设计、编码、测试直至成型移交和维护。它可以分为以下几类:1、瀑布模型 (V模型、喷泉模型 ):从上一项活动接收该项活动的工作对象,作为输入,利用这一输入实施该项活动应完成的内容;给出该项活动的工作成果,作为输出传给下一项活动;对该项活动实施的工作进行评审,若其工作得到确认,则继续下一项活动,否则返回前项,甚至更前项的活动进行返工。优点是:通过阶段评审,将开发过程纳入正确轨道,严格的计划性保证软件产品的按时交付。缺点是缺乏灵活性,不能适应用户需求的改变,随着软件规模和复杂性的增加,软件产品成功的机率大幅下降。2、螺旋模型:每一圈是一个阶段,每个阶段里又有一些活动。优点是风险分析可使一些极端困难的问题和可能导致费用过高的问题被更改或取消 用户评价为需求的变更带来柔性;缺点是需要开发人员具有相当丰富的风险评估经验和专门知识,要求用户参与阶段评价,对用户来说比较困难,不易取得好的效果。3、原型模型(锯齿模型、快速原型):立项以后先提交原
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1