この資料では、「配列」について学びます。配列とは、同じ種類のデータをまとめて管理するためのデータ構造です。複数の変数を一つずつ用意する代わりに、配列を使うことで整理された形でデータを扱うことができます。
配列は、「同じ型のデータを複数まとめて管理する仕組み」です。たとえば、5人の点数を管理したいときに、次のように書く代わりに:
整数型: score1, score2, score3, score4, score5
配列を使うことで:
整数型の配列: scores
とまとめて宣言できます。 配列を宣言すると、メモリ上の連続した領域を確保します。
配列は、複数の値をまとめて初期化することもできます。
整数型の配列: value
value ← {10, 20, 30, 40}
このように、カンマで区切られた値が、1番目から順番に代入されます。
value[1] は 10
value[2] は 20
value[3] は 30
value[4] は 40
配列では、それぞれのデータを「要素」と呼び、**要素番号(添字)**を使ってアクセスします。 擬似言語では、配列の要素番号が「1から始まる」か「0から始まる」かは問題ごとに明示されます。必ず問題文の説明に従ってください。 問題としては通常「1から始まる」場合が多い。
実際の多くのプログラム言語では(CやPythonなど)では0から始まります。
例(1から始まる):
整数型の配列: scores
scores[1] ← 85
scores[2] ← 90
配列の処理には繰り返しが不可欠です。たとえば、すべての要素を1つずつ読み取るには、次のようにカウンター変数を添字として利用します:
整数型の配列: scores
整数型: i, total ← 0
for ( i を 1 から 5 まで 1 ずつ増やす )
total ← total + scores[i]
endfor
このように、繰り返し構文と配列の相性は非常に良いです。
配列の要素には、代入と参照を使ってアクセスします。
scores[1] ← 80x ← scores[1]このように、特定の位置(添字)を指定することで、その位置にあるデータに読み書きできます。
配列には要素数の上限があります。存在しない要素番号を指定すると、実際のプログラムではエラーになります。擬似言語ではエラーにならないように書かれていますが、現実のプログラミングでは注意が必要です。
例(範囲外アクセスの例):
整数型の配列: data
data[1] ← 10
x ← data[2] // この行は存在しない要素を参照 → 実際の言語ではエラー