本文へ移動

プログラミングの基礎

固定ページ
目次

1.はじめに

なぜプログラミングを学ぶのか

  • コンピュータは何ができて何ができないか
  • 人間の曖昧さ vs コンピュータの厳密性
  • 「動く」と「理解している」は別

2.プログラミングとは

2.1 実際にやってみる

  • 簡単な処理を「人間に指示」してみる
  • 例:コーヒーを淹れる手順を他人に完全再現させる

2.2 なぜ失敗したか

  • 人間の暗黙知 vs 明示的な手順
  • 「抜け・曖昧さ・順序ミス」の分析

2.3 プログラミングとは何をしているのか

  • 手順の分解
  • 条件分岐
  • 繰り返し

3.考え方

3.1 問題設定

  • 例:HPを持つキャラクターが攻撃する

3.2 手続き型で解く

  • 実際にコードを書く
  • 状態を変数で管理

3.3 手続き型の限界

  • 誰が何をしているのか分かりにくい
  • 規模が大きくなると崩壊する

3.4 オブジェクト指向で解く

  • 同じ問題をオブジェクトで表現
  • クラス・メソッドを実際に書く

3.5 何が変わったか

  • 主語が変わる(関数 → オブジェクト)
  • 責任の所在が明確になる

4.オブジェクト指向の使いどころ

4.1 OOPが向いているケース

  • 現実世界のモデリング
  • 状態を持つもの(ユーザー、商品、キャラ)

4.2 向いていないケース

  • 単純な計算処理
  • 一回限りのスクリプト

4.3 よくある誤用

  • なんでもクラス化する
  • 設計より書きやすさを優先する

5.OOPの例題を解いてみよう!

5.1 問題分解の手順

  • 「何が登場人物か」を洗い出す
  • 「何ができるか」を考える

5.2 設計 → 実装

  • クラス設計
  • メソッド設計
  • 実装

5.3 改善

  • 責任が分散していないか
  • 不自然な依存関係がないか

6.練習問題

Lv1:単一オブジェクト

  • 犬クラス(状態+振る舞い)

Lv2:状態管理

  • 銀行口座

Lv3:相互作用

  • プレイヤー vs 敵

Lv4:設計力

  • 複数キャラ(役割の違い)

7.まとめ

  • 手続き型とは何か
  • OOPとは何か
  • どう使い分けるか
画像
参考イメージ.png