9.単純型(列挙型・部分範囲型)

9.1 単純型の構成

9.2 列挙型

9.3 部分範囲型


9.1 単純型の構成

  単純型 = 順序型 | 実数型

   順序型 = 書き下し型 | 順序型名
   書き下しがた = 列挙型 | 部分範囲型
   順序型名 = 型名
   実数型名 = 型名

9.2 列挙型

  列挙型 = ”(” 名称並び ”)”

   名称並び = 名称{”,”名称}

  普通、いくつかの定まった状態を表す場合、それぞれに整数値を割り当てて行うのが、 普通の方法だが、例えば次のように
   sun=0;mon=1;tue=2;wed=3;thu=4;fri=5;sat=6;
のように割り当てて、処理していくと、どの数字が何曜日だったかなど混乱してきて、 どうしようもなくなってしまう。これを改善するためにPascalには列挙型という構成 法がある。先ほどの例で行うと、次のようにすればよい。
   (sun,mon,tue,wed,thu,fri,sat)
  また、列挙型にできるのは、値の種類が有限であり、それぞれの値に名前がつけられるときだけである。

  先ほどの例
   (sun,mon,tue,wed,thu,fri,sat)
の大小関係は、名称を並べたときの順番で決まる。つまり、左の方にあるほど、小さくなっている。
   sun<mon<tue<wed<thu<fri<sat
となる。

9.3 部分範囲型

  部分範囲型 = 定数”..”定数

  部分範囲型というのは、順序型に値の範囲を加えた型のことである。部分範囲型は、部分範囲の最小値 と最大値を指定するもので、最初の『定数』は最小値を示し、次の『定数』は最大値を示す。左の『定数』は 右の『定数』よりも小さいかまたは等しくなければいけない。
  また、『定数』は両方とも、同じ順序型でなければいけない。

 例)mon..fri
   1..50
 例)先ほどの例の部分範囲型を作ると、
   TYPE week=(sun,mon,tue,wed,thu,fri,sat);
      work=mon..fri
   weekという順序型にworkという部分範囲型の型定義の例です。

練習問題