本講義では、Java言語を用いて基本的なアルゴリズムを学ぶ。 整列プログラムやリスト処理プログラムなどを作成することが目標となる。 また、オブジェクト指向プログラミングについても触れる。 Java言語の基礎知識を仮定する。
http://www.cis.twcu.ac.jp/~konishi/index-j.html
大学のシラバスにはhttp://www.twcu.ac.jp/~konishi/index-j.htmlと書いてありますが、このURLはいずれ廃止されます。
授業内容に応じて参考資料を紹介する。
原則として毎回レポート課題を出す。 最後の授業では筆記試験を行う。 レポートの採点結果と試験の得点を総合して成績を決定する。
レポートはすべて提出すること。
レポート課題に取り組むこと。
コンピュータの台数の関係により、履修希望者が40名を越えた場合は抽選を行います。
この授業は、Javaの入門程度は理解している人を対象にしています。 プログラミングは初めてという人は履修しないでください。 Javaは知らないがCは知っているという人なら履修しても大丈夫です。
授業のテーマは次の3点です。
整列とは、与えられた数の列を小さい順に並べ替えることです。 整列アルゴリズムを理解することは、プログラミングのよい勉強になります。 この授業では、基本的な整列プログラムを作成します。
リストとは、データの挿入・削除がやりやすい、データ構造です。 リスト処理の仕組みを理解することは、データ構造のよい勉強になります。 この授業では、色々なリスト処理プログラムを作成します。
オブジェクト指向プログラミングとは、データ構造を中心にしてプログラムを構成するというプログラミングのことです。 最近のプログラミング言語は、多くはオブジェクト指向の考え方を取り入れています。 この授業では、オブジェクト指向プログラミングの入門的な内容について説明します。
2007年9月に、情報処理センターのシステムが更新されました。 Mac OS Xであることは変わりませんが、一部のアプリケーションがバージョン・アップしています。
この授業に関係するアプリケーションは次のようなものです。
アプリケーション | 更新前 | 更新後 |
---|---|---|
ターミナル・ソフト | ターミナル | ターミナル |
テキスト・エディタ | Jedit 4 | Jedit X |
ウェブ・ブラウザ | Safari | Safari |
メール・ソフト | Apple Mail | Safari+Gmail |
また、2008年9月にも、情報処理センターのシステムが更新されました。 授業に関係する変更点は、Javaの文字コードが、シフトJISからUTF-8に変わったことです。
「 ターミナル 」は、Mac OS Xに付属しているターミナル・ソフトウェアです。 この授業では、「ターミナル」を用いてプログラムを実行します。
Jedit は、Artman21が開発したテキスト・エディタです。 この授業では、Jeditを用いてプログラムを編集します。
今日は、これらのアプリケーションの使い方を覚えながら、授業の準備をします。
この授業では、演習でいくつかのプログラムを作成します。 すでに自分でプログラムを保存している学生もいると思いますので、授業用のフォルダを作り、そこに演習で作ったファイルを置くことにします。
もし、「フォルダ」という言葉を聞いたことがなければ、これを「ディレクトリ」と読み替えてください。 この授業では、フォルダとディレクトリは同義語です。
はじめに、「ターミナル」を起動します。 「ターミナル」を起動するには次のようにします。
次に、授業用のフォルダを作成します。 この作業は一度行えばよいものです。 「ターミナル」で次のように入力してください。
asiaa1:~ b08a001$ mkdir comp3b asiaa1:~ b08a001$
続いて、Jeditを起動します。 Jeditを起動するには次のようにします。
今日は、次のプログラムを実行します。 このプログラムは、"Good afternoon!"と出力するものです。
/* 1*/ class GoodAfternoon { /* 2*/ public static void main (String[] args) { /* 3*/ System.out.println("Good afternoon!"); /* 4*/ } /* 5*/ }
プログラムをファイルに保存するには、次のようにします。
プログラムを実行するには、「ターミナル」で次のように入力します。
asiaa1:~ b08a001$ cd comp3b asiaa1:~/comp3b b08a001$ javac GoodAfternoon.java asiaa1:~/comp3b b08a001$ java GoodAfternoon Good afternoon! asiaa1:~/comp3b b08a001$
確かに出力されました。
履修者の予備知識を確認するため、アンケートを行います。 以下の質問に答え、回答をメールで提出してください。 差出人は学内のメール・アドレス(b08a001@cis.twcu.ac.jpなど)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(9月26日)を明記してください。
次に、添字が2の倍数である配列要素に0を格納します。a[2] = 1; a[3] = 1; ...; a[100] = 1;
続いて、添字が3の倍数である配列要素に0を格納します。a[2 * 2] = 0; a[2 * 3] = 0; ...; a[2 * 50] = 0;
さらに、添字が4の倍数である配列要素に0を格納します。a[3 * 2] = 0; a[3 * 3] = 0; ...; a[3 * 33] = 0;
この作業を、添字が50の倍数の場合まで行います。 最後に、値が1である配列要素の添字をすべて出力します。a[4 * 2] = 0; a[4 * 3] = 0; ...; a[4 * 25] = 0;