一起答

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

  • 卷面总分:75分
  • 浏览次数:0
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:10次
  • 作答时间:150分钟
试卷简介
部分试题预览
  1. 阅读下列函数说明和Java代码,将应填入(n)处的字句写在对应栏内。

     【说明】

     类Queue表示队列,类中的方法如下表所示。

     

    类Node表示队列中的元素;类EmptyQueueException给出了队列操作中的异常处理操作。

     public class TestMain {    //主类

      public static viod main (String args[]){

       Queue q=new Queue();

       q.enqueue("first!");

       q.enqueue("second!");

       q.enqueue("third!");

        (1) {

        while(true)

         System.out.println(q.dequeue());

       }

       catch( (2) ){ }

      }

      public class Queue {   //队列

       Node m_FirstNode;

       public Queue(){m_FirstNode=null;}

       public boolean isEmpty(){

        if(m_FirstNode==null)return true;

        else return false;

      }

      public viod enqueue(Object newNode) {  //入队操作

      Node next=m_FirstNode;

      if(next==null)m_FirstNode=new Node(newNode);

      else{

       while(next.getNext()!=null)next=next.getNext();

       next.setNext(new node(newNode));

      }

     }

     public Object dequeue() (3) { //出队操作

       Object node;

       if (isEempty())

         (4); //队列为空, 抛出异常

       else{

        node=m_FirstNode.getObject();

        m_FirstNode=m_FirstNode.getNext();

        return node;

       }

      }

     }

     public class Node{    //队列中的元素

      Object m_Data;

      Node m_Next;

      public Node(Object data)      {m_Data=data; m_Next=null;}

      public Node(Object data, Node next) {m_Data=data; m_Next=-next;}

      public void setObject(Object data) {m_Data=data;}

      public Object getObject(Object data) {return m_data;}

      public void setNext(Node next)   {m_Next=next;}

      public Node getNext()       {return m_Next;}

     }

     public class EmptyQueueException extends (5) { //异常处理类

      public EmptyQueueException() {

       System.out.println("队列已空! ");

      }

    }

  2. 阅读下列函数说明和Java代码,将应填入(n)处的字句写在对应栏内。

      【说明】

     通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。

     下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。

     # include <iostream.h>

     class Configure{

         (1);

          Configure(){};  //构造函数

        public:

          static Configure *Instance();

        public:

          int GetConfigureData(){return data;}  //获取配置信息

          int SetConfigureDate(int m_data)

          {data=m_data; return data;}  //设置配置信息

        private:

          static Configure* _instance;

          int data;  //配置信息

     };

      (2)=NULL;

     Configure * Configure∷Instance()

     {  if(_instance==NULL)

     { _instance=(3);

        //加载配置文件并设置内存配置信息,此处省略

        }

     return (4);

     }

     void main()

     {  Configure *t=NULL;

        t=(5);

        int d=t->GetConfigureData();

        //获取配置信息后进行其它工作,此处省略

     }

  3. 阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。

    [说明] 输入1个长整型,求各位数字的平方和。

     例如:输入-123,输出14。

      #include <stdio. h>

     void main( )

     { int digit;

      long in , s;

      seanf(" % Id", &in );

               (1);

               (2);

      while(in >0) {

         (3);

      s = s + digit* digit;

         (4);

        }

      pfinff( "sum = % 1dn", s );

     }

  4. 阅读以下说明,回答问题,将解答填入对应的解答栏内。

    [说明] 某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。

  5. 如果将关系模式R分解为:

     R1(A#,B#,E)

     R2(B#,C,D)

     指出关系模式R2的键,并说明该关系模式最高满足第几范式(在1NF~BCNF之内)

  6. 在E-R模型中,如果实体间是1:N的联系,如何设计相应部分的关系模型?

  7. 将关系模式R分解到BCNF

  8. 用SQL语言写出操作:把数学系全体学生的成绩置零。

  9. 阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。

    [说明] 现有如下关系模式:R(A#,B#,C,DE),其中,A#,B#为组合键,R上存在的函数依赖有(A #,B#) →E,B#→C,C→D

    该关系模式满足2NF吗?为什么?

  10. 用SQL语言写出查询:查询年龄不在20~23岁(包括20岁和23岁)之间的学生的姓名,系别和年龄。