計算機ネットワークⅠ(香川担当分) 2009年度期末テスト講評

問Ⅰ

  1. 正解 B, C、正答率 77%

    誤答では、選択肢 (C)の 123Daaahが入っていない人が多い。 数字はクラス名の先頭にはできない。

  2. 正解 C、正答率 40%
  3. 正解 A、正答率 84%
  4. 正解 A,B、 正答率 52%

    (B)の

      System.out.println("nが"+n+"のとき n!は"+f)
    
    を解答の中に入れている人は多かったが、(A)の
      System.out.printf("nが%dのとき n!は%d%n", n, f)
    
    を入れていない人が多かった。

問Ⅱ

  1. 正解 B、正答率 88%
  2. 正解 D、正答率 85%

問Ⅲ

正解 f = f.deriveFont(sz);、 正答率 27%

非常に基本的な問題であるにも関わらず、期待に反して正解率が低い。 この問題ができなければ、Javaのライブラリが利用できず、 Javaを勉強する甲斐がない。 間違った人はしっかり反省して欲しい。

典型的な間違いの例:
   f = deriveFont(sz);
こういう書き方は deriveFontJAppletクラスで定義されているメソッドでなければできない。
   f.deriveFont(sz);
deriveFontFontオブジェクトの中身を変えるわけではない。 これでは、生成された新しい Fontオブジェクトがそのまま使われずに捨てられてしまう。
   g = g.deriveFont(sz);
deriveFontFontクラスのメソッドだから、 Fontクラスのオブジェクトに適用しなければいけない。
   f = Font.deriveFont(sz);
deriveFontはクラスメソッドではない。
   str = str.deriveFont(sz);
strって何?
   public Font deriveFont(float sz);
orz。コメントのしようがない間違いだが、 この手の誤答を書いた人は1人や2人ではない。
念のためコメントすると、CやJavaのメソッドは、 定義するときには型などの情報(public, Font, float)がいるが、使用するときには必要ない。

問Ⅳ

  1. 正解
    extends JApplet implements ActionListener 
    正答率 97%
  2. 正解
      aBtn.addActionListener(this);
      cBtn.addActionListener(this);
    
    正答率 97%
  3. 正解
    1.
    aEvt.getSource() == aBtn
    
    2.
    aEvt.getSource() == cBtn
    
    正答率 68%

    e.getSource() == … という間違いが多かったが、 eなんて変数はどこにも定義されていない。

  4. 正答率 97%
    extends JApplet 
  5. 正解
    1.
    new ActionListener() {
      public void actionPerformed(ActionEvent aEvt) {
        m--;
        repaint();
      }
    }
    
    2.
    new ActionListener() {
      public void actionPerformed(ActionEvent aEvt) {
        m++;
        repaint();
      }
    }
    
    正答率 70%

    誤答では、肝腎の 赤字の部分が抜けている誤答が多かった。


Koji Kagawa(kagawa@eng.〜)
(〜の部分はSPAM mail予防のため省略します。)