はじめに
今日は、プログラムを賢くする方法を学びます!
それは「もし〜なら〜する」という判断。
これを「条件分岐(じょうけんぶんき)」と呼びます。
難しそう?大丈夫!あなたも毎日やっていることです。
毎日の「もし〜なら」
朝起きてからの判断
朝起きてから学校に行くまで、実はたくさんの判断をしています。
🌅 朝の判断リスト
- もし 7時を過ぎていたら → 急いで準備する
- もし 雨が降っていたら → 傘を持つ
- もし 寒かったら → 上着を着る
- もし お腹が空いていたら → 朝ごはんを食べる
- もし 宿題を忘れていたら → 急いでやる
これをプログラムで書くと:
もし 時刻 > 7時 なら
急いで準備する
もし 天気 == "雨" なら
傘を持つ
もし 気温 < 15度 なら
上着を着る
基本の「もし〜なら」
シンプルな条件分岐
一番簡単な形から始めましょう。
年齢 = 10
もし 年齢 >= 10 なら
"もう10歳!二桁の仲間入り!"
「そうでなければ」も使える
宿題終わった = true
もし 宿題終わった == true なら
"ゲームで遊べる!"
そうでなければ
"先に宿題をやろう"
条件の書き方
比較する記号
プログラムでは、特別な記号を使って比較します。
📊 比較の記号
==
: 同じ(イコール)!=
: 違う(ノットイコール)>
: より大きい<
: より小さい>=
: 以上(同じか大きい)<=
: 以下(同じか小さい)
例で覚えよう
点数 = 80
もし 点数 == 100 なら
"満点!すごい!"
もし 点数 >= 80 なら
"よくできました!"
もし 点数 < 60 なら
"もう少しがんばろう"
いろいろな条件分岐
1. 自動販売機の判断
入れたお金 = 150
ジュースの値段 = 120
もし 入れたお金 >= ジュースの値段 なら
"ジュースを出す"
おつり = 入れたお金 - ジュースの値段
"おつりは" + おつり + "円です"
そうでなければ
"お金が足りません"
足りない額 = ジュースの値段 - 入れたお金
"あと" + 足りない額 + "円必要です"
2. ゲームのレベルアップ
経験値 = 250
現在のレベル = 5
もし 経験値 >= 200 なら
"レベルアップ!"
現在のレベル = 現在のレベル + 1
"レベル" + 現在のレベル + "になった!"
新しいスキル = "火の玉"
新しいスキル + "を覚えた!"
3. 信号機の動き
信号の色 = "赤"
もし 信号の色 == "青" なら
"進んでOK"
もし 信号の色 == "黄" なら
"注意して止まる準備"
もし 信号の色 == "赤" なら
"止まる"
複数の条件を組み合わせる
「かつ」と「または」
🔗 条件の組み合わせ
- かつ(AND):両方の条件が正しいとき
- または(OR):どちらかの条件が正しいとき
例:遊園地の乗り物
年齢 = 8
身長 = 125
// ジェットコースターに乗れる条件
// 年齢が10歳以上 かつ 身長が130cm以上
もし 年齢 >= 10 かつ 身長 >= 130 なら
"ジェットコースターに乗れます!"
そうでなければ
"もう少し大きくなってからね"
// メリーゴーランドに乗れる条件
// 年齢が5歳以上 または 保護者同伴
もし 年齢 >= 5 または 保護者同伴 == true なら
"メリーゴーランドに乗れます!"
条件の入れ子(ネスト)
条件の中に条件
天気 = "雨"
気温 = 10
もし 天気 == "雨" なら
"傘を持つ"
もし 気温 < 15 なら
"レインコートも着る"
そうでなければ
"傘だけでOK"
成績表の例
テストの点数 = 85
もし テストの点数 >= 90 なら
評価 = "秀"
そうでなければ
もし テストの点数 >= 80 なら
評価 = "優"
そうでなければ
もし テストの点数 >= 70 なら
評価 = "良"
そうでなければ
もし テストの点数 >= 60 なら
評価 = "可"
そうでなければ
評価 = "もう少しがんばろう"
実践的な例
おこづかい管理アプリ
現在のお小遣い = 1000
欲しいもの = "マンガ"
値段 = 500
もし 現在のお小遣い >= 値段 なら
"買える!"
現在のお小遣い = 現在のお小遣い - 値段
"残金:" + 現在のお小遣い + "円"
そうでなければ
足りない金額 = 値段 - 現在のお小遣い
"あと" + 足りない金額 + "円足りない..."
もし 足りない金額 <= 100 なら
"もう少しで買える!"
そうでなければ
"もっと貯金しよう"
よくある間違いと対処法
間違い1:比較記号を間違える
// ❌ 間違い
もし 年齢 = 10 なら // =は1つだけだと代入になる
// ✅ 正解
もし 年齢 == 10 なら // ==で比較
間違い2:条件の順番
// ❌ 間違い(80点以上が先に判定される)
もし 点数 >= 60 なら
"合格"
もし 点数 >= 80 なら
"優秀" // これは実行されない!
// ✅ 正解(大きい数字から判定)
もし 点数 >= 80 なら
"優秀"
そうでなければ もし 点数 >= 60 なら
"合格"
練習問題
問題1:曜日で行動を変える
今日の曜日によって、放課後の予定を決めるプログラムを作ってください。
- 月曜日:塾
- 水曜日:ピアノ
- 金曜日:スイミング
- それ以外:自由時間
答えを見る
今日の曜日 = "水曜日"
もし 今日の曜日 == "月曜日" なら
放課後の予定 = "塾に行く"
そうでなければ もし 今日の曜日 == "水曜日" なら
放課後の予定 = "ピアノのレッスン"
そうでなければ もし 今日の曜日 == "金曜日" なら
放課後の予定 = "スイミング"
そうでなければ
放課後の予定 = "自由時間!遊べる!"
"今日の放課後は:" + 放課後の予定
問題2:パスワードチェック
正しいパスワードは「abc123」です。 入力されたパスワードが正しいかチェックして、さらに文字数もチェックしてください。
答えを見る
正しいパスワード = "abc123"
入力されたパスワード = "abc123"
もし 入力されたパスワード == 正しいパスワード なら
"ログイン成功!"
そうでなければ
"パスワードが違います"
もし 文字数(入力されたパスワード) < 6 なら
"パスワードが短すぎます"
そうでなければ もし 文字数(入力されたパスワード) > 6 なら
"パスワードが長すぎます"
実践演習:CommandPlaygroundで体験
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
今日のまとめ
覚えておいてほしい3つのこと
- 「もし〜なら」で、プログラムに判断力を持たせられる
- 条件は、比較記号(==、>、< など)を使って書く
- 複数の条件を組み合わせて、より賢い判断ができる
次回予告
次のレッスンでは、「繰り返し処理」を学びます。
- 100回同じことをする?
- 条件を満たすまで続ける?
- リストの全部に同じ処理をする?
人間には大変でも、コンピュータなら一瞬です!
チャレンジ問題
ミッション:お天気アドバイザー
天気と気温から、今日の服装と持ち物をアドバイスするプログラムを作ってください。
条件:
- 雨なら傘
- 気温15度以下なら上着
- 気温25度以上なら帽子
- 晴れで気温20度以上なら「絶好のお出かけ日和!」
答えの例を見る
天気 = "晴れ"
気温 = 22
持ち物リスト = ""
アドバイス = ""
// 雨の判定
もし 天気 == "雨" なら
持ち物リスト = 持ち物リスト + "傘 "
// 気温による判定
もし 気温 <= 15 なら
持ち物リスト = 持ち物リスト + "上着 "
アドバイス = "寒いので暖かくして!"
そうでなければ もし 気温 >= 25 なら
持ち物リスト = 持ち物リスト + "帽子 "
アドバイス = "暑いので水分補給を忘れずに!"
// 絶好のお出かけ日和の判定
もし 天気 == "晴れ" かつ 気温 >= 20 かつ 気温 < 25 なら
アドバイス = "絶好のお出かけ日和!"
// 結果を表示
"今日の天気:" + 天気
"気温:" + 気温 + "度"
"持ち物:" + 持ち物リスト
"アドバイス:" + アドバイス
素晴らしい!これでプログラムに「判断力」を持たせることができました。条件分岐を使えば、状況に応じて動きを変える賢いプログラムが作れます。次回もお楽しみに!