markdown
プログラミング基礎の入口md 8e718d3
lecture/information/programming/プログラミング基礎の入口-講義.n.md
Download as PDF
プログラミング基礎の入口
informationprogrammingundergraduatelecture
導入
この講義で最重要なのは、プログラムは「状態を持ち、その状態を条件にしたがって更新していく手順」として読むことです。
コードを一行ずつ眺めるだけでは、何を入力として受け取り、どの時点で値が変わり、どこで処理が終わるのかが見えにくいです。この講義では、変数、条件分岐、反復、関数の役割を整理します。
用語と定義
変数 とは、値を保存し、途中で更新できる名前つきの箱です。
条件分岐 とは、条件に応じて実行する処理を分けることです。
反復 とは、同じ種類の処理を繰り返すことです。
関数 とは、入力を受け取って出力を返すひとまとまりの処理です。
方針
まず「何が変わるか」を変数として見ます。つぎに「どこで道が分かれるか」を条件分岐で見ます。そのあと、「どこまで繰り返すか」を反復で見て、最後に関数で処理を分割します。
直感的な説明
たとえば合計点を求めるプログラムでは、点数を足していくための変数があり、科目数ぶんだけ反復し、入力が不正なら分岐で止めることがあります。これらがどうつながっているかを自然言語で説明できることが、コードを書く前の基礎です。
厳密な説明
1. 状態の更新
変数 x に新しい値を代入することは、状態を更新することです。
2. 条件分岐
「もし x>0 なら A、そうでなければ B」という形は、場合分けを明示したものです。
3. 反復
n 個の要素を順番に処理するなら、反復はふつう n 回 実行されます。これが計算量にもつながります。
見分け方
- 値の変化を追いたいなら、まず変数の役割を書き出します。
- 分岐が多いときは、条件を日本語で言いなおします。
- 同じ形の処理が続くなら、反復や関数でまとめられないか考えます。
最終形
\boxed{\text{状態} \rightarrow \text{分岐} \rightarrow \text{反復} \rightarrow \text{関数化}}
一言でいうと
- プログラミングの基礎は、コードを記号の列ではなく、状態を更新する手順として読むところから始まります。