[小西ホームページ]   [目次・索引]   [次の授業]

情報処理技法(Javaプログラミング)II 第1回

目次
索引

教員の紹介

名前
小西 善二郎(こにし ぜんじろう)
肩書き
東京女子大学非常勤講師
連絡先
konishi@cis.twcu.ac.jp

シラバス

題目

Javaアルゴリズム

内容

本講義では、プログラミング言語Javaを用いて、アルゴリズムとデータ構造を学ぶ。 ソートや探索などのメソッドや、リストや木などのクラスを、ただ利用するのではなく自作することによって、アルゴリズムとデータ構造を理解する。 これによって、より高度なプログラムを作成できるようになることが目標である。

到達目標

普段使っているソフトウェアがどのように動作しているか、その仕組みを理解し、そのソフトウェアに類似する簡単なプログラムを作成する技術を習得し、また、プログラム作成に必須であるアルゴリズムや、Javaの特徴の基本を理解する。 自分が使うための、簡単なプログラムを、自分で作ることができるようになることを目指す。

教室外の学習方法

スケジュール欄を参照のこと

教材(テキスト)

柴田望洋『新・明解Javaで学ぶアルゴリズムとデータ構造 第2版』SBクリエイティブ、2020

教材(参考書等)

https://www.cis.twcu.ac.jp/~konishi/index-j.html

成績評価方法

学生へのフィードバック

成績評価基準

以下の基準にしたがって成績を評価する。

  1. 毎回の課題については、正しいプログラムを作成しているか。

備考

課題のプログラムはすべて提出すること。

試験は実施しない。

メール・アドレス: konishi@cis.twcu.ac.jp

スケジュール

スケジュール
回数 授業内容 教室外学習
内容 時間の目安
1 基本的なアルゴリズム(1)アルゴリズムとは 基本的なアルゴリズムに関する課題を出すので、そのプログラムを作成すること。 120
2 基本的なアルゴリズム(2)繰返し 基本的なアルゴリズムに関する課題を出すので、そのプログラムを作成すること。 120
3 基本的なデータ構造(1)配列 基本的なデータ構造に関する課題を出すので、そのプログラムを作成すること。 120
4 基本的なデータ構造(2)クラス 基本的なデータ構造に関する課題を出すので、そのプログラムを作成すること。 120
5 探索(1)基本 探索に関する課題を出すので、そのプログラムを作成すること。 120
6 探索(2)応用 探索に関する課題を出すので、そのプログラムを作成すること。 120
7 スタックとキュー(1)スタック スタックとキューに関する課題を出すので、そのプログラムを作成すること。 120
8 スタックとキュー(2)キュー スタックとキューに関する課題を出すので、そのプログラムを作成すること。 120
9 再帰的アルゴリズム(1)基本 再帰的アルゴリズムに関する課題を出すので、そのプログラムを作成すること。 120
10 再帰的アルゴリズム(2)応用 再帰的アルゴリズムに関する課題を出すので、そのプログラムを作成すること。 120
11 ソート(1)基本 ソートに関する課題を出すので、そのプログラムを作成すること。 120
12 ソート(2)クイックソート ソートに関する課題を出すので、そのプログラムを作成すること。 120
13 ソート(3)マージソート ソートに関する課題を出すので、そのプログラムを作成すること。 120
14 ソート(4)ヒープソート ソートに関する課題を出すので、そのプログラムを作成すること。 120
15 ソート(5)度数ソート ソートに関する課題を出すので、そのプログラムを作成すること。 120
備考 授業の進みぐあいや受講者の反応を考慮し、スケジュールには多少の変更を加えることがある。

授業の準備

ファイルのダウンロード

この授業では、大量のプログラム・ファイルを扱います。 そのため、授業用のフォルダーを作成し、そこに保存することにします。 例えば、デスクトップに「java2」というフォルダーを作成してください。

テキストに載っているプログラムを手入力するのは時間の無駄なので、ダウンロードします。 著者のウェブ・サイト

https://www.bohyoh.com/

