20.配列と繰り返し
DNCL 速習
サンプルの問題7

サンプルの問題7の4行目から7行目の赤い枠のところが、「回数を指定する」繰り返しとなっています。

👩‍🏫「配列」を扱うときは、「繰り返し」を使うと便利 👨‍🏫

この「回数を指定する」繰り返しの、1つずつ増えていくカウント変数を利用すれば、配列の要素の中の値を順番に取り出すことができます。

そのとき、カウント変数の「開始」を「0」から始めるのがポイントです。また、カウント変数の「終了」は「添字の最大値」になります。
それで、サンプルの問題7の配列の添字の最大値は「4」ですから、カウント変数「 i 」の開始は「0」から終了は「4」までになり、5回繰り返すことになります。

よくある勘違いが、繰り返す回数が「5回」なので、カウント変数の終了を「5」にしてしまうというものです。
そうすると、カウント変数の値が配列の添字の最大値を超えてしまいます。そうなると、指定された要素がないためにエラーになってしまいます。
繰り返しを使って配列を扱うときの、一番多いミスなので気をつけるようにしてください。

👩‍🏫 配列の計算処理 👨‍🏫

サンプルの問題7の3行目ですが、この部分ではテストの最高点と平均点を求めるために必要となる変数に「0」を代入しています。
このように、最初に変数に「0」を代入しておくことを、「変数の初期化」といいます。

次に、サンプルの問題7の5行目から7行目までの処理について見てみましょう。
この部分では、平均点を算出するための総合計と、最高点を取得する処理を行っています。

まず5行目で、変数「goukei」に自己代入を使って配列の中の値を順に加算しています。この1行だけで、配列の中の値の総合計を得ることができます。
そして、繰り返しを抜けた8行目で、総合計をテストの回数の「5」で割ることで、変数「heikin」に平均点が入ることになります。

次は6行目と7行目ですが、ここでは変数「saikou」の中の値と配列の中の値を順に比較して、配列の中の値が変数「saikou」の中の値より大きい場合は、変数「saikou」に配列の中の値を代入しています。
これで、繰り返しが終了すると変数「saikou」の中には、配列の中の値の最大値が入っています。

毎回の繰り返しでの、各変数の値の変化を以下の表で確認して、処理の内容を理解するようにしましょう。

繰返し回数カウント変数
添字の値
配列の値goukeiの値saikouの値
828282
6815082
7322382
9832198
5637798

では、それぞれの値がほんとうにこの表のようになるか、確かめることにしましょう。

サンプルの問題7のプログラムを少し変更して、繰り返しの中で変数の値を表示するようにしてみました。
実行結果を見て、上の表と比べてみてください。

🧭 使用例

💻1

配列の中の各数値が、「偶数」のときには「○は偶数です。」と表示し、「奇数」のときには「○は奇数です。」と表示するプログラムです。
繰り返しの中の処理をどうしているかを、まずよく確かめてください。

📖 解説

👩‍🏫 配列の要素数は、「10」です。

それで、「添字」はからまでですから、「開始が0」からで「終了は9」までになります。
そして、繰り返しの中で配列の要素の中の値を順に取得して、偶数かそれとも奇数かを判定し、判定結果をそれぞれ出力させています。


💻2

配列の中の樹木名の中に、「さくら」が含まれているかどうかを判定して、含まれている場合は「さくらが含まれています。」と表示させるプログラムです。

📖 解説

👨‍🏫 配列の要素数は、「6」です。

それで、「添字」はからまでですから、「開始が0」からで「終了は5」までになります。
配列の要素の中の値を繰り返しの中で順に取得し、「さくら」の文字列と等しいかどうか照合し判定を行っています。
その判定結果は、変数「kekka」に入ります。

変数「kekka」は、繰り返しの前に「0」で初期化されていますので、最初は値が「0」です。
そして、「さくら」の文字列が配列の中の値と等しいときには、変数「kekka」に「1」が代入されます。

繰り返しが終了したら、最後に変数「kekka」の値が「0」かそれとも「1」かを確認しています。
もし、変数「kekka」の値が1なら配列の中の文字列に「さくら」が見つかったということになります。

💡 ポイント

  1. 配列」を扱うときは、「回数を指定」する繰り返しを使うと便利。
  2. 繰り返しの、1つずつ増えていくカウント変数を利用すれば、配列の要素の中の値を順番に取り出すことができる。
  3. カウント変数は、「開始」を「0」から始め「終了」は「添字の最大値」とする。