第1週:プログラムとは


1. 1 プログラムとプロセス
1. 2 プログラミング言語
1. 3 Java 言語
1. 4 プログラムを実行する手順
1. 5 プログラムをどう書くか
1. 6 練習問題
1. 7 変数
1. 8 名前のつけ方
1. 9 エラー
1.10 練習問題
1.11 宿題

1.1 プログラムとプロセス

プロセスの概念はオペレーティングシステムによって異なります。以下の説明 は UNIX の概念と操作方法に従っています。Dコースの人は CNS にリモート ログインして試してください。

1.2 プログラミング言語

1.3 Java 言語

JDK にはいくつかのバージョンがありますが、授業では 1.2.1 を基準にします。 どのバージョンを使っているかは、
      % java -version
を実行すれば分かります。
  • 現在、CNS では 1.1.3 と 1.2.1 が使用可能です。標準では 1.1.3 を使うようになっているので、 ~/.cshrc の最後に次の行を追加してから、ログインし直して ください。
          set path=(/usr/local/lib/jdk1.2.1/bin $path)
    
  • ラップトップでは、「講習会資料」に従って JDK 1.2.1 をダウンロードして ください。

1.4 プログラムを実行する手順

実際にプログラムをコンパイルして実行してみましょう。これからファイルを たくさん作りますから、ホームディレクトリに適当な名前のサブディレクトリ を作り、その中で作業しましょう。

1.5 プログラムをどう書くか

プログラムを書くのにはテキストエディタを使います。CNS では mule または emacs、ラップトップでは meadow が使えます。ここではまとめて emacs と表 記します。

いきなりプログラムを全部書くのは大変なので、上の練習用プログラムの一部 分を書き換えることから始めます。上のプログラムは次のように動作していま す。

これではつまらないので、Process をクリックすると、Output のところに Hello, world! というメッセージを表示するように SfcDoNothing を作り替えてみましょう。

まず、HelloWorld.java というファイルを作り、次のような内容を書 き込みます。

class HelloWorld extends SfcDoNothing {
    void sfcProcess () {
	sfcOutput("Hello, world!");
    }
}

次に、これをコンパイルします。
% javac HelloWorld.java
%

それでは、HelloWorldSfcDoNothing の代わりに使っ て実行してみましょう。
% java SfcExample1 HelloWorld
ウィンドウの Process ボタンをクリックしてみてください。

1.6 練習問題

HelloWorld.java のメッセージを自分の好きな文章に変えて、コン パイル、実行しなさい。

1.7 変数

次に、いつも同じメッセージではなく、Process ボタンをクリックし た回数を表示してみましょう。そのためには、今何回ボタンをクリックしたか 覚えておく必要があります。そのためには変数(variable)を使い ます。数学の変数とは少し違い、数値や文字などのデータを入れておく箱のこ とです。

Count.java というファイルを作り、中に次のプログラムを書き込み ましょう。

class Count extends SfcDoNothing {
    int x = 0;
    void sfcProcess () {
	x = x + 1;
	sfcOutput(Integer.toString(x));
    }
}

次に、これをコンパイルします。
% javac Count.java
%

それでは、CountSfcDoNothing の代わりに使っ て実行してみましょう。
% java SfcExample1 Count
ウィンドウの Process ボタンをクリックしてみてください。

1.8 名前のつけ方

1.9 エラー

1.10 練習問題

わざと間違いをして、どのようなエラーが出るか見てみましょう。
  1. コンパイルするときに指定するファイル名を間違える。
        % javac SfcExample.java
    
  2. 実行するときに指定するクラス名を間違える。
        % java SfcExample1 HalloWorld
    
  3. ファイル名とクラス名が一致しない。HelloWorld.java の中の クラス名を別の名前にして、コンパイル、実行。
  4. メソッド名を間違える。HelloWorld.java の中の sfcProcess を別の名前にして、コンパイル、実行。

1.11 宿題

  1. Count.java を変更し、クリックするたびに 1, 2, 4, 8, 16, ... と倍々に増えていくようにしなさい。
  2. 誤りをたくさん含んだファイル /pub/sfc/ipl/1bc/exercise/Erroneous.java を自分の作業ディ レクトリにコピーし、コンパイルしてみなさい。出てきたエラーを見て、正し くコンパイルできるように修正しなさい。一つのエラーを修正すると、隠れて いた他のエラーが現れることがあります。

慶應義塾大学の授業以外での無断利用、複製はご遠慮下さい。
Copyright (c) 1999 慶應義塾大学