の右側にある「新刊情報」の中の『新・明解Javaで学ぶアルゴリズムとデータ構造 第2版』をクリックし、「ダウンロード」をクリックすると、ダウンロード・ページが開きます。 ZIP形式については、UTF-8のものをダウンロードします(MS932(Shift-JIS)ではありません)。 ダウンロードしたら、ZIPファイルについては展開し、分かりやすい名前(例えば、「textbook」フォルダー、「exercise」フォルダー、「目次.pdf」ファイル、「索引.pdf」ファイル)に変更し、すべて「java2」フォルダーに移動してください。

VS Codeの設定

この授業では、開発環境としてVisual Studio Code(VS Code)を利用します。

VS Codeは、Microsoft社が開発しているテキスト・エディターですが、

ので、開発環境として使うことができます。

情報処理教室のパソコンには、すでにJDKとVS Codeがインストールされています。 なので、あとはVS Codeで

の設定を行えば、Javaのプログラミングが始められます。

まず、メニューやメッセージを日本語化します。

1. スタート・ボタン→「Visual Studio Code」とクリック。

2. 左側のExtension(拡張機能)アイコンをクリック。

3. 検索入力欄に「Japanese」と入力。

4. 検索結果の中の「Japanese Language Pack for Visual Studio Code」の「Install(インストール)」ボタンをクリック。

VS Codeの設定(1)
VS Codeの設定(1)

5. しばらくすると、右下に「Change Language and Restart」ボタンが表示されるので、それをクリック。

VS Codeの設定(2)
VS Codeの設定(2)

6. VS Codeが再起動されるので、メニューが日本語になっていることを確認。

次に、Java用の拡張機能を追加します。

1. 左側のExtension(拡張機能)アイコンをクリック。

2. 検索入力欄に「Java」と入力。

3. 検索結果の中の「Extension Pack for Java」の「Install(インストール)」ボタンをクリック。

VS Codeの設定(3)
VS Codeの設定(3)

次に、VS Codeで「java2」フォルダーを開きます。

1. 左上の「File(ファイル)」メニュー→「Open Folder(フォルダーを開く)」とクリックして、デスクトップの「java2」フォルダーを選択。

VS Codeの設定(4)
VS Codeの設定(4)

2. もし、作成者を信頼するか聞かれたら、「はい、作成者を信頼します」ボタンをクリック。

VS Codeの設定(5)
VS Codeの設定(5)

これで、VS Codeの設定は完了です。

プログラムの入力と実行

VS Codeの設定が終わったので、次に、テスト・プログラムを入力して実行しましょう。

まず、プログラム・ファイル「ProgramTest.java」を作成します。 左上の「File(ファイル)」メニュー→「New File(新しいファイル)」とクリックして、入力欄に「ProgramTest.java」と入力してください。

プログラムの入力と実行(1)
プログラムの入力と実行(1)
プログラムの入力と実行(2)
プログラムの入力と実行(2)

次に、ウィンドウの右側に以下のプログラムを入力します。 手入力でもいいですが、コピー・アンド・ペーストのほうが楽です。 左側の行番号は入力しません。

class ProgramTest {
    public static void main (String[] args) {
        System.out.println("OK");
    }
}

なお、プログラムの中に、入力していない文字が表示されるかもしれません。 灰色の「Run」「Debug」「x:」などは、ヒントを表示しているだけなので、無視してください。

入力が終わったら、左上の「File(ファイル)」メニュー→「Save(保存)」とクリックして、ファイルに保存してください。

プログラムの入力と実行(3)
プログラムの入力と実行(3)

最後に、プログラムを実行します。 左側の「Run and Debug(実行とデバッグ)」アイコンをクリックし、「Run and Debug(実行とデバッグ)」ボタンをクリックしてください。

プログラムの入力と実行(4)
プログラムの入力と実行(4)

もし、ブロックされているという警告が出たら、「アクセスを許可する」ボタンをクリックしてください。 (情報処理教室では「キャンセル」ボタンをクリックしてください。)

プログラムの入力と実行(5)
プログラムの入力と実行(5)

ウィンドウの右下に大量の文字が表示されますが、水色の文字の直後に「OK」と表示されれば、プログラムが正しく実行されたことになります。

プログラムの入力と実行(6)
プログラムの入力と実行(6)

このプログラムは、画面に「OK」と表示するものです。

