back

コード設計


コード設計とは

 外部設計の中で行う作業の一つ。
 識別、分類、配列、チェックの機能をもたせるために必要。

 ★チェックディジットとは
  チェック用の桁を1桁付加して、データ入力誤り検出に使用。
 
  (例)
  1234のチェックディジットは
   各桁にそれぞれ4、3、2、1の重みを付ける  

←チェックディジット
× × × ×    
   
   
合計20 赤の0がチェックディジットになる

手順

 コード化の対象を決める
      ↓
   目的を明確にする
      ↓
   データの特性を分析
      ↓
    コード考案  
      ↓
  作業、コード表作成
      ↓
     評価
      ↓
    コードの決定 

コードの種類

 ・けた別コード
   コードのけたに意味をもたせる。
   金融機関名 0001〜1000
   支店名    01〜25
  
   0001|25
   機関 支店

 ・区分コード
  
   ブロックに区分、ブロックごとに一連番号をつける。

   金融機関名 0001〜1000
   支店    1001〜1025
 
 ・十進コード
   
   全体を10分割、分割したものをさらに10分割していく。
   
   100 … 大分類
   110 … 中分類
   111 … 小分類

 ・順番コード

  先頭から順に番号をつける。
  1、2、・…

 ・表意コード

  そののままで表現する。
   盛岡支店・…「盛岡」あるいは「もり」
   普通預金・・ 「普」あるいは「フ」


★★★宿題:二種向け★ (1999/12/14)

 モジュラス11などの計算方法によって得られた結果を商品コードなどの末尾に
付加し、入力の誤りを入力データだけから発見できるようにする方法がある。
この末尾に付加されるものを何というか。

 ア けた別コード

 イ チェックディジット

 ウ チェックポイント

 エ デシマルコード


■解答■(宿題メールより)
  二種午前平成11年秋問60

> 「末尾に付加し」の所からチェックディジット判断しましたが安易でしょうか?
> (手持ちの用語辞典ではモジュラス11等の用語を調べられなかったもので・・)

 いいですよ。原理的には,末尾に付加でなくてもいいですが,たいてい末尾で
すね。

>infoseekに検索キーワード モジュラス+11 と入力したら
>http://www.aimjal.co.jp/support/cd.htm
>をヒットしたので、イを選びました。

 どうもありがとうございました。

>【モジュラス】
>送信順序番号/受信順序番号は伝送路上での情報フレーム抜けや二重取込み
>を防止するためにつかわれる。順序番号は0〜7までの8個の循環番号とし
>て使い、7の次は0にもどる。この場合の8をモジュロあるいはモジュラス
>と呼ぶ。(朝日新聞社 新プロトコルハンドブック p.122参照)

 こちらは,通信のときの話ですね。

> http://www.si.gunma-u.ac.jp/%7Eaoki/Hanasi/StatTalk/check-digit.html
> http://www.kokemus.kokugo.juen.ac.jp/service/check_digit.html

 どうもありがとうございました。

>   前に教えてもらったのですが、製品についているバーコード(JANコード)
> の場合、13桁の最初の二桁は国コード(日本は49)、次の5桁は会社のコード、
> その5桁は製品コード、最後の一桁がチェックディジットになるそうです。
> だから同じ会社の製品だと、バーコードの頭7桁が同じ値になります。


 どうもありがとうございました。

> けた別コード:グループ分類コード。大・中・小分類というように
> 各桁に分類を対応させる。10進コードと違い、2桁以上でグループを
> 表すこともある。
> デシマルコード:10進コード。0から9までの数字を用い1桁で10分類
> とするコード。さらに細分化する時は桁を増やす。

 どうもありがとうございました。デシマルコードの例は,図書館ですね。


★★★宿題:二種(基本情報技術者)向け★(2000/7/19)

 コード化におけるチェックディジットの利用に関する記述として,適切なもの
はどれか。

 ア コード誤りの訂正にも有効である。

 イ コンピュータへの入力から出力までの処理内容の誤りを発見するのに有効
  である。

 ウ 数字以外の文字を含むコードにも適用することができる。

 エ すべてのコード誤りを検出することができる


(解答例)

上のチェックディジットの説明を読めば理解できると思います。

ア:誤りは訂正できない。

イ:出力の誤りは検出できない。

エ:すべてのコード誤りは検出できない。
  たとえば、1234と2222のチェックディジットは0と同じになる。

■解答■(宿題メールより)
  二種午前平成12年春問60

> 外部設計の中で「コード設計」(コード化)は行われるが、その場合、
>(1)識別機能、(2)分類機能、(3)配列機能、(4)チェック機能
> の4つの機能が要求される。チェック機能とは、入力されたコードが
> 正しいかどうかをチェックする機能である。通常は、本来のコード部分に
> 対して、モジュラス11などの計算を行い、その計算結果(チェック
> ディジット)をコードの最下位に付け加える。
>(コンピュータ・エージ社「第二種共通テキスト3システム開発」p.55より)

 どうもありがとうございました。

>チェックディジェット〜各桁に重みをつけて加算して、末尾の1桁、または
>奇数で割った余剰、または下位何桁かをコードとする。負荷するコードをチ
>ェックディジェットという。
>(合格情報処理八月号付録「情報通信ネットワーク用語辞典」p99より)
>
>チェックディジェットに関する解説〜
>http://aoki2.si.gunma-u.ac.jp/private/SocialSurvey/check-digit.html

 どうもありがとうございました。

> チェックディジット
>   データの入力や伝送が正しく行われたかどうかをチェックするために付加
>  する数値。通常、各桁の数値から一定の計算で求めた数値を末尾に付加する。
>  パリティもこの一種。
> (参考:http://www5.airnet.ne.jp/tomy/info-dic/j-ti.htm#checkdigit

 どうもありがとうございました。