はじめに
こんにちは!今日は、プログラミングの一番大切な考え方を学びます。
それは「入力→処理→出力」という流れです。
難しそう?大丈夫!実は、あなたも毎日やっていることなんです。
今日の料理番組へようこそ!
想像してください。あなたは料理番組の司会者です。
「今日は、おいしいオムレツを作りますよ〜!」
オムレツ作りの流れ
🍳 オムレツの作り方
材料(入力):
- 卵 3個
- 牛乳 大さじ2
- 塩 少々
- バター 10g
調理(処理):
- 卵を割って、ボウルに入れる
- 牛乳と塩を加える
- よくかき混ぜる
- フライパンを温める
- バターを溶かす
- 卵液を流し入れる
- 箸でかき混ぜながら半熟にする
- 形を整える
完成(出力):
- ふわふわのオムレツ!
これ、実はプログラムとまったく同じ仕組みなんです!
入力・処理・出力って何?
1. 入力(Input)
入力とは、プログラムに「渡すもの」です。
料理で言うと:
- 材料(卵、牛乳、塩、バター)
- レシピの情報(3個、大さじ2、少々)
プログラムで言うと:
- ユーザーが入力する文字
- クリックやタップ
- 写真やファイル
- センサーからの情報
2. 処理(Process)
処理とは、入力されたものを「変化させる作業」です。
料理で言うと:
- 混ぜる、焼く、切る、煮る
- 順番通りに作業する
- 火加減を調整する
プログラムで言うと:
- 計算する
- 文字を組み合わせる
- 条件で判断する
- データを整理する
3. 出力(Output)
出力とは、処理の「結果」です。
料理で言うと:
- 完成した料理
- おいしそうな香り
- きれいな盛り付け
プログラムで言うと:
- 画面に表示される文字
- 音が鳴る
- ファイルが保存される
- ロボットが動く
身近な例で考えてみよう
例1:自動販売機
🥤 自動販売機のプログラム
入力:
- お金(150円)
- ボタンを押す(オレンジジュース)
処理:
- お金を数える
- 150円以上か確認
- 在庫があるか確認
- 商品を取り出す準備
- おつりを計算(150円 - 150円 = 0円)
出力:
- オレンジジュースが出てくる
- おつりは0円(出てこない)
例2:電卓
🧮 電卓のプログラム
入力:
- 数字「25」
- 記号「+」
- 数字「38」
- 「=」ボタン
処理:
- 最初の数字を記憶(25)
- 演算子を記憶(+)
- 次の数字を記憶(38)
- 計算を実行(25 + 38)
出力:
- 画面に「63」と表示
例3:カメラアプリ
📸 カメラアプリのプログラム
入力:
- カメラが捉えた光の情報
- シャッターボタンを押す
処理:
- 光の情報を画像データに変換
- 明るさを調整
- 色を補正
- ファイル形式に変換
- 保存場所を決める
出力:
- 写真ファイルが保存される
- 画面にプレビュー表示
複雑な例:ゲームの場合
「じゃんけんゲーム」を分解してみよう
✂️ じゃんけんゲームのプログラム
入力:
- プレイヤーが選ぶ(グー/チョキ/パー)
処理:
- プレイヤーの選択を記憶
- コンピュータがランダムに選ぶ
- 勝敗を判定
- グー vs チョキ → グーの勝ち
- チョキ vs パー → チョキの勝ち
- パー vs グー → パーの勝ち
- 同じなら引き分け
出力:
- 結果を画面に表示(「あなたの勝ち!」)
- 効果音を鳴らす
- スコアを更新
練習問題:入力・処理・出力を見つけよう
問題1:目覚まし時計
目覚まし時計の「入力・処理・出力」を考えてみましょう。
答えを見る
入力:
- 起きたい時刻の設定(7:00)
- アラームのON/OFF
処理:
- 現在時刻を確認し続ける
- 設定時刻と比較する
- 一致したらアラームを鳴らす準備
出力:
- アラーム音が鳴る
- 画面が光る
- バイブレーション(スマホの場合)
問題2:お小遣い計算アプリ
お小遣いを管理するアプリの「入力・処理・出力」を考えてみましょう。
答えを見る
入力:
- もらったお小遣い(1000円)
- 使った金額(お菓子300円)
処理:
- 今の残高を確認(例:500円)
- もらった分を足す(500 + 1000 = 1500円)
- 使った分を引く(1500 - 300 = 1200円)
- 新しい残高を記録
出力:
- 現在の残高表示(1200円)
- 使用履歴の表示
- 「残高が少ないよ!」などの通知
もっと複雑な処理の組み合わせ
レストランの注文システム
実際のプログラムは、いくつもの「入力→処理→出力」を組み合わせています。
【お客さん側】
入力:メニューを選んでタップ
処理:注文内容をまとめる
出力:注文確認画面
【キッチン側】
入力:注文データを受信
処理:調理の順番を決める
出力:調理指示を画面表示
【会計側】
入力:注文データ
処理:合計金額を計算
出力:レシート印刷
このように、一つの大きなシステムも、小さな「入力→処理→出力」の組み合わせでできています!
プログラミング的思考を身につけよう
日常生活で練習
普段の生活の中で「入力→処理→出力」を意識してみましょう。
宿題をする:
- 入力:問題文、教科書の情報
- 処理:考える、計算する、文章を書く
- 出力:答えをノートに書く
部屋の片付け:
- 入力:散らかった部屋の状態
- 処理:分類する、整理する、収納する
- 出力:きれいな部屋
友達にLINEを送る:
- 入力:伝えたいこと、絵文字
- 処理:文章を考える、絵文字を選ぶ
- 出力:メッセージが送信される
よくある質問
Q: 入力がないプログラムってある?
A: あります!例えば:
- 時計(時間を表示し続ける)
- スクリーンセーバー(きれいな模様を表示)
でも、よく考えると「電源ON」や「現在時刻」という入力があるとも言えますね。
Q: 出力がないプログラムは?
A: これも存在します!例えば:
- データを保存するだけのプログラム
- 計算するけど結果を表示しないプログラム
でも、「保存完了」という見えない出力があるとも考えられます。
Q: 処理が複雑すぎて分からない...
A: 大丈夫!複雑な処理も、小さく分解すれば理解できます。
カレー作りも:
- 野菜を切る
- 肉を炒める
- 煮込む
- ルーを入れる
一つ一つは簡単な処理の組み合わせです。
実践演習:CommandPlaygroundで体験
ファイルツリー
今日のまとめ
覚えておいてほしい3つのこと
- すべてのプログラムは「入力→処理→出力」でできている
- 複雑なプログラムも、小さな「入力→処理→出力」の組み合わせ
- この考え方は、プログラミング以外でも役立つ!
次回予告
次のレッスンでは、「変数」について学びます。
変数は「名前付きの箱」のようなもの。
- 箱に物を入れる(値を保存)
- 箱から物を取り出す(値を使う)
- 箱の中身を入れ替える(値を更新)
プログラミングで一番よく使う、大切な概念です!
チャレンジ問題
ミッション:「翻訳アプリ」の仕組みを考える
スマートフォンの翻訳アプリは、どんな「入力・処理・出力」で動いているでしょうか?
ヒント:
- 日本語を英語に翻訳する場合を考えてみよう
- カメラで文字を読み取る機能もあるよ
答えの例を見る
テキスト翻訳の場合:
- 入力:日本語の文章(「こんにちは」)
- 処理:
- 文章を単語に分解
- 辞書データベースで意味を検索
- 文法ルールに従って並び替え
- 自然な英語に調整
- 出力:英語の文章(「Hello」)
カメラ翻訳の場合:
- 入力:カメラで撮影した画像
- 処理:
- 画像から文字を認識(OCR)
- 認識した文字を言語判定
- 翻訳処理(上記と同じ)
- 元の画像に重ねて表示準備
- 出力:翻訳された文字を画像に重ねて表示
素晴らしい!プログラムの基本的な流れが理解できましたね。この「入力→処理→出力」の考え方は、これからもずっと使います。次回も楽しみにしていてください!