ラーメン屋で覚えるプログラミング超入門:変数と関数を超ざっくり解説してみた【第一回】

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】

「変数」「関数」「if文」……。

プログラミングを始めると、まず出てくるこのカタカナ用語たち。

わかるようでわからないし、正直、コード見ただけでアレルギー反応が出る人もいると思う。

かくいう団子も、初めてHTMLやPythonを触ったときは、

「変数?いや変な数ってこと???」

「if文ってもし〜ならってこと?…それで何すんの?」

ってなってた。


でもある日、ふと思った。

焦げ団子

これ、ラーメン屋の仕組みと似てないか?

注文を受けて、どんぶりを用意して、スープを注いで、麺と具をのせる。

この一連の流れって、プログラムの処理そのものじゃね???

というわけで今回は、焦げ団子的に「ラーメン屋」で全部たとえてみた。

このページを読むとわかること
  • 「変数」「関数」「if文」「ループ」など、プログラミングの基本用語がすべてラーメン屋の日常でイメージできるようになる!
  • 「クラス」と「オブジェクト」って何?も、ラーメン屋本部と支店でざっくり整理。
  • コードの書き方そのものは出てこないけど、プログラムの考え方や流れが、なんとなく見えてくるようになります。

プログラミング入門者のための一冊

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】
目次

第1章:プログラムってなに?ラーメン屋で言うと厨房の動きそのもの

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】

プログラムって聞くと、

「なんか黒い画面に英語みたいな文字がいっぱい出てるやつでしょ?」

「ハッカーがカタカタ打ってるやつ」

ってイメージを持ってる人も多いかもしれない。

でも実際はもっとシンプルで、「やることを順番に書いてあるだけ」

たとえばラーメン屋を想像してみてほしい。

注文が入ったら厨房では…

  1. どんぶりを出す
  2. スープを注ぐ
  3. 麺をゆでる
  4. 麺をどんぶりに入れる
  5. 具をのせる(チャーシュー・ネギ・煮卵など)
  6. カウンターに出す

この一連の流れ、全部決まった手順で動いてるよな?

これ、まさにプログラム。

つまり、プログラムとは

「人間がやる作業を、コンピューターでもできるように、順番通りに命令を書いたもの」ってこと。

つまりプログラミングとは、この「手順」を一つひとつ命令文で書いていく一連の作業のことを指す。


たとえば「どんぶりを出す」という作業は、プログラムではこう書くとする。

get_bowl()

これは、「どんぶりを出して!」と命令していることになる。

こうやって、「人間がやる作業」をひとつひとつ命令の形にして並べていくのが、プログラミングの基本。


この時点では、まだ意味がわからなくても大丈夫。

このあと、「変数って何?」「関数って何?」っていうのを、すべてラーメン屋の仕組みに例えて説明していこう。

※この () のついた命令は、あとで出てくる「関数」ってやつだけど、
いまは「動きの名前」だと思ってOK。第3章でわかりやすく説明するから安心してほしい。

第2章:変数ってなに?=ラーメン屋で言うと「どんぶり」だ!

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】

プログラミングでは、「変数(へんすう)」という言葉が最初に出てくる。

でも、初めて見る人からすれば、

「“変”ってことは変わるの?数って何の数?」

「数字じゃない文字でも“変数”って言うの?」

って疑問しか湧かない。

焦げ団子的にいえば、変数はラーメン屋の“どんぶり”だ。


どんぶりにラーメンをよそう=変数にデータを入れる

たとえばこんなコードがあったとする。

ramen = "味噌ラーメン"

これはこういう意味:

  • ramen は 「どんぶり」の名前
  • “味噌ラーメン” は その中に盛られたラーメン

つまり、ramen という器に、味噌ラーメンという中身を入れてる状態。

中身はあとから変えられる

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】

ramenの中身を変えたい時は、

ramen = "しょうゆラーメン"

