就业数据资源平台
当前位置:首页 > 数据库技术
2012年计算机三级数据库技术上机指导:考试内容(1)

 上机考试内容

  1 程序编制调试运行


  当试题抽取成功后,上机考试系统已将需编制程序的部分源程序存放到文件PROG1.C中,考生在指定的三级信息管理技术C语言环境中,按照试题给定的要求在PROG1.C文件中进行程序的编写,经过调试和运行,最后得到其运行结果并存放到指定的输出结果文件中。一般来说输出结果文件格式在程序中已给出,考生不必自行编写,只要调用即可。


  程序编制题只有一种题型:编写部分程序或函数。那么怎样编制程序呢?首先在编制程序之前,考生必须要理解试题,并分析出试题要求做什么,得出的结果怎样输出,再编写部分程序并调试运行,直至程序运行得到正确结果为止。


  1.评分规则


  程序编制、调试运行这一类试题的评分规则是判定最终的运行结果,按正确结果的多少,按比例进行给分。考生编写的程序方法和内容可以有所不同,但必须得出正确的结果,才能得分。


  2.举例


  例1:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章, 存入到字符串数组xx中; 请编制函数encryptChar(), 按给定的替代关系对数组xx中的所有字符进行替代, 仍存入数组xx的对应的位置上, 最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。


  替代关系:f(p)=p*11 mod 256 (p是数组xx中某一个字符的ASCII值, f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变, 否则将f(p)所对应的字符进行替代。


  注意:部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符。


  请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 部分源程序如下:


  #include


  #include


  #include


  #include


  unsigned char xx[50][80];


  int maxline=0 ; /* 文章的总行数 */


  int ReadDat(void) ;


  void WriteDat(void) ;


  void encryptChar()


  {


  }


  void main()


  {


  clrscr() ;


  if(ReadDat()) {


  printf(“数据文件ENG.IN不能打开!\n\007”) ;


  return ;  }


  encryptChar() ;


  WriteDat() ;


  }


  int ReadDat(void)


  {


  FILE *fp ;


  int i=0 ;


  unsigned char *p ;


  if((fp=fopen(“n.dat”, r))==NULL) return 1 ;


  while(fgets(xx[i], 80, fp)!=NULL) {


  p=strchr(xx[i], ′\n′) ;


  if(p) *p=0 ;


  i++ ;


  }


  maxline=i ;


  fclose(fp) ;


  return 0 ;


  }


  void WriteDat(void)


  {


  FILE *fp ;


  int i ;


  fp=fopen(“out.dat“, w) ;


  for(i=0 ; i < maxline ; i+[ +) {


  printf(“%s\n“, xx[i]) ;


  fprintf(fp, “%s\n“, xx[i]) ;


  }


  fclose(fp) ;


  }

就业数据资源平台