一起答

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

  • 卷面总分:75分
  • 浏览次数:0
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:14次
  • 作答时间:150分钟
试卷简介
部分试题预览
  1. 【说明】

     下面是一个Applet程序,其功能是建立一个图形用户界面的窗口,包括一个文本显示区和一个按钮,点击按钮,可以在文本区已有的文本基础上追加显示10条"Welcome to China"信息,并且文本区由滚动条控制文本的上下滚动。

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

     import javax.swing.*;

     import java.awt.*;

     import java.awt.event.*;

     /*

      <appletcode="ex5_6.class" width=800 height=400>

      </applet>

          

     */

     public class ex5_6 extends JApplet{

      JButton jb=new JButton("Add Text");

      JTextPane jtp=new JTextPane();

      public void init(){

      jb.addActionListener(new ActionListener()){

       public void actionPerformed(ActionEvent e){

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

        (1)+" Welcome to China!\n";

       }

      };

      Container cp=(2);

      cp.add(new JScrollPane(jtp));

      cp.add((3));

     }

     public static void main (String[] args){

      ex5_6 obj5_6=new ex5_6();

      String str=obj5_6.getClass().toString();

      if(str.indexOf("class")!=-1)

       str=str.Substring(6);

      JFrame. frm=new JFrame(str);

      frm.addWindowListener(new (4) {

       public void windowClosing(WindowEvent we){

       System.exit(0);

       }

      });

      (5).add(ex5_6);

      frm.setSize(300,400);

      frm.setVisble(true);

      }

     }

     ex5_6.htm|

     <HTML>

     <HEAD>

     <TITLE>ex5_6</TITLE>

     </HEAD>

     <BODY>

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

      </applet>

     </BODY>

     </HTML>

  2. 假设这个银行有若干个节点,每个节点运行一个数据库系统。假设这些节点之间惟一的交互式用电子方式相互传送款项,这样的系统是分布式数据库系统吗?为什么?

  3. 阅读下列程序说明,将在空缺处填入正确的内容。

     【程序说明】

     定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。(3)编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。

     【程序】

     #include "iomanip.h"

     struct polygon

     {

      int n;

      int* x;

      int *y;

      polygon * next;

     };

     void Push(polygon * & head,int n)

     {

      polygon * newNOde=newpolygon;

      newNOde=newpo,Ygon;

      newNOde->next=(1);

      newNOde->x=new int [n];

      newNOde->y=new int[n];

      newNOde->n=(2);

      for(int i=0;i<=(3);i++){

       cout<<“请输入多边形各顶点x、y坐标,坐标值之间用空格分隔:”;

       cin>>newNOde->x[i]>>newNOde->y[i];

      }

       (4)=head;  //在head前不需要额外的。

      head=newNOde;

     }

     polygon * create()

     {

      polygon * head=NULL;

      polygon * tail;

      int n;

      cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;

      cin>>n;

      if(n==0)return (5);

      Push(head, (6);

      tail=head;

      cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;

      cin>>n;

      while(n!=0)

      {

        Push(tail->next,(7);  //在tail->next增加结点

        tail =tail->next;  //advance tail to point to last node

        cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;

        cin>>n;

      }

      return head;

     }

     void disp(polygon * head)

     {

      int i,No=1;

      cout<<setw(10)<<"x" <<setw(6)<<"y"<<end1;

      while(head!=NULL)

      {

       cout<<“第” <<No<<“结点:” <<end1;

       for(i=0;i<=head->n-1;i++)

       cout<<setw(10)<<head- >x[i]<<setw(6)<<head- >y[i]<<endl;

        (8);

       head=(9);

       }//Match while statement

     }

     void del(polygon * head)

     {

      polygon * p;

      while(head!=NULL)

      {

       p=(10);

       head=head->next;

       delete p->x;

       delete P->y;

       deletep;

      }//Match while statement

     }

     void main()

     {

      polygon * head;

      head=create();

      disp(head);

      del(head);

     }

  4. 阅读下列程序说明和C++代码,将应填入(n)处。

      【说明】

     ①在类体中添加函数move(double ax,double ay)的定义,使得点的坐标x和y分别移动 ax和ay个单位。

     ②在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx,double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。

     ③完成函数double distance(double bx,double by)的定义,该函数返回*this和点(bx, by)的距离。

     注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。

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

     #include<iostream.h>

     #include<math.h>

     class CPosition

     {

     public:

      CPosition();

      CPosition(double dx,double dy);

      double getx();

      double gety();

       (1) 

      double distance(double bx,double by);

     private:

      double x;

      double y;

     };

      (2) 

     {

      x=0;y=0;

     }

     CPosition::CPosition(doub,e dx,doub,e dy)

     {

      x=dx; y=dy;

     }

     double CPosition::getx()

     {

     return x;

     }

     double CPosition::gety()

     {

     return y;

     }

     double CPosition::distance(double bx,double by)

     {

       (3) 

     }

     vold main()

     {

      double a,b;

      cout<<"|nput x,y position of a point:";

      cin >> a >> b;

      CPosition psA(a,b);

      cout<<"Input x,y position of another point:";

      cin >>a >> b;

      cout <<"The distance is" <<psA.distance(a,b) <<end1;

     }

  5. 如下的SQL语言用于查询“在该银行中一笔贷款贷给多个(至少2个)客户的所有贷款号和发放贷款的支行名称”的不完整语句,请在空缺处填入正确的内容。

     SELECT Borrow.Lno,Bname

     FROM Borrow,Loan

     WHERE(1)

     HAVING(2);

  6. 阅读下列说明和E-R图,回答问题1~3。

     【说明】

     设有关于银行借贷管理系统的E-R图(如图4所示)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。为了答题的方便,图中的实体和属性同时给出了中英文说明,回答问题时只需写出英文名即可。

    根据E-R图中给出的词汇,按照“有关模式名(属性1,属性2,…)”的格式,将此E-R图转换为关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。要求其中的关系模式至少属于第三范式。

  7. 阅读以下说明,回答问题。

     【说明】

     某公司要开发一个销售管理系统,该系统的主要功能是:处理客户和销售员送来的订单;工厂是根据订货安排生产的,交出货物同时开出发票,收到客户付款后,根据发票存根进行应收款处理。每张订单由订单号,若干头信息和订单细节组成。一张订单可定购多种产品,工厂对大宗订货给予优惠。每种产品都规定了不同订货数量的折扣。

     根据上述要求公司的销售部王经理写下了以下数据表结构:

     客户:(客户号,客户名,地址,电话)

     订单:(订单号,客户号,产品号,订货数,订货日期,交货日期,金额)

     应收账款:(客户号,订单号,发票号,应收金额,支付日期,支付金额,当前余额)

     产品描述:(产品号,产品名,单价,重量)

     折扣规则:(产品号,订货量,折扣)

    上表中带下划线的为主码。请为还没有确定主码或是主码不合理的数据表选定最合适的主码。

  8. 上面的关系模式中还有不是第二范式的,请将其转为第二范式。并确定新数据表的主码。

  9. 数据流图1口3中缺少3条数据流,请直接在图中添加。

  10. 阅读下列说明和数据流图,回答问题1~问题3。

    【说明】

     某考务处理系统主要功能是考生管理和成绩管理:

     1.对考生送来的报名表进行检查。

     2.对合格的报名表编好准考证号码后将准考证送给考生,将汇总后的考生名单送给阅卷站。

     3.对阅卷站送来的成绩表进行检查,并根据指定的合格标准审定合格者。

     4.填写考生通知单(内容包含该考生的准考证号、姓名、各课程成绩及最终合格/不合格标志),送给考生。

     5.根据考生信息及考试成绩,按地区、年龄、文化程度和职业进行成绩分类统计及试题难度分析,产生统计分析表。

     考务处理系统的顶层图如图1所示,第0层图如图2所示,加工2子图如图3所示。

     【数据流图】

    指出哪张图的哪些文件可以不必画出。