アレアレ

お役立ち情報、お悩み解決情報を発信!

基礎編

中華料理店の注文を例にしたわかりやすい「コード化」の目的

このサイトの プログラミング教育 のコーナーでは、これからプログラミングを学び始める子供を持つ親御さんに向けて、プログラミングについてわかりやすく解説しています。全くプログラミング経験のない方は、基礎編の記事から、基礎編を読んだ方は実践編の記事をご覧ください。

中華料理店の注文を例にしたわかりやすい「コード化」の目的

前回の、プログラミング学習の最も基本となる「アルゴリズム」とは何か?の記事では、次の2点をお伝えしました。

  1. アルゴリズムとは、何らかの仕事を終わらせるために従う手順のリスト
  2. プログラムとは、機械で実行できるようにコード化されたアルゴリズム

2つ目のプログラムの定義にある「コード化」について、その意味を知っている人からすると、この定義は「なるほど」と思えるものです。一方、それがわからない人からすると「コード化?なにそれ?」となります。

そこで今回は、このコード化(=符号化)について解説します。

担々麺→辛いの、タンメン→野菜

私がたまに行く近所の中華料理店には、名物料理が2つあります。辛いゴマダレスープの「担々麺」と、野菜がたっぷり乗った「タンメン」です。

この店で面白いのは、これらの料理の注文を受けた接客担当のスタッフが、キッチンにその料理名を伝えるとき伝え方です。と言うのも、その際には、次のように別名で伝えるからです。

担々麺→辛いの
タンメン→野菜

例えば、お客さんが担々麺を注文した場合は、「辛いの一丁」、タンメンを注文した場合は「野菜一丁」と、キッチンに伝えるわけですね。なぜこのようなことをするのかと言うと、おそらく、「担々麺(タンタンメン)」と「タンメン」の聞き違いを防止するためだと思われます。

「だったら最初からメニューの料理名を、辛いのや野菜にすれば良いのでは?」と思うかもしれません。ですが、そうすると、普通のお客さんからすると、その料理が何なのか、わかりませんよね。

なので、お客さんに対しては、一般的に親しみある料理名で注文を受け、それをキッチンに伝えるときにだけ、別名で読んでいるわけです。

メニューに通し番号をつけてみる

コード化とは、このような感じで、情報を楽に伝えるために、何らかのルールを基にした別名をつけることなのですが、もう一歩進んだコード化の例を挙げてみます。

例えば、お店の料理のメニューに、次のように番号を振るとします。

  1. 担々麺
  2. タンメン
  3. チャーハン
  4. 餃子
  5. 焼きそば

このように番号を振ることでも、「辛いの」や「野菜」と、別名で呼ぶのと同じ聞き間違いの防止対策はできますよね。この場合、担々麺の注文をキッチンに伝える時は、「1番一丁」と伝えられるからです。

この例では、「自分の店の料理に通し番号を振る」と言う形で、メニューをコード化しています。ちなみに数字でなくても、それが1つに特定できればA〜Eのような文字でも構いません。

コード化されたメニューがあると伝票が楽に取れる

このようにメニューがコード化されると、それをコンピューターで処理する目的でなくても、メリットがあることがわかります。それは、伝票が楽に取れるようになることです。

例えば、「担々麺一丁、タンメン二丁、餃子2枚」と言う注文を、手書きで伝票に書くとして、一番簡単なのは、次のように「料理名 x 数量」と言う形で書くことです。

料理名を書いた伝票

担々麺 x 1
タンメン x 2
餃子 x 2

この伝票の取り方も悪くはないのですが、何度も書くとなると、やはり料理名を書くのが、面倒になります。

一方、コード化したメニューを使って、伝票を取ると次のようになります。

料理名をコードに置き換えた伝票

1 x 1
2 x 2
4 x 2

このようにコード化したメニューを使うと、料理名を書くところが、数字を書くだけで済むようになります。すると、料理名を書く手間が大幅に削減できるわけですね。

この例から、情報をコード化する目的がわかるのではないでしょうか。

次に読む記事: 飲食店の伝票から食事代を計算する例から理解するアルゴリズムとプログラミング

Return Top