今度は、間違ったプログラムを試してみます。 例えば、3行目の「System.out」を「Systemout」とタイプミスしたとしましょう。 実行する前に保存するのを忘れないでください。

実行してみると、ウィンドウの右下に少ししか文字が表示されず、「Build failed, do you want to continue?」と表示されます。 「Continue」ボタンをクリックすると、水色の文字の直後に、エラー・メッセージ(プログラムの間違いの説明)が表示されます。

プログラムの入力と実行(7)
プログラムの入力と実行(7)
プログラムの入力と実行(8)
プログラムの入力と実行(8)

これは、プログラムの「Systemout」の部分が間違っているという意味です。

プログラムの入力と実行(9)
プログラムの入力と実行(9)

エラー・メッセージを参考にしてプログラムの間違いを直し、保存・実行してください。


基本的なアルゴリズム(1)

テキストpp.2--13を参照。

3値の大小関係
場合 場合分け1 場合分け2 場合分け3 大小関係 中央値 備考
A a b b c
a b c b
B b c
a b c b
C b c a c a c b c
D a c a c b a
E a c c a b a
F a b b c
a b c b
G b c
a b c b
H b c
c a b a a c が成り立つ
I a b a c
b a c a
J a c
b a c c b c が成り立つ
K a c b c b c a c
L b c b c a b
M b c c b a b

課題1

p.2のList 1-1を参考にして、3つの整数値を読み込んで、最大値と最小値を求めて表示するプログラムを作成してください。

MaxMin3.java
import java.util.Scanner;

class MaxMin3 {
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        
        
        
    }
}
ターミナル
PS ...\Desktop\java2>  & ... 'MaxMin3'
三つの整数の最大値と最小値を求めます。
aの値:1
bの値:3
cの値:2
最大値は3です。
最小値は1です。
PS ...\Desktop\java2>

余力のある人は、p.6のList 1-2とp.7の演習1-2も参考にして、3値の最大値を求めるメソッド

static int max3(int a, int b, int c)

と、3値の最小値を求めるメソッド

static int min3(int a, int b, int c)

を作成し、それらを呼び出して、最大値と最小値を求めてください。

MaxMin3Method.java
import java.util.Scanner;

class MaxMin3Method {
    static int max3(int a, int b, int c) {
        
        
    }
    static int min3(int a, int b, int c) {
        
        
    }
    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        
        
    }
}
ターミナル
PS ...\Desktop\java2>  & ... 'MaxMin3Method'
三つの整数の最大値と最小値を求めます。
aの値:1
bの値:3
cの値:2
最大値は3です。
最小値は1です。
PS ...\Desktop\java2>

完成したら、答案(Javaプログラム)をメールで提出してください。 差出人は大学発行のメール・アドレス(学生番号@cis.twcu.ac.jp)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(9月19日)を明記してください。


付録

自宅のパソコンにインストールするには

自宅のパソコンにJDKとVS Codeをインストールすれば、自宅で自習したり課題をやったりできます。 実は、「Coding Pack for Java」というものを使えば、JDK、VS Code、Extension Pack for Javaを一気にインストールすることができます。 なので、「Coding Pack for Java」をインストールして、追加で「Japanese Language Pack for Visual Studio Code」をインストールすれば、情報処理教室のパソコンと同じようにプログラミングができるようになります。

  1. VS Codeの公式サイト https://code.visualstudio.com/ を開く。
  2. 上側の「Docs」をクリック。
  3. 左側の「JAVA」をクリック。
  4. 「JAVA」のメニューが開くので、「Getting Started」をクリック。
  5. 「Install the Coding Pack for Java」ボタンをクリック。
  6. Windowsの場合は「JavaCodingPack-(バージョン番号).exe」、Macの場合は「JavaCodingPack-(バージョン番号).zip」というファイルがダウンロードされる。
  7. ファイルのアイコンをダブルクリックするとインストール・プログラムが起動するので、画面の指示に従って操作すると、必要なソフトがダウンロードされ、インストールされる。

参考文献


[小西ホームページ]   [目次・索引]   [次の授業]

2025年9月19日更新
小西 善二郎 <konishi@cis.twcu.ac.jp>
Copyright (C) 2025 Zenjiro Konishi. All rights reserved.