って書き直すと、同じどんぶりの中身が「味噌」→「しょうゆ」に変わる。

つまり変数とは、名前をつけた器に、いろんな中身を入れて使い回せる仕組みのこと!

この器があることで、後から「今何が入ってる?」って聞いたり、「この中身を関数に渡してラーメンを作る」なんてこともできるようになる。

焦げ団子

今日は味噌、明日は塩。
そんな気分屋に寄り添ってくれるのが変数ってやつ。

  • 変数は「中身を自由に入れ替えられる、名前付きのどんぶり」
  • ramen = “味噌ラーメン” → ramenという器に味噌ラーメンを入れた
  • ramen = “しょうゆラーメン” → 中身を醤油に変えた
  • これからのプログラムでは、この「どんぶりの中身」を操作していくのが超重要

第3章:関数ってなに?=ラーメン屋の「自動ラーメンマシン」だ!

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】

プログラミングをやってると、よく出てくるのが「関数(かんすう)」って言葉。

でも、最初のうちはこう思う人も多いんじゃないだろうか?

「関数って…なに?計算のやつ?なんでプログラミングに出てくるの?」

まず:関数ってなに?

関数(function)とは、よく使う一連の処理を「ひとまとめ」にして、名前をつけておくしくみ。

関数とは「いつも同じ作業をやってくれる厨房マシン」

たとえば、ラーメン屋で「しょうゆラーメン」を注文されたとき、店員さんは毎回こうやって作ってる。

  1. どんぶりを用意する
  2. スープを注ぐ
  3. 麺を入れる
  4. チャーシューをのせる
  5. ネギをトッピングする

完成!


でも、これを注文のたびに毎回全部手作業でやってたら、めちゃくちゃ時間かかるし、ミスも増えるし、面倒くさすぎる!!!

だから考えた。

「この作業、毎回まとめて自動ラーメン作成装置にしておけないか?」

そこで登場するのが、自動ラーメンマシン=関数

関数を作る(定義する)

名前:「しょうゆラーメン製造マシン」
ボタンを押すと、上の①〜⑤を自動でやってくれる!

プログラミングでは、こんなふうに関数を定義する。

def make_ramen():
    print("どんぶり用意")
    print("スープ注ぐ")
    print("麺を入れる")
    print("チャーシューをのせる")   
    print("ネギをトッピングする")

これで関数の定義は完成。

ただし、この関数を作っただけでは、まだラーメンはできない。

これは、“しょうゆラーメンのレシピ”を作っただけの状態。

厨房の壁に貼っただけ。このままじゃラーメンは出てこない。 

実際に厨房が動くのは、「その関数を呼び出したとき」。

プログラミングでよく出てくるこの print() は、「カッコの中に書いた内容を、画面に表示する」ための命令。

実際にコードを書いたあと、それがどう処理されたか見たいときに使う。

関数を呼び出す(実行する)

関数を呼び出す(=実際にラーメンを作る)時は

make_ramen()

と、この make_ramen() を呼び出すだけで、初めてラーメンが完成する。

焦げ団子

作るだけで満足するな。使わなきゃ意味ねえ!!

レシピカードを額縁に飾って満足してるだけじゃ、客はラーメンにありつけないって話だ。

材料を渡す(トッピング編)

ここまでで、「make_ramen()」を呼び出せば、しょうゆラーメンが完成する流れはわかった。

でもここでちょっと欲が出てくる。

「チャーシューのせたいな……」

「味噌ラーメンも作れないのか?」

実は、関数って、作るときに「材料を渡せる」ようにすることもできる。

それが引数(ひきすう)というやつ。


たとえば、ラーメンにトッピングを指定できるようにするには、関数を定義したところにこう書く。

def make_ramen(topping):
    print("ラーメン+" + topping)

これで「チャーシューのせて!」って言いたければ、関数を呼び出す時にチャーシューと入れる。

make_ramen("チャーシュー")

→ 結果:
ラーメン+チャーシューが完成する!

