软件水平考试(初级)程序员下午(应用技术)模拟试卷9

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

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

【说明】

 以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。

 【代码6】

 import java.awt.*;

 import java.awt.event.*;

 public class CIUSAMPLE extends Frame. implements MouseMotionListener, MouseListener

 {

   static CIUSAMPLE frm=new CIUSAMPLE ();

   int x=70,y=60,posX=70,posY=60,dx,dy;

   public static void main ( String args[])

   {

     frm.setTitle ("Dragging a circle");

     frm.setSize ( 200,150 );

      (1) 

      frm.addMouseMotionListener ( frm );

     frm. setVisible ( true );

   }

   public void mousePressed ( MouseEvent e )

   {

    (2) 

    dy=e.getY () -posY;

   }

   public void mouseDragged ( MouseEvent e )

   {

    (3) 

    y=e.getY () -dy;

    if ( dx>0 && dx<50 && dy>0 && dy<50 ) //如果指我落在正方形区域内

    {

      Graphics g=getGraphics ();

       (4) 

    }

   }

   public void paint ( Graphics g )

   {

     g.setColor ( Color. pink ); // 设置绘图颜色为粉红

     g.fillOval ( x,y,50,50 ); //以基准点为图形的左上角绘出圆形

      (5) 

     posY=y;

   }

   public void mouseMoved ( MouseEvent e ) { }

   public void mouseReleased ( MouseEvent e ) { }

   public void mouseEntered ( MouseEvent e ) { }

   public void mouseExited ( MouseEvent e ) { }

   public void mouseClicked ( MouseEvent e ) { }

 }

1

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

【说明】

 找一个最小的自然数,使它等于不同的两组三个自然数的三次幂之和,即找最小的x,使得:x=a*a*a+b*b*b+c*C*c+d*d*d+e*e*e+f*f*f,其中,a、b、c、d、e、f者是是自然数,a≤b≤C≤d≤e≤f; [a,b,c]!=[d,e,f)

 【C++程序】

 #include<stdio.h>

 #define N 100

 void main ()

 {

   int i,j,il,ih,i0,j0,k0,il,j 1,k1;

   int j1[N],jh[N];/*第i层平面的行的变化范围,自jl[i]至jh[i]*/

   int k[N][N];/*第i层平面中,对应行j,当前的列号值为k[i][j]*/

   int p[N], min;/*p[i]=i*i*i*/

   i1=1;j1=1;k1=1;/*首先只局限下三角棱体的顶点*/

   i1=1;ih=1;/*预置i的变化范围初值i1<=i<=ih*/

   j1[1]=1;jh[1]=1;/*对应i层平面的行的变化范围*/

   k[i1][j1[i1>=1;/*第i层平面中,对应行的列的初值*/

   p[1]=1;

   do

   {

   min=p[i1]+p[j1]+p[k1];

   i0=i1;j0=j1;k0=k1;

   if ( i1==ih ) /*当前候选者在ih平面, 则ih增1*/

   {

   ih++;

    (1);

   /*为ih平面设定j的变化范围和对应k值*/

   j1[ih]=1;jh[ih]=1;k[ih][1]=1;

   }

   if ( i1==i1&&j 1==i1&&k1==i1 )

   i1++;/*在i1平面最下角点找到候选者,i1增1*/

   else

   {

     if ( k1==1&&jh[i1]<i1 )

      {/*在第一列找到候选者, i1平面的行的上界增1*/

       (2);

      k[i1][jh[i1>=1;

 }

  if( k1==j1&&j1[i1]<i1 )

  else

  (3);/*调整i1平面当前行的列号*/

  }

   i1=i1;/*预定最上平面的最小行的当前列为下一个候选者*/

   j1=j1[i1];

   k1=k[i1][j1];

   for ( i=i1;i<=ih;i++ ) /*寻找最小值所在平面号、行号和列号*/

   {

   for ( j=j1[i];j<=jh[i];j++ )

   if ( p[i]+p[j]+p[k[i][j><(4))

   {

    i1=i;j 1=j;k1=k[i][j];

   }

   }

   }while ( p[i1]+p[j1]+p[k1]!=min&&(5));

   if ( p[i1]+p[j1]+p[k1]==min )

   printf ( "%4d=%2d^3+%d^3+%dA3=%2d^3+%d^3+%d^3\n",min,i0,j0,k0,i1,j1,k1 );

   else printf ( "The %d is too small.\n",N );

 }