要在答题纸上快速地写出能让阅卷老师满意的代码是有技巧的,这与写出能在编译器上编译通过的代码有所不同。为了说明这一点,首先看一个例子:
设将n(n>1)个整数存放到一维数组R中,设计一个算法,将R中的序列循环左移P(0<P<n)个位置,即将R中的数据由{X0,X1,…,Xn-1}变换为{Xp,Xp+1,…,Xn-1,X0,X1,…,Xp-1}。要求:写出本题的算法描述。
分析:
本题不难,要实现R中序列循环左移P个位置,只需先将R中前P个元素逆置,再将剩下的元素逆置,最后将R中所有的元素再整体做一次逆置操作即可。本题算法描述如下:
以上程序段是一段完整的可以在编译器下编译运行的程序,程序比较长,对于考试答卷,完全没有必要这么写。
第1句和第3句,在大学学习期间所写的程序中几乎都要用到,研究生考试这种选拔考试不会用这种东西来区分学生的优劣,因此答题过程中没必要写,可去掉。(www.daowen.com)
第2句定义了一个常量,如果题目中要用一个常量,则在用到的地方加上一句注释,说明某某常量之前已经定义即可。没必要再在前面补上一句#define××××,因为试卷是答题纸,不是文本编辑器,插入语句不是那么方便。为了节省考试时间且使试卷整洁,第2句也可去掉。
第26~39句是主函数部分,之前定义的函数(第4~25句)在这里调用。在答题中,只需要写出自己的函数说明(第4~25句),写清楚函数的接口(何为接口,下边会细致讲解)即可,阅卷老师就知道你已经做好了可以解决这个题目的工具(函数),并且说明了工具的使用方法(函数接口),因此第26~39句也可以去掉。
经过以上删减,就变成以下程序段了,显然简洁了很多。
这里来说一下函数的接口。假如上述函数是一台机器,可以用原材料来加工成成品,那么接口就可以理解成原材料的入口,或成品的出口。例如,上述程序段中的第12句:RCR(intR[],intn,intp)就包含一个接口,它是原材料的一个入口。括号里所描述的就是原材料的类型以及名称,是将来函数被调用的时候所要放进去的东西,是在告诉别人,需要3个原材料:第一个是一个int型的数组,第二个是一个int型的变量,第三个也是一个int型的变量。第15句:cout<<"ERROR"<<endl;也是一个接口,它会在输出设备上打印出英文单词ERROR,用来提示用户这里出错了,这算是成品的出口,这里的成品就是一个提示。同时,第1句中传入int型数组的地方也可以理解为一个产品的出口,因为从这里传入的数组的内容,将在函数执行完后被加工成我们想要的内容。通过以上说明,可以把接口理解为用户和函数打交道的地方,通过接口,用户输入了自己的数据,得到了自己想要的结果。
至此,我们可以知道考研综合应用中算法设计题中的代码部分重点需要写哪些内容了,即只需写出一个或多个可以解决问题的有着清楚接口描述的函数即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。