プログラミング基本概念を日常例で理解する - 変数・関数・ループの仕組み
プログラミングの基本概念である変数、関数、条件分岐、ループを日常生活の例で分かりやすく解説。技術的な知識がない方でも理解できるよう、身近な例を使って説明します。
プログラミングの基本概念を理解しよう
プログラミングを学び始めると、「変数」「関数」「条件分岐」「ループ」といった専門用語が出てきて、難しく感じるかもしれません。しかし、これらの概念は実は私たちの日常生活でも使っている考え方なのです。
この記事では、技術的な背景がない方でも理解できるよう、身近な例を使ってプログラミングの基本概念を説明します。
1. 変数(Variable)- 「箱」の概念
変数とは何か?
変数とは、データを一時的に保存するための「箱」のようなものです。
この「箱」には名前をつけることができ、後で中身を取り出したり、新しい値を入れ替えたりできます。
日常生活での例
例1:冷蔵庫
冷蔵庫という箱 = 牛乳、卵、野菜
- 冷蔵庫(箱の名前)
- 牛乳、卵、野菜(箱の中身)
- 必要な時に取り出せる
- 新しい食材を追加できる
例2:財布
財布という箱 = 5000円
- 財布(箱の名前)
- 5000円(箱の中身)
- お金を使うと中身が減る
- お金を入れると中身が増える
プログラミングでの変数
// 変数を作って値を入れる
let name = "田中太郎"; // 名前という箱に「田中太郎」を入れる
let age = 25; // 年齢という箱に「25」を入れる
let money = 5000; // お金という箱に「5000」を入れる
// 変数の中身を使う
console.log(name); // 「田中太郎」が表示される
// 変数の中身を変更する
age = 26; // 誕生日が来たので年齢を更新
money = money - 1000; // 1000円使ったので残金を更新
変数の種類
文字列(テキスト)
let message = "こんにちは";
let email = "example@gmail.com";
数値
let score = 85;
let price = 1500;
真偽値(はい・いいえ)
let isStudent = true; // 学生かどうか
let isRaining = false; // 雨が降っているかどうか
2. 関数(Function)- 「道具・機械」の概念
関数とは何か?
関数とは、特定の作業をまとめた「道具」や「機械」のようなものです。
材料を入れると、決まった手順で処理して、結果を出してくれます。
日常生活での例
例1:洗濯機
洗濯機(汚れた服) → きれいな服
- 汚れた服を入れる(入力)
- 洗濯機が洗濯する(処理)
- きれいな服が出てくる(出力)
例2:電卓
電卓(10, +, 5) → 15
- 数字と演算子を入力(入力)
- 電卓が計算する(処理)
- 計算結果が表示される(出力)
例3:自動販売機
自動販売機(お金, 商品選択) → 商品
- お金を入れて商品を選ぶ(入力)
- 自動販売機が商品を準備する(処理)
- 商品とお釣りが出てくる(出力)
プログラミングでの関数
// 挨拶をする関数
function greet(name) { // 名前を受け取る
return "こんにちは、" + name + "さん!"; // 挨拶文を作って返す
}
// 関数を使う
let message = greet("田中"); // "こんにちは、田中さん!"
console.log(message);
// 計算をする関数
function add(a, b) { // 2つの数字を受け取る
return a + b; // 足し算の結果を返す
}
let result = add(10, 5); // 15
関数の利点
- 再利用できる: 一度作れば何度でも使える
- 整理整頓: 複雑な処理をまとめられる
- 修正が簡単: 一箇所直せば全体に反映される
3. 条件分岐(Conditional)- 「もしも」の概念
条件分岐とは何か?
条件分岐とは、状況に応じて異なる行動を取ることです。
「もし〜なら、〜する。そうでなければ、〜する。」という考え方です。
日常生活での例
例1:天気による服装選択
もし雨が降っていたら → 傘を持つ、レインコートを着る
そうでなければ → 普通の服装
例2:信号機
もし信号が赤なら → 止まる
もし信号が黄色なら → 注意して進む(または止まる)
もし信号が青なら → 進む
例3:ATMでの引き出し
もし残高が十分なら → お金を引き出す
そうでなければ → 「残高不足」と表示する
プログラミングでの条件分岐
// 基本的な条件分岐
let weather = "雨";
if (weather === "雨") {
console.log("傘を持っていこう");
} else {
console.log("傘は必要ない");
}
// 複数の条件
let score = 85;
if (score >= 90) {
console.log("優秀です!");
} else if (score >= 70) {
console.log("合格です");
} else {
console.log("もう少し頑張りましょう");
}
// 残高チェックの例
let balance = 10000; // 残高
let withdraw = 5000; // 引き出し希望額
if (balance >= withdraw) {
balance = balance - withdraw;
console.log("引き出し完了。残高: " + balance + "円");
} else {
console.log("残高不足です");
}
4. 繰り返し・ループ(Loop)- 「同じ作業の反復」の概念
ループとは何か?
ループとは、同じ作業を条件を満たす間、繰り返し実行することです。
効率的に反復作業を行うための仕組みです。
日常生活での例
例1:皿洗い
汚れた皿がある間は、以下を繰り返す:
1. 皿を一枚取る
2. 洗剤をつける
3. 洗う
4. すすぐ
5. 乾かす
例2:階段を上る
目的の階に着くまで、以下を繰り返す:
1. 一段上がる
2. 目的の階かチェックする
例3:勉強
理解できるまで、以下を繰り返す:
1. 教科書を読む
2. 練習問題を解く
3. 理解度をチェックする
プログラミングでのループ
for文(回数を指定した繰り返し)
// 1から10まで数える
for (let i = 1; i <= 10; i++) {
console.log(i + "回目");
}
// 九九の表を作る
for (let i = 1; i <= 9; i++) {
for (let j = 1; j <= 9; j++) {
console.log(i + " × " + j + " = " + (i * j));
}
}
while文(条件を満たす間繰り返し)
// 皿洗いの例
let dirtyDishes = 5; // 汚れた皿の数
while (dirtyDishes > 0) {
console.log("皿を洗っています...");
dirtyDishes = dirtyDishes - 1; // 洗った皿を減らす
}
console.log("皿洗い完了!");
// お金を貯める例
let savings = 0; // 貯金額
let monthlyDeposit = 10000; // 毎月の貯金額
let target = 100000; // 目標額
while (savings < target) {
savings = savings + monthlyDeposit;
console.log("現在の貯金額: " + savings + "円");
}
console.log("目標達成!");
5. 配列(Array)- 「リスト・一覧表」の概念
配列とは何か?
配列とは、複数の値をまとめて管理するための「リスト」のようなものです。
買い物リストや成績表のように、関連する情報をまとめて扱えます。
日常生活での例
例1:買い物リスト
買い物リスト = [牛乳, パン, 卵, りんご, にんじん]
例2:クラスの成績
数学の成績 = [85, 92, 78, 95, 88]
プログラミングでの配列
// 配列を作る
let fruits = ["りんご", "バナナ", "オレンジ", "ぶどう"];
let scores = [85, 92, 78, 95, 88];
// 配列の要素にアクセスする
console.log(fruits[0]); // "りんご"(最初の要素)
console.log(scores[2]); // 78(3番目の要素)
// 配列に新しい要素を追加
fruits.push("いちご");
console.log(fruits); // ["りんご", "バナナ", "オレンジ", "ぶどう", "いちご"]
// 配列の全要素を順番に処理
for (let i = 0; i < fruits.length; i++) {
console.log((i + 1) + "番目: " + fruits[i]);
}
実践例:簡単なプログラムで概念を組み合わせる
例:学生の成績管理システム
// 変数:学生の情報
let studentName = "田中太郎";
let scores = [85, 92, 78, 95, 88]; // 配列:各科目の成績
// 関数:平均点を計算する
function calculateAverage(scoreList) {
let total = 0;
// ループ:全ての成績を合計する
for (let i = 0; i < scoreList.length; i++) {
total = total + scoreList[i];
}
return total / scoreList.length;
}
// 関数:成績判定をする
function getGrade(average) {
// 条件分岐:平均点に応じて判定
if (average >= 90) {
return "A";
} else if (average >= 80) {
return "B";
} else if (average >= 70) {
return "C";
} else {
return "D";
}
}
// メイン処理
let average = calculateAverage(scores);
let grade = getGrade(average);
console.log("学生名: " + studentName);
console.log("平均点: " + average + "点");
console.log("成績: " + grade);
プログラミング思考を身につけるコツ
1. 日常生活でアルゴリズムを意識する
普段の行動を手順として考えてみましょう:
朝の準備のアルゴリズム
- 目覚ましが鳴る
- もし眠かったら → 5分だけスヌーズ
- 起きる
- 顔を洗う
- 歯を磨く
- 服を着替える
- 朝食を食べる
- 家を出る
2. 条件分岐を意識する
日常の判断を「もし〜なら」で考えてみましょう:
- もし電車が遅延していたら → 別の路線を使う
- もし雨が降りそうなら → 傘を持参する
- もし冷蔵庫が空なら → 買い物に行く
3. 繰り返し処理を見つける
同じような作業を見つけてみましょう:
- 食器洗い:汚れた食器がなくなるまで繰り返し
- 掃除機かけ:部屋が綺麗になるまで繰り返し
- 勉強:理解できるまで繰り返し
よくある質問
Q1: これらの概念を覚える必要がありますか?
A: 完全に暗記する必要はありません。概念を理解し、実際にプログラムを書きながら自然に身につけていけば大丈夫です。
Q2: どの概念から学習を始めるべきですか?
A: 変数から始めることをおすすめします。変数 → 条件分岐 → ループ → 関数 → 配列の順番で学習すると理解しやすいでしょう。
Q3: 実際のプログラミングでは、これらをどう使いますか?
A: 実際のプログラムでは、これらの概念を組み合わせて使います。小さな機能から始めて、徐々に複雑なプログラムを作っていきます。
まとめ
プログラミングの基本概念は、実は私たちが日常的に行っている思考プロセスと同じです:
- 変数: 情報を整理して保存する
- 関数: 作業を効率化するための道具
- 条件分岐: 状況に応じた判断
- ループ: 効率的な反復作業
- 配列: 関連情報をまとめて管理
これらの概念を理解することで、プログラミングがより身近に感じられるはずです。最初は難しく感じるかもしれませんが、実際に手を動かしながら学習すれば、必ず理解できるようになります。
次のステップ: プログラミング学習の始め方で、具体的な学習方法を確認し、おすすめプログラミングスクールで効率的な学習環境を見つけましょう。