渡した「トッピング」が、そのままどんぶりの上に乗るようなイメージ。

つまり、関数は「作るときに材料を渡せば、それに応じて中身を変えてくれる」便利なマシンでもあるってこと。

焦げ団子

スイッチ押すだけでラーメン出てくるって最強じゃね?
それが関数ってやつ。

トッピングだけじゃ物足りない? → 味と具、両方渡せるようにしよう(複数引数)

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】

ラーメンを作るとき、こう思うかもしれない。

「しょうゆや味噌みたいにも指定したいし、チャーシューみたいなも指定したいんだけど…?」

そんなときは、2つ以上の材料(引数)を関数に渡すことができる。

def make_ramen(flavor, topping):
    print(flavor + "ラーメン+" + topping)
  • flavor → ラーメンの味(しょうゆ・味噌・塩など)
  • topping → 上にのせる具材(チャーシュー・ネギ・煮卵など)

使い方(呼び出し方)複数引数

さっき指定したflavor(味)とtopping(具材)を呼び出すには

make_ramen("味噌", "チャーシュー")

と書く。

これで味噌チャーシュー乗せラーメンの完成だ!

関数まとめ

  • 関数は「何回も使う処理」をまとめて名前をつけておく機能
  • 「注文のたびに手作業」じゃなくて、「名前を呼ぶだけで自動で動く」
  • プログラミングの世界では、「関数」=作業を省略する便利な箱
  • 関数は「いくつでも材料を渡せる」=複数引数

ITエンジニアおすすめの初心者向けプログラミング講座!

プログラミングの基本をラーメン屋で例えて解説してみた【変数・関数編】

焦げ団子的まとめ:変数と関数って結局どういうこと?

プログラミングをラーメン屋でたとえるなら、変数とは「中身を自由に入れ替えられる、名前のついたどんぶり」のようなものだった。

たとえば ramen = “味噌ラーメン” と書けば、ramenという器の中に味噌ラーメンが入ったことになる。

その中身はいつでも ramen = “しょうゆラーメン” のように変えることができる。

この「必要なときに中身を変えられる」柔軟性こそが、変数の大きな特徴だ。

焦げ団子

そのとき食べたい味に変えられるのが変数ってことな。


一方、関数というのは「ラーメンを自動で作ってくれる厨房マシン」みたいな存在だった。

どんぶりを出して、スープを注いで、麺を入れて、具を乗せて……という一連の作業を、make_ramen() のように一言でまとめて呼び出せるようにしたものが関数だ。

そして関数には、「味」や「トッピング」のような材料を渡すこともできた。

それによって、味噌チャーシューでも塩煮卵でも、お好み通りのラーメンを一瞬で出せるようになる。

焦げ団子

もう全部のせでいいか?


この「必要な情報を渡して、柔軟に中身を変える仕組み」が引数(ひきすう)だった。

さらにプログラムの中では、ラーメンがどう仕上がったかを画面に表示するために print() という命令がよく使われた。

これは「カウンターにラーメンを出す」ようなもので、実行結果を見たいときに欠かせない。


というわけで、ここまでの話をラーメン屋でまとめると――

変数=どんぶり、関数=厨房マシン、引数=トッピング指定、print=カウンターに出す処理

焦げ団子

これだけ覚えておけば、初心者としてはバッチリだ。

次回予告:注文の好みに対応できる!if文=接客スタッフ登場!

ここまでで、材料を自由に扱い、ラーメンを自動で作るところまでできるようになった。

でも現実のラーメン屋では、「辛口で!」「ネギ抜きで!」といった細かい要望にも応えなきゃいけない。

次回は、その「お客さんのリクエスト」に応じて行動を変えるしくみ――

if文(条件分岐)を、またラーメン屋を舞台にじっくり解説していくぞ!

焦げ団子

焦げ団子的プログラミング入門、次回もよろしく!


プログラミングに興味がある方におすすめ初心者本!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次