はじめてLESSON 01
この教材で学ぶこと OS・ファイル・プロセスと、入力から出力までの流れを学びます。コンピュータとプログラム入門
対象読者: プログラミングを初めて学ぶ人。専門用語を知らなくても始められます。
この教材でできるようになること
- ハードウェア、OS、アプリケーションの役割を区別できる
- ソースコードが実行されるまでの流れを説明できる
- ファイル、プロセス、メモリ、標準入出力の意味を説明できる
- 小さなプログラムを「入力・処理・出力」に分けられる
1. コンピュータを三つの層で見る
コンピュータを最初から細部まで覚える必要はありません。まず次の三層で捉えます。
| 層 | 役割 | 例 |
|---|---|---|
| ハードウェア | 物理的に計算・保存・通信する | CPU、メモリ、SSD、NIC |
| OS | ハードウェアを管理し、アプリに共通機能を提供する | Windows、macOS、Linux |
| アプリケーション | 利用者の目的を実現する | ブラウザ、エディタ、ゲーム |
アプリケーションがファイルを読みたいとき、SSDを直接操作するのではなく、OSへ依頼します。ネットワーク通信や画面表示も同様です。この境界を知ると、エラーが「コード」「OS」「機器」のどこで起きたかを切り分けやすくなります。
2. プログラムとは何か
プログラムは、コンピュータに実行させる手順を、決められた言語で表したものです。多くの処理は次の形に整理できます。
入力 → 処理 → 出力
たとえば税込価格を求める処理なら、入力は税抜価格、処理は税率を掛ける計算、出力は税込価格です。
price = 1200
tax_rate = 0.10
total = round(price * (1 + tax_rate))
print(total)
この短いコードにも、値を保存する変数、計算、関数呼び出し、画面への出力があります。
3. ソースコードが動くまで
人が書くテキストをソースコードと呼びます。実行方式は大きく二つあります。
- コンパイル: 事前に別の実行形式へ変換する
- インタープリト: 実行環境がコードを読みながら処理する
現実の言語処理系は、両方の考え方を組み合わせることがあります。最初は「書いた文字列をCPUがそのまま理解するわけではなく、処理系が橋渡しする」と理解できれば十分です。
4. 実行中のプログラムはプロセスになる
保存されたコードや実行ファイルを起動すると、OSは実行中の単位であるプロセスとして管理します。プロセスには次のような資源が割り当てられます。
- メモリ領域
- プロセスID
- 開いているファイル
- 標準入力・標準出力・標準エラー
- 実行権限
同じアプリを二つ起動すれば、通常は別々のプロセスになります。「ファイルは保存物、プロセスは実行中の活動」と区別しましょう。
5. ファイルとディレクトリ
ファイルはデータへ名前を付けて保存したもの、ディレクトリはファイルを階層化する入れ物です。
hello-project/
├── README.md
├── src/
│ └── main.py
└── tests/
└── test_main.py
拡張子は用途を伝える手掛かりですが、ファイルの内容そのものではありません。パスには、起点からすべて示す絶対パスと、現在位置を基準にする相対パスがあります。
6. エラーは失敗ではなく観測結果
エラーは、コンピュータが現在の状態を説明する情報です。
| 種類 | 例 | 最初に見ること |
|---|---|---|
| 構文エラー | 記号の閉じ忘れ | 行番号と直前の記述 |
| 実行時エラー | 存在しないファイル | エラー種別と入力値 |
| 論理エラー | 実行できるが結果が違う | 期待値と実際値 |
| 環境エラー | コマンドが見つからない | インストール、PATH、版 |
メッセージを消すことではなく、期待と実際の差を小さくして原因を特定することがデバッグです。
演習: 自動販売機を分解する
「金額を入力し、購入できる飲み物を表示する」プログラムを、まだコードを書かずに整理してください。
- 入力を二つ以上挙げる
- 必要な処理を順番に書く
- 出力を挙げる
- 起こり得るエラーを三つ挙げる
解答例
- 入力: 投入金額、商品価格、在庫数
- 処理: 入力検証、残高との比較、在庫確認、釣銭計算
- 出力: 購入可否、商品、釣銭、エラー理由
- エラー: 負の金額、在庫切れ、釣銭不足
理解チェック
- OSとアプリケーションの役割を分けて説明できる
- ソースコードとプロセスの違いを説明できる
- 処理を入力・処理・出力へ分解できる
- エラー時にメッセージと再現手順を残せる
次に読む
開発環境とターミナル入門で、自分のPC上に安全な練習場所を作ります。