一起答
主观

阅读以下说明和Java 码,将应填入(n)处的字名写在的对应栏内。

[说明] 打印输出10行杨晖三角形。形式如下:

杨晖三角形:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

1 8 28 56 70 56 28 8 1

1 9 36 84 126 126 84 36 9 1

 class yanghui

 {

   public static void main (String args [] )

   {

     int i, j;

      (1) 

     int yanghui [] [];

     System. out. println( “杨晖三角形:” );

     yanghui = new int [ yhleve1] [];

     for(i =0;i < yanghui, length; i + + )

       yanghui[i] = new int [i + 1];

       (2) 

     for((3))

     {

     yanghui [i] [0] = 1;

     for(j = 1 ;j < yanghui[i], length - 1 ;j + + )

       yanghui[i] [j] = yanghui[i - 1] [j - 1] + yanghui[i - 1] [j];

       yanghui[i] [yanghui[i]. length - 1 ] = 1;

     }

     for ( i=0; i < yanghui. length; i + + )

     {

       for(j =0;j < yanghui[i]. length; j + + )

         (4) 

     System. out. println( );

     }

   }

 }

参考答案
查看试卷详情
相关试题
  1. 阅读以下说明和Java 码,将应填入(n)处的字名写在的对应栏内。

    [说明] 打印输出10行杨晖三角形。形式如下:

    杨晖三角形:

    1

    1 1

    1 2 1

    1 3 3 1

    1 4 6 4 1

    1 5 10 10 5 1

    1 6 15 20 15 6 1

    1 7 21 35 35 21 7 1

    1 8 28 56 70 56 28 8 1

    1 9 36 84 126 126 84 36 9 1

     class yanghui

     {

       public static void main (String args [] )

       {

         int i, j;

          (1) 

         int yanghui [] [];

         System. out. println( “杨晖三角形:” );

         yanghui = new int [ yhleve1] [];

         for(i =0;i < yanghui, length; i + + )

           yanghui[i] = new int [i + 1];

           (2) 

         for((3))

         {

         yanghui [i] [0] = 1;

         for(j = 1 ;j < yanghui[i], length - 1 ;j + + )

           yanghui[i] [j] = yanghui[i - 1] [j - 1] + yanghui[i - 1] [j];

           yanghui[i] [yanghui[i]. length - 1 ] = 1;

         }

         for ( i=0; i < yanghui. length; i + + )

         {

           for(j =0;j < yanghui[i]. length; j + + )

             (4) 

         System. out. println( );

         }

       }

     }

  2. 阅读以下说明和Visual Basic 码,将应填入(n)处的字名写在的对应栏内

    [说明] 编写一工资调整程序。若基本工资大于等于800元,工资增加20%,若小于800元大于 600元,则工资增加15%,若小于600元则工资增加10%。要求在文本框Text1 中增加某职工的基本工资,单击“计算”按钮,在标签框Label1中输出增加后的工资。

      Private Sub Command1_ Click( )

       Dim x As Integer, y As Single

        (1) 

       Select Case x

       Case Is > = 800

         y=x*1.2

       Case Is > = 600

         y=x, 1.5

         (2) 

         y=x*1.1

         (3) 

       Label1. Caption = y

      (4) 

     Private Sub Command2_ Click()

       Unload Me

     End Sub

  3. 从下列的3道式题(试题五至试题七)中任选1道解答。

     如果解答的试题数超过1道,则题号小的1道解答有效。

     阅读以下说明和C++码,将应填入(n)处的字名写在的对应栏内。

    [说明] 利用c++的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数:Leap ()用于判定指定的年份是闰年,Week ()用于计算year年份的1月1日是星期几,其判定规则为:

    (1) 如果year 年份为1994年,则为星期六。

    (2) 如果year 年份大于1994年,则星期值weekno 按下列公式计算:

    differ=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date=6+differ%7

    weekno=(date6)? date-7:date

    (3) 如果year 年份小于1994年,则星期值weekno 按下列公式计算:

    differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7

     # include "iostream. h"

     # include "iomanip. h"

     int leap(int n)

     {

       if( (1) )

        return 0

       else

        return 1;

     }

     int week( int year )

     {

       int a1, differ, date, weekno;

       if (year = = 1994)

        a1 =0;

       else if (year > 1994)

              a1=1;

           else a1= -1;

       switch(a1)

        {

          case 0: return 6; break;

          case 1:

          {

            (2) 

           date = 6 + differ% 7; weekno = ( date > 6) ? date - 7 date;

          }

          return weekno; break;

        case - 1:

          {

           differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (2000 - year)/400;

           weekno =6-differ%7; } return weekno; break;

          }

        }

     void main( )

     }

       int i,year,m2,n,j;

       cout < < “Please input 某年数:”;

       cin> >year;

       if ( ! leap(year) )

         (3);

       else

        m2 =28;

       int month [12]: {31 ,m2,31,30,31,30,31,31,30,31,30,31 };

         (4) 

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

       {

          cout< < < <end1< <setw(4*n) < <";

          for(j=1 ;j< =month [i] ;j+ +)

          {

            cout< <setw(4) < <j;

            n+ +;

            if(n> =7)

            {

             (5) 

             cout < < end1;

            }

          }

       }

     }

  4. 【程序说明】

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

     【程序】

       #include "iostxeam. h"

      #include "iomanip. h"

      stmct polygon

      {

       int n;

       int *x;

       int *y;

       polygon *next;

      };

      void Push(polygon*& head, int n)

      {

       polygon* newNode = new polygon;

       newNode = new polygon;

       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==O) 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;

       }

       remm head;

      }

      void disp(polygon *head)

      {

       inti, No=l;

       eout<<setw( 10)<<"x"<<setw(6)<<"y"<<endl;

        while(head !=NULL)

       {

        cout<<"第"<<No<<"结点: "<<endl;

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

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

         (8);

        he ad=(9);

       }//Match while statement

      }

      void del(polygon *head)

      {

       polygon *p;

       while(head!=NIILL

       {

        p=(10);

        head=head->next;

         delete p->x;

       delete p->y;

         delete p;

        }//Match while statement

       void main()

      {

       polygon *head;

       head=create();

       disp(head);

       del(head);

      }

  5. 指出UML中全局、局部、参数、自我、投票、广播、创建、注销和临时9个约束对于链接角色、消息和对象的作用。

  6. 图1-7采用协作图描述借书和还书两个动态过程的交互关系。在UML中,重复度(multiplicity)定义了某个实体的一个实例可以与另一个类的多个实例相关联。指出图1-7中(5)、(6)处的重复度分别是多少?

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

  8. 阅读下列说明、流程图和算法,将应填入(n)处的字句写在答题纸的对应栏内。

     【说明】

     下面的流程图1—5用N-S盒图形式描述了数组A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:

    【算法说明】

     将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数血p(int A[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A[],iht L;int H)的功能是实现数组A中元素的递增排序。

     【算法】

     void sort(int A[],int1,int H) {

         if (L<H) {

        k=p(A, L, R):  //p()返回基准数在数组A中的下标

        sort((4));  //小于基准数的元素排序

        sort((5));  //大于基准数的元素排序

        }

     }

  9. 【说明】

     一个图书馆信息管理系统的分析与建模。下面是某图书馆的有关介绍。

     图书馆雇有若干管理员,各自具有编码、姓名等属性。管理员可上岗,也可下岗。

     图书馆中备有若干图书,每本图书有书号、书名、出版社、价格等属性。图书馆不定期地购买并注册新图书供读者借阅,也可将报废的旧书注销以停止借阅。

     图书馆可为众多读者提供服务。每个读者在借阅之前需注册姓名、性别、地址、Email等内容。读者可在终端上查询。每个读者最多可同时借阅5本书。每本图书借期为30天;若有一本书超期,则不可再借其他图书。一本书超期一天罚款0.1元。若一本书超期3个月不归还,则发布通告。若读者的图书丢失,在罚款处理之前不能借书,每本报失的图书罚款该书价的2倍。注册新读者不受限制;在注销读者之前,该读者必须归还所有借阅的图书,或者报失并接受罚款。

    在需求分析阶段,采用UML的用例图描述系统功能需求,如图1-6所示。指出图1-6中(1)(2)、(3)、(4)分别是哪个用例?

  10. 【说明】

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

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