はじめMath! Javaでコンピュータ数学

第30回 集合の数学 集合と要素[前編]

この記事を読むのに必要な時間:およそ 3 分

ご自宅に道具箱・工具箱はありますか?ごく一般的なご家庭であれば,げんのう,のこぎり,ドライバー,半田ごて。それから,これまでに購入したパーツの残り。そういったものを一緒くたに工具箱へ放りこんであるのではないでしょうか。私の工具箱はそんな感じです。工具といえばそこに入れてありますから,あちこち探すまでもありません。こんな具合で十分なのです。

しかし,大工さんともなればそうはいきません。工具は種類別,あるいは目的別に分類整理してあることでしょう。私のご近所の大工さんは,軽バンの後部を工具保管所にして,きれいに整理しておられます。工具は全て壁面に配置されています。釘やボルトといったパーツは,ずらりと積み重ねられたラベル付きの分類ボックスに収納されていました。道具や資材の分類・整理は,大工さんの仕事の基本であることは間違いありません。道具を取り出すのにまごついていては仕事になりませんものね。

集合の数学を,ものごとを明確に分類・整理し,性質を明らかに示すためのものととらえていきましょう。

今回は集合の数学で用いる記号とその意味,それを図示するとどうなるかを学びます。同時に,それらの数学的表現がJava言語でどう書き表されるかを見ていきましょう。

図30.1 整理・整頓は仕事の基本

図30.1 整理・整頓は仕事の基本

集合と要素

集合の定義

集合に含まれる「もの」のことを要素または(げん)といいます。

図30.2を集合の数学記号を用いて表現すると,次のように書くことが出来ます。式30.1「集合Aは要素a,b,c,d,eを持つ」と読みます。

図30.2 集合と要素の図示例 その1

図30.2 集合と要素の図示例 その1

式30.1はある集合Aにどんな要素が含まれているのかを列挙して定義しています。この方法の他に,実数値のように連続する値の集合を定義する場合のために次のような記法もあります。

式30.2から式30.4は実数のある範囲を示す集合を定義しています。このように定義すると,要素は無限に存在することになります。このような集合を無限集合といいます。これに対して,式30.1のように要素の数が有限の場合の集合を有限集合といいます。

Java言語で無限集合を表現する

無限集合をJava言語で表現するには,条件判断文や比較演算子を使うとよいでしょう。例えば,ある無限集合が式30.3のように定義されていれば,次のコードのようにして任意の数値がその集合に含まれるか判定できます。

if ( 0 < x && x <= 5 ) System.out.println("集合X の要素です。");

配列で有限集合を表現する

では,有限集合はどうでしょう。Java言語で表現してみましょう。方法はいくつかありますが,ここでは最も基本的な,配列を用いた方法を紹介します。

サンプルコード: HairetsuDeShugo.java

01: //サンプルコード
02: //集合を配列で表現する
03: //filename : HairetsuDeShugo.java
04: 
05: class HairetsuDeShugo {
06:   public static void main(String[] args) {
07:     char A[] = {’a’,’b’,’c’,’d’,’e’};
08:     for(int i=0; i<5; i++){
09:         System.out.println("A["+i+"] = "+A[i]);
10:     }
11:   }// end of main
12: }// end of class HairetsuDeShugo

サンプルコード:HairetsuDeShugo.javaに配列の宣言と利用方法を示しました。配列の長所は大変シンプルなことです。しかし,実際にこのようなデータを取り扱う場合,配列は要素数が動的に変更できない※1ため不便です。

著者プロフィール

平田敦(ひらたあつし)

地方都市の公立工業高等学校教諭。趣味はプログラミングと日本の端っこ踏破旅行。2010年のLotYはRuby。結城浩氏のような仕事をしたいと妄想する30代後半♂。

コメント

コメントの記入