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

0
收藏   分享
  • 卷面总分:75分
  • 试卷类型:模拟考试
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:24次
  • 作答时间:150分钟
试卷简介
试卷预览
1

阅读下列函数说明,将应填入(n)处的字句写在答卷纸的对应栏内。

 【函数1说明】

 函数compare(SqList A,SqList B)的功能是:设A=(al,…,am)和B=(b1,…,bn)均为顺序表,“比较”两个顺序表A和B的大小。设A'和B'分别为A和B中除去最大共同前缀后的子表(例如,A=(y,X,X,Z,X,Z),B=(y,x,x,z,y,x,x,2),则两者中最大的共同前缀为(y,x,x,2),在两表中除去最大共同前缀后的子表分别为A'=(X,Z)和B'=(y,x,x,2))。若A'=B'=空表,则 A=B:若A'=空表,而B'≠空表,或者两者均不为空表,且A'的首元小于B,的首元,则A<B;否则A>B。

 提示:算法的基本思想为:若相等,则j+1,之后继续比较后继元素:否则即可得山比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。

 【函数1】

 int compare(SqList A,SqList B)

 {

 //若A<B,则返回-1;若A=B,则返回o:若A>B,则返回1

 j=0;

 while(j<(1)&&j<B.1ength)

         if( A.elem[j] < B.elem[j] ) return(-1);

         else if( A.elem[j] > B.elem[j] ) return(i);

         else (2) 

        ff (A.length == B.length) return (0);

        else fi(A.length < B.length ) return(-1);

        else return(1);

       }//compare

     //函数1的时间复杂度是 (3) 

  【函数2说明】

  函数 exchange_L( SLink &L, int m )的功能是:用尽可能少的辅助空间将单链表中前 m个结点和后 n 个结点的互换。即将单链表(a1,a2,...,am,b1,b2,...,bn) 改变成 (b1,b2,...,bn,a1,a2,…,am)。

  【函数2】

     void exchange_L( SLink &L, int m )

     {

        if((4)&& L->next)     // 链表不空且 m!=0

      {

         p = L->next; k = 1;

         while( k< m && p )        // 查找am所在结点

       {

           p =(5); ++k;

       }

           if((6)&&p->next)    //n!=0 时才需要修改指针

       {

           ha = L->next;            // 以指针ha记a1 结点的位置

           L->next = p->next;         // 将b1结点链接在头结点之后

           p->next = NULL;          // 设am的后继为空

           q:(7);      // 令q 指向b1结点

           while(q->next)q=(8);  // 查的bn结点

           q->next =(9);     // 将a1 结点链接到bn 结点之后

       }

      }

     }

     //函数2的时间复杂度是(10)。

1

【说明】

 某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。

 在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。

 新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。

 在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。

 【用例图】

【时序图】

注释1:学生打算注册新的课程。

注释2:一张这学期可选择的课程列表。

注释3:显示一张为学生选课用的空白登记表。

在UML中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中(1)~(3)处表示的内容。