はじめに
前回のレッスンで、私たちの身の回りにはたくさんのプログラムがあることを学びました。
今回は、そのプログラムを作るために必要な「コンピュータとの会話方法」について学びます。
まず、簡単なクイズから始めましょう!
クイズ:お母さん vs コンピュータ
場面1:お母さんに頼むとき
あなた:「お母さん、お茶!」
お母さんは何をしてくれるでしょう?
答えを見る
きっとお母さんは:
- 冷蔵庫からお茶を出して
- コップに注いで
- あなたのところに持ってきてくれる
たった2文字「お茶!」で伝わりましたね!
場面2:コンピュータに頼むとき
もし同じことをコンピュータにお願いしたら...?
あなた:「お茶!」
コンピュータ:「???」
コンピュータは何もしてくれません。なぜでしょう?
人間とコンピュータの違い
人間の素晴らしいところ
人間はとても賢いです!
-
🧠 状況を理解できる
- 「暑い日だから、冷たいお茶がほしいんだな」
- 「のどが渇いているんだな」
-
💭 経験から推測できる
- 「いつもこの時間にお茶を飲むから」
- 「前もこう言われたときは、お茶を持っていった」
-
🎯 あいまいな指示でも理解できる
- 「あれ取って」(指差した方向を見て理解)
- 「ちょっと待って」(5分くらいかな?と推測)
コンピュータの特徴
コンピュータはとても正直です!
-
🤖 言われたことだけをする
- 指示されたこと以外はしない
- 勝手に判断しない
-
📝 具体的な指示が必要
- 「お茶」→ 何をすればいいの?
- 「お茶を持ってくる」→ どこから?どうやって?
-
⚡ でも、すごく速い!
- 正確な指示があれば、人間の何万倍も速く実行
- 疲れない、文句を言わない、24時間働ける
コンピュータに伝わる話し方
悪い例:人間には伝わるけど...
「ちょっと部屋を涼しくして」
人間なら:
- エアコンをつける
- 温度を26度くらいに設定
- 風向きを調整
コンピュータは:
- 「ちょっと」ってどのくらい?
- 「涼しく」って何度?
- どうやって涼しくするの?
良い例:コンピュータに伝わる!
1. エアコンの電源をONにする
2. モードを「冷房」に設定する
3. 温度を26度に設定する
4. 風量を「自動」に設定する
5. 風向きを「自動」に設定する
これならコンピュータも理解できます!
実践:コンピュータ語に翻訳してみよう
練習問題1:カップラーメンを作る
人間への指示: 「カップラーメン作って」
コンピュータへの指示に翻訳してみましょう!
答えの例を見る
1. カップラーメンのフタを半分まで開ける
2. かやくを入れる
3. お湯を内側の線まで注ぐ
4. フタを閉じる
5. 3分間待つ
6. フタを全部開ける
7. よくかき混ぜる
練習問題2:歯を磨く
人間への指示: 「歯を磨いてきて」
コンピュータへの指示に翻訳してみましょう!
答えの例を見る
1. 洗面所に行く
2. 歯ブラシを手に取る
3. 歯磨き粉のキャップを開ける
4. 歯ブラシに歯磨き粉を1cmつける
5. 歯磨き粉のキャップを閉める
6. 歯ブラシを水で軽く濡らす
7. 上の歯を30秒磨く
8. 下の歯を30秒磨く
9. 口をゆすぐ
10. 歯ブラシを洗う
11. 歯ブラシを元の場所に戻す
すごく細かいですね!でも、コンピュータにはこれくらい詳しく教える必要があります。
プログラミング言語って何?
人間の言語とコンピュータの言語
実は、コンピュータは「0」と「1」しか理解できません!
- 人間:「こんにちは」
- コンピュータ:「01001000 01100101 01101100 01101100 01101111」
これでは大変ですよね...
プログラミング言語の登場!
そこで、人間とコンピュータの間を取り持つ「プログラミング言語」が生まれました。
プログラミング言語とは
人間にも分かりやすく、コンピュータにも翻訳できる「中間の言語」です。
いろいろなプログラミング言語
世界にはたくさんのプログラミング言語があります。それぞれ得意なことが違います!
JavaScript(ジャバスクリプト)
- ウェブサイトを動かすのが得意
- 例:ボタンをクリックしたら画面が変わる
// 日本語で言うと:「ボタンがクリックされたら、メッセージを表示する」
button.onclick = function() {
alert("こんにちは!");
}
Python(パイソン)
- AIや計算が得意
- 書き方がシンプルで初心者に人気
# 日本語で言うと:「こんにちはと表示する」
print("こんにちは!")
Scratch(スクラッチ)
- ブロックを組み合わせてプログラムを作る
- 子どもでも楽しく学べる
実は、どの言語も「コンピュータに指示を出す」という目的は同じです!
コンピュータとの上手な付き合い方
コンピュータが得意なこと
-
繰り返し作業
- 同じことを100万回でも正確にできる
- 疲れない、飽きない
-
計算
- 1秒間に何億回も計算できる
- 間違えない
-
記憶
- 一度覚えたら忘れない
- 大量のデータを保存できる
人間が得意なこと
-
創造性
- 新しいアイデアを思いつく
- 芸術作品を作る
-
感情の理解
- 相手の気持ちを察する
- 状況に応じて判断する
-
柔軟な対応
- 予想外のことにも対処できる
- あいまいな状況でも判断できる
最高のチームワーク
人間とコンピュータは、お互いの得意なところを活かして協力できます!
- 人間:「こんなものを作りたい」(アイデア)
- コンピュータ:「分かりました、実行します」(実現)
よくある疑問
Q: なんでこんなに細かく指示しないといけないの?
A: コンピュータは「推測」ができないからです。でも、それは悪いことではありません!
- 👍 良い点:言った通りに動くので、結果が予測できる
- 👎 大変な点:全部説明しないといけない
Q: 間違った指示を出したらどうなる?
A: コンピュータは言われた通りに実行します。
例:「水を入れる」と指示したけど、「止める」指示を忘れたら... → 水があふれるまで入れ続けます!
でも大丈夫!プログラミングでは、実行前にテストできます。
Q: コンピュータ語を全部覚えないといけない?
A: いいえ!必要な分だけ覚えれば大丈夫です。
- 料理を始めるとき、全てのレシピを覚える必要はないですよね?
- プログラミングも同じです
実践演習:ロボットごっこ
家族や友達と遊んでみよう!
1人が「ロボット役」、もう1人が「プログラマー役」になります。
ルール:
- ロボットは指示された通りにしか動けない
- あいまいな指示は実行できない
お題:ロボットに「本を取ってきてもらう」
うまくいく指示の例
1. 立ち上がる
2. 右に90度向きを変える
3. 3歩前に進む
4. 左手を前に伸ばす
5. 本をつかむ
6. 本を持ったまま手を下ろす
7. 180度向きを変える
8. 3歩前に進む
9. 本を渡す
きっと最初は失敗します。それでいいんです! 失敗から「もっと詳しく説明しないと」ということを学べます。
今日のまとめ
覚えておいてほしい3つのこと
- コンピュータは「言われたことだけ」を「言われた通り」に実行する
- だから、詳しく・順番に・具体的に指示する必要がある
- プログラミング言語は、人間とコンピュータをつなぐ「橋」の役割
次回予告
次のレッスンでは、プログラムの基本「入力→処理→出力」を学びます。
料理に例えると:
- 入力 = 材料
- 処理 = 調理
- 出力 = 完成した料理
この考え方が分かると、どんなプログラムも理解できるようになります!
チャレンジ問題
問題:宇宙人にサンドイッチの作り方を教える
地球のことを何も知らない宇宙人に、「ハムサンドイッチ」の作り方を教えてください。
注意点:
- 「パン」「ハム」が何か分からない
- 「はさむ」という動作を知らない
- でも、言われた通りには動ける
答えの例を見る
1. 四角くて茶色い「パン」という食べ物を2枚用意する
2. 1枚のパンを平らな場所に置く
3. ピンク色の薄い「ハム」という食べ物を1枚取る
4. ハムをパンの上に重ねて置く
5. もう1枚のパンを取る
6. ハムの上にパンを重ねて置く
7. 上から軽く押さえる
8. 完成!
宇宙人には「食べ物」ということも説明が必要かもしれませんね!
素晴らしい!コンピュータとの会話方法が分かってきましたね。次回もお楽しみに!