社会人になって、大人の付き合いが増えると、「お酒」を飲む機会も増えます。しかし、飲み過ぎは禁物です。とは言え、どのくらいの量なら適量でしょうか。ほろ酔い状態の酒量を求める公式をプログラミングして検証してみましょう。

  • ほろ酔い状態の酒量を求める公式を元に作成したツール

    ほろ酔い状態の酒量を求める公式を元に作成したツール

ほろ酔いの公式

大人になってお酒を飲みながらの会食は楽しい一時です。ただし、いい気になって飲み過ぎて失敗してしまうこともありますあります。どのくらいの量が適量なのか目安にする公式がありますので、なでしこを使って計算してみましょう。(この公式は、佐藤信著『酒を楽しむ本』で紹介されているものです。)

[公式] N時間ほろ酔いを持続するための酒の量

酒量 = 1000×体重kg÷(アルコール度数×12) + (15×体重kg÷アルコール度数)×(N-1)

とは言え、この公式を利用するにあたって、飲むお酒のアルコール度数やコップの分量を考慮する必要があります。そこで、まずは、ビールを例に公式を当てはめてみましょう。ビールの一般的なアルコール度数は5度、中ジョッキは435mlとして計算してみましょう。

なでしこで検証してみよう

ここまで分かれば、あとはプログラムに落とし込むだけです。さっそくプログラムを作ってみましょう。まずは、中ジョッキのビールを何杯飲むかで考えてみましょう。

以下のプログラムを、なでしこ簡易エディタに貼り付けて、「実行」ボタンを押してみましょう。

# --- 設定 --- (*1)
体重 = 60
ほろ酔時間 = 1
アルコール度数 = 5 # ビール
中ジョッキ=435
# --- 計算 --- (*2)
酒量 = 1000×体重÷(アルコール度数×12)+(15×体重÷アルコール度数)×(ほろ酔時間-1)
何杯=FLOOR(酒量÷中ジョッキ×10)÷10
# --- 結果の表示 --- (*3)
「{体重}kgの人が{ほろ酔時間}時間ほろ酔いするには...
酒量: {酒量}ml
中ジョッキ{何杯}杯」と表示。

実行すると、以下のように表示されます。体重60kgの人が1時間ほろ酔いするためには、中ジョッキ2.2杯という結果が出ました。もちろん、アルコールに強い人と弱い人がいますので、あくまでも一般的な目安の量です。

  • ほろ酔いの公式に当てはめて計算をしたところ

    ほろ酔いの公式に当てはめて計算をしたところ

プログラムを確認してみましょう。プログラムの(*1)では変数を設定しています。プログラム内で利用する変数を冒頭にまとめることにより、プログラムの見やすさが向上します。良いプログラムを書くための第一条件は『分かりやすく書くこと』です。後から修正がやりやすいように、変数の設定をまとめて書くことや、分かりやすい変数名を付けることが大切です。

次に、プログラムの(*2)の部分を見てみましょう。ここでは、ほろ酔いの公式を計算します。ここは、なでしこならではの良さで、公式をほとんどそのままプログラムとして記述できます。また、酒量が出ただけでは、よく分からないので、コップ何杯分なのか割って分かりやすく表示します。最後に、計算結果をプログラムの(*3)の部分で表示します。

体重とお酒の種類を選べるようにしよう

さて、ここまでの部分で、基本的なプログラムを作りました。次に、ユーザーが自分で体重やお酒の種類を入力できるように工夫してみましょう。しかし、一般的なお酒のアルコール度数とコップの分量を考慮する必要があります。そこで、アルコール度数とコップの容量の表を掲載します。この度数や量を元にして、プログラムを作ることにしましょう。

種類 一般的な度数
ビール 5度(4-6度)
酎ハイ 4度(3-8度)
ワイン 14度 (11-14度)
焼酎 25度 (20-25度)
日本酒 15度 (15−20度)
ウィスキー 43度(34-43度)

コップ(器)ごとの分量は、以下の通りです。

種類 分量の目安
中ジョッキ 435ml
瓶ビール(中瓶) 500ml
350ml
ワイングラス 120ml
ロックグラス 200ml
1合(日本酒など) 180ml

それでは、この表を元にプログラムを作ってみましょう。以下のプログラムを、なでしこ簡易エディタに貼り付けて実行してみましょう。

# --- 設定 --- (*1)
ほろ酔時間 = 1
酒データ=[
  {"種類":" ビール", "度数": 5, "容器": "中ジョッキ", "容量": 435},
  {"種類": "酎ハイ", "度数": 4, "容器": "中ジョッキ", "容量": 435},
  {"種類": "ワイン", "度数": 14, "容器": "ワイングラス", "容量": 120},
  {"種類": "焼酎", "度数": 25, "容器": "ロックグラス", "容量": 200},
  {"種類": "日本酒", "度数": 15, "容器": "マス(合)", "容量": 180},
  {"種類": "ウィスキー", "度数": 43, "容器": "ワンショット", "容量": 30}
]
# --- UIを作成 --- (*2)
HTML = 『
<div class="nako3">
  <p>体重(kg): <input id="weight" value="60" /><p>
  <p>お酒の種類:
    <select id="syurui">
      <option value="0" selected>ビール</option>
      <option value="1">酎ハイ</option>
      <option value="2">ワイン</option>
      <option value="3">焼酎</option>
      <option value="4">日本酒</option>
      <option value="5">ウィスキー</option>
    </select>
  </p>
  <p><button id="calc_btn" style="width:200px">計算</button></p>
  <p><div id="result"></div></p>
</div>
』
「#nako3_div_1」にHTMLをHTML設定。
# --- イベントを指定 --- (*3)
「#calc_btn」をクリックした時には
  体重=「#weight」からテキスト取得。
  酒種類=「#syurui」からテキスト取得。
  # 入力種類から、お酒のデータを取り出す --- (*4)
  C=酒データ[酒種類]
  酒名=C["種類"]
  アルコール度数=C["度数"]
  容器=C["容器"]
  容量=C["容量"]
  # 計算
  酒量 = 1000×体重÷(アルコール度数×12)+(15×体重÷アルコール度数)×(ほろ酔時間-1)
  何杯=FLOOR(酒量÷容量×10)÷10
  # 結果表示
  S=「{ほろ酔時間}時間ほろ酔いするには..<br>
酒量: {酒量}ml<br>
{容器}: {何杯}杯」
  「#result」にSをHTML設定。
ここまで

実行すると、以下のように表示されます。体重を入力し、お酒の種類を選んでみましょう。ほろ酔い目安が表示されます。

  • 体重とお酒の種類を選べるようにしたもの

    体重とお酒の種類を選べるようにしたもの

プログラムを確認してみましょう。プログラムの(*1)の部分では、ほろ酔い時間の設定と、お酒の各データを指定しています。(*2)の部分では、HTMLで見た目を指定します。(*3)の部分では計算ボタンをクリックしたときに行う処理(イベント)を指定します。『テキスト取得』命令を使うと、HTMLの各DOM要素に割り振ったIDを元にして値を取得できます。(*4)の部分では、取得したお酒の種類に応じて各データを取り出し、それを利用してほろ酔いの計算を行います。

まとめ

以上、今回は、ほろ酔いの公式を利用して、お酒に関するプログラムを作ってみました。今回のように、世の中には、いろいろな公式が存在します。それをプログラミングしてみると、面白いツールを作ることができます。また、お酒の種類を増やしたり、逆に飲んだ量を入力すると、飲み過ぎ注意の警告が出るようにしたりと、今回のプログラムを改造してみるのも良いでしょう。