アルゴリズムをコンピュータに実行させるには、プログラミング言語で書き表す必要があります。この講義では、Python風の表記を使いながら、どの言語にも共通する基本要素 — 変数・条件分岐・繰り返し・配列・関数 — を学びます。
変数と代入
変数は、値を入れておく「名前付きの箱」です。変数に値を入れることを代入と呼び、「=」で表します。数学の等号と違い、プログラミングの「=」は「右の値を左の変数に入れる」という意味です。
x = 10(xに10を入れる)x = x + 5(今のxの値10に5を足した15を、あらためてxに入れる)実行後、xの値は15になります。「x = x + 5」は方程式ではなく「xを5増やす」という命令です。
条件分岐(if文)
条件によって処理を切り替えるにはif文を使います。条件が成り立つ(真の)ときはifの中を、成り立たない(偽の)ときはelseの中を実行します。
score = 72
if score >= 60:
print("合格")
else:
print("不合格")
この例では score が72で「score >= 60」が真なので、「合格」と表示されます。条件には ==(等しい)、!=(等しくない)、<、>、<=、>= などの比較演算子を使います。
繰り返し(for文・while文)
同じ処理を何度も行うには繰り返しを使います。for文は回数や範囲を決めて繰り返し、while文は条件が成り立つ間繰り返します。
goukei = 0
for i in range(1, 11):
goukei = goukei + i
print(goukei)
range(1, 11) は「1から10まで」を意味します(11は含まれない点に注意)。iが1、2、3…10と変わりながらgoukeiに加算され、最終的に 1+2+…+10 = 55 が表示されます。
配列(リスト)と関数
複数の値をまとめて扱うには配列(Pythonではリスト)を使います。tokuten = [80, 65, 92] のように書き、tokuten[0] で最初の要素(80)を取り出せます。番号(添字)は0から始まることに注意しましょう。
また、一連の処理に名前を付けて再利用できるようにしたものが関数です。def heikin(a, b): return (a + b) / 2 のように定義すれば、heikin(80, 60) と呼び出すだけで70が得られます。関数を使うとプログラムが整理され、同じ処理を何度も書かずに済みます。
- 「=」は代入。「x = x + 5」は「xを5増やす」という意味。
- if〜elseで条件分岐。条件式には比較演算子(==、>=など)を使う。
- for文は決まった回数、while文は条件が真の間繰り返す。range(1, 11)は1〜10。
- 配列の添字は0から始まる。tokuten[0]が最初の要素。
- 関数は処理のまとまりに名前を付けたもの。プログラムの再利用性が高まる。
練習問題
- 「a = 5」のあとに「a = a + 3」を実行した。aの値を答えなさい。
- 「for i in range(5):」と書いたとき、繰り返しは何回実行されるか。またiはどの値からどの値まで変化するか答えなさい。
- 本文の「1から10までの合計」のプログラムで、range(1, 11) を range(1, 101) に変えると何が表示されるか答えなさい。
解答・解説
- 解答:8
解説:a = a + 3 は「今のaの値5に3を足した8をaに入れ直す」という代入。 - 解答:5回。iは0から4まで変化する
解説:range(5)は0, 1, 2, 3, 4を意味する。開始を省略すると0から、終わりの値そのものは含まれない。 - 解答:5050
解説:1から100までの合計。等差数列の和の公式 100×(1+100)÷2=5050 でも確かめられる。