一起答

软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷14

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 【说明】

     下面是一个Applet程序,其功能是建立2个文本区域,一个为编辑区,一个为只读区;建立2个按钮,一个实现将编辑区中被鼠标选定的文本内容拷贝到只读区中,一个实现将只读区的全部文本内容清空。

     程序运行结果如图3所示。

     

     import java.awt.*;

     import java.applet.*;

     /*

     <applet code="ex3_6.class" width=800 height=400>

     </applet>

     */

     public class ex3_6 extends Applet{

      private Button okBtn,clearBtn;

      private String strMessage;

      private TextArea tArea1,tArea2;

      public void init(){

      strMessage="Hello! Welcome to the test! \n"+"Wish you good luck!";

      tArea1=new TextArea(10,25);

       (1);

      tArea2=new TextArea(10,25);

       (2);

      OkBtn;new Button("Copy");

      dearBtn=(3);

      add(tArea1);

      add(tArea2);

      add(okBtn);

      add( clearBtn);

      }

      public boolean action( Event e,Object o){

       if(e.target==okBtn)

        tArea2,setText((4));

       else if(e.target==clearBtn)

         (5);

       return true;

      }

     }

     ex3_6.htm|

     <HTML>

     <HEAD>

      <TITLE>ex3_6</TITLE>

     </HEAD>

     <BODY>

      <appletcode="ex3_6.class" Width=800 height=400 >

      </applet>

     </BODY>

     </HTML>

  2. 【说明】

     ①定义类Table的私有数据成员x和y,分别用于表示九九表中的两个乘数(x*y),它们都是int型的数据。

     ②完成类Table的成员函数print()的定义,该函数以“x*y=z”的格式打印出九九表中的一个乘法算式,请使用格式化输出函数printf实现。

     ③完成类Table9的成员函数print()的定义,该函数调用基类Table的print()函数,将九九表输出到屏幕。

     ④补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。

     源程序文件test8_3.cpp清单如下:

     #include <iostream, h >

     #include < stdio, h >

     class Table

     }

       (1) 

      int z;

      public:

      void print (int x,int y,int z);

     };

     void Table::print (int x,int y,int z)

     {

       (2) 

     }

     Class Table9:public Table

     {

     public:

      void print();

     };

     void Table9::print()

     {

       (3) 

      int x,y,z;

      for(i=1;i<10;i++)

      {

       for(j=1;j<i+1;j++)

       {

        x=i;

        y=j;

        z=i*j;

        Table::print(y,x,z);

       }

       printf("\n");

     }

     }

     main()

     {

      //* *4* *

     return 0;

     }

  3. 下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

     注意:部分源程序给出如下。

     请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

     

    试题程序:

     #include<stdio.h>

     #include<malloc.h>

     #include<string.h>

     #include<conio.h>

     #define N 10

     typedef struct ss

     {

      char num[10];

      int order;

     }STU;

     STU*fun(STU a[],int m)

     {

      STU b[N],*tt;

      int i,j,k;

       (1);

      for(i=0;i<N;i++)

       b[i]=a[i];

      for(k=0;k<m;k++)

      {

       for(i=j=0;i<N;i++)

        if((2))

         j=i;

       tt[k]=b[j];

       b[j].order=0;

      }

      return (3);

     }

      outresult(STU a[],FILE*pf)

      {

       int i;

       for(i=0;i<N;i++)

        fprintf(pf,"No=%s Mark=%d\n" ,a[i].num,a[i].order);

        fprintf(pf,"\n\n");

      }

      main()

      {

       STU[N]={{"A01",80},{"A02",79},

           {"A03",66},{"A04",82},{"A05",87},

           {"A06",93},{"A07",78},{"A08",60},

           {"A09",85},{"A10",73}};

       STU * p_order;

       int i,m;

       clrscr();

       printf("* * * The Origial data * * *\n");

       outresult(a,stdout);

       printf("\nGive the numeber of the students who have better score:");

       scanf("%d",&m);

       while(m>10)

       {

        printf("\nGive the number of the studets who have better score:");

        scanf("%d",&m);

       }

       p_order=fun(a,m);

       printf("* * *THE RESULT* * *\n");

       printf("* * * The top students * * *\n");

       for(i=0;i<m;i++)

        printf("%s %d\n",p_order[i].num,p_order[i].order);

        free(p_order);

     }

  4. 根据题意回答以下问题:

     设某商业集团数据库中有3个实体集:一是“商店”实体集,属性有商店编号,商店名,地址等;二是“商品”实体集,属性有商品号,商品名,规格,单价等;三是“职工”实体集,属性有职工编号,姓名,性别,业绩等。商店与商品间存在“销售”联系,每个商店可以销售多种商品,每种商品也可以在多个商店和职工间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。

     问题:

     1.请根据题意完善下面ER图。

     2.将ER图转换成关系模型,并注明主键和外键。

     3.请写出要查出员工“小李”在三月份的销售业绩的关系代数式。

  5. 阅读以下说明和流程图(如图3所示),回答问题1和问题2。

     【说明】

     本流程图实现从成绩文件生成学生成绩一览表。

     某中学某年级的学生成绩数据(分数)登录在成绩文件10中,其记录格式见表2:

    由该成绩文件生成见表3的学生成绩一览表。生成的学生成绩一览表按学号升序排列。表中的名次是指该生相应课程在年级中的名次。

       

    流程图中的顺序文件F0是学生成绩文件,F0文件经处理1处理后产生顺序文件F,然后经过处理2至处理4对文件F进行处理和更新。在处理5中,仅对文件F的纪录进行学生成绩一览表的编排输出,不进行排序和增加名次等处理。

    流程图中文件F的纪录格式设定为见表4形式:

    其中的①、②应定义为何种数据项?

  6. 简述处理2、处理3和处理4作何种处理,若有排序处理则需指明排序的键及序(升序或降序)。

  7. 阅读下列说明、图1和图2,回答问题1、问题2和问题3。

     【说明】

     下面是某租车信息管理系统的介绍:该车库中备有若干车辆,每辆车有车号、车牌、车名、价格等属性。车库不定期地购买并注册新车供用户借用,也可将报废的旧车注销以停止租用。

     车库可为众多用户提供服务。每个用户在借车之前需注册姓名、地址等内容。每个用户最多可同时借3辆车。每辆车借期7天;若有一辆车超期,则不可再借其他车。一辆车超期一天罚款250元。若一辆车超期3周不归还,则发布通告。若用户借的车丢失,在罚款处理之前不能借车,每辆报失的车罚款该车目前市价(包括折旧)的1.2倍。注册新用户不受限制;而注销用户之前,该用户必须归还所有借的车,或者报失并接受罚款。

    分析车辆的状态和事件,指出图1中的(1)、(2)、(3)、(4)分别是什么?

  8. 指出UML中活动图的含义,并说明活动图和状态图的区别与联系。

  9. 分析用户的状态和事件,指出图2中的(5)、(6)、(7)、(8)分别是什么?(注意,用户与车辆在状态图中的关系)。