配列を反復処理して集計するアルゴリズムを書く

配列を一回ずつ調べる集計の考え方を確認する14問と、手順を書く六つの記述課題です。

学年・内容の目安 高校「情報Ⅰ」。授業の復習や教材の準備に使えます。公開教材の利用条件を確認し、年少の生徒には講師が紙の教材を用意します。

学習用の練習の使い方

学習内容や既習事項に合わせて使う独自の練習です。文部科学省の認定教材や、教科書・入試の全範囲を網羅する教材ではありません。

解説を読む

配列の要素を一つずつ読み、合計や個数、最大値、平均を求める手順を書きます。短い例で処理の順を確かめます。

必要な予備知識

配列を並んだ値として読み、簡単な合計と平均を計算できること。

  1. 繰り返しを始める前に、合計や個数などを初期化します。
  2. 各要素の処理で、必要なときだけ値を更新します。
  3. 処理が終わる条件を示し、最後の結果を出します。

解き方の例

[2、6]の合計なら、0から始めて2を足し、次に6を足して8を出します。

よくある間違い

  • 個数を数えるときに、値そのものを足してしまう。
  • 最大値を探すときに、どんな配列でも0を初期値にしてしまう。
  • 配列の外側を読んだり、空の配列の平均を求めようとしたりする。

資料と考え方を講師と確かめる

初めの値、繰り返し、条件による更新、出力を明示します。同じ結果になる別の書き方も考えます。

手順は擬似コード、箇条書き、図で表せます。書いた手順はこのページでは実行されません。手順を残すときは、印刷したワークシートや自分のファイルに書き、講師と確かめます。

文部科学省:高等学校学習指導要領解説 情報編 · 文部科学省:「情報Ⅰ」教員研修用教材

読む文章・資料

合計する値を順に加える

資料Aでは、架空の回収箱に入った個数を配列[3、0、5、2]に記録しました。合計を0から始め、左から一つずつ読み、読んだ値をそのたびに加えます。空の配列では加える処理を行いません。

条件に合う要素を数える

資料Bの配列は[7、12、9、10、12]です。10以上の値が何個あるかを調べます。条件を満たしたときだけ個数を1増やします。同じ値が別の位置に現れた場合は、それぞれ数えます。

条件に合う値だけを足す

資料Cの配列は[4、1、6、3]です。4以上の値だけを合計に足します。合計の初めの値は0で、条件に合わない値を読んだときは合計を変えません。

最大値を最初の要素から探す

資料Dの配列は[−6、−3、−8、−5]です。空でない配列を受け取ります。最初の値を仮の最大値にして、二番目から順に読み、仮の最大値より大きい値があれば更新します。

合計と個数から平均を出す

資料Eで配列[2、4、9]の平均を出すため、合計と個数をそれぞれ0にします。値を一つ読むたびに、その値を合計に加え、個数を1増やします。全部読み終えたら、個数が0でない場合に合計を個数で割ります。

繰り返しの開始位置と終わりを決める

資料Fでは、要素が四つの配列に、0から始まる添字(位置番号)を付けます。全要素を調べるため、位置番号を0から始め、要素数より小さい間、そこにある値を読んでから位置番号を1増やします。

手順を別の入力でも確かめる

資料Gでは、値が5以上の要素を数える手順を試します。試したいのは、境目の5が入るか、空の配列で0になるか、同じ値が二つあれば二回数えるかです。入力と予想される出力を一組ずつ書きます。

練習する

選択問題では答えを一つ選び、入力問題では指定された形式で答えます。判断の根拠や途中の手順は、記述課題で講師と確認します。

入力した答えは、ページを再読み込みするか離れるまで、このページのメモリ上に保持されます。保存済みの下書き、アカウントの成績、自動の宿題提出は作成されません。

確認問題・資料・講師と使う課題

  1. 資料:合計する値を順に加える

    資料Aの配列を最後まで読んだ合計はいくつですか。数値を入力します。

    答えと解説

    10

    3+0+5+2=10です。

  2. 資料:合計する値を順に加える

    資料Aで、値を読む前に合計を0にする理由はどれですか。

    • 先に配列の一番目を読んだことにするため。
    • まだ足した値がない状態から始めるため。
    • 四つの値が同じか確認してから読むため。
    答えと解説

    まだ足した値がない状態から始めるため。

    足す前に合計を0にしておくと、最初に読んだ値を一度だけ加えられます。

  3. 資料:条件に合う要素を数える

    資料Bの配列で10以上の値は何個ありますか。数値を入力します。

    答えと解説

    3

    12、10、別の位置の12を数えるので3個です。

  4. 資料:条件に合う要素を数える

    資料Bで条件を満たす値を一つ読んだとき、個数をどう変えますか。

    • 読んだ値をそのまま個数に置き換える。
    • 個数に、読んだ値そのものを足す。
    • その時点の個数に1を足す。
    答えと解説

    その時点の個数に1を足す。

    調べるのは値の大きさの合計ではなく、条件に合う要素の個数です。

  5. 資料:条件に合う値だけを足す

    資料Cで条件に合う値を足し終えた合計はいくつですか。数値を入力します。

    答えと解説

    10

    4と6を加えるので、合計は10です。

  6. 資料:条件に合う値だけを足す

    資料Cで値1を読んだ直後の合計は、直前と比べてどうなりますか。

    • 合計は、その前の値のまま。
    • 合計に1が足されて増える。
    • 合計が1に置き換わる。
    答えと解説

    合計は、その前の値のまま。

    1は4以上でないため、合計を変えません。

  7. 資料:最大値を最初の要素から探す

    資料Dで全要素を調べ終えた最大値はいくつですか。数値を入力します。

    答えと解説

    −3

    最初は−6です。−3で更新し、−8と−5では更新しません。

  8. 資料:最大値を最初の要素から探す

    資料Dで仮の最大値を0から始めると、どんな問題が起きますか。

    • 負の値の中でも最初の−6が最大と出る。
    • 配列にない0を最大と判断してしまう。
    • 負の値の中でも最後の−5が最大と出る。
    答えと解説

    配列にない0を最大と判断してしまう。

    どの要素も0より大きくないので、仮の最大値が更新されません。

  9. 資料:合計と個数から平均を出す

    資料Eの配列の平均はいくつですか。数値を入力します。

    答えと解説

    5

    2+4+9=15を、値の個数3で割ります。

  10. 資料:合計と個数から平均を出す

    資料Eで配列が空の場合、割り算を行わないのはなぜですか。

    • 空の配列の個数は合計と等しくないから。
    • 割る前に最後の要素をもう一度足すから。
    • 個数が0で、その値で割れないから。
    答えと解説

    個数が0で、その値で割れないから。

    配列が空なら個数は0であり、この平均は定義できません。

  11. 資料:繰り返しの開始位置と終わりを決める

    資料Fで実際に値を読む位置番号の並びはどれですか。

    • 0、1、2、3。
    • 1、2、3、4。
    • 0、1、2、3、4。
    答えと解説

    0、1、2、3。

    位置番号が要素数4より小さい間だけ読むため、最後に読む番号は3です。

  12. 資料:繰り返しの開始位置と終わりを決める

    資料Fで「要素数より小さい」を「要素数以下」に替えると何が起こりますか。

    • 最後の要素を読まずに終わる。
    • 存在しない位置番号4も読もうとする。
    • 最初の値を二回読むようになる。
    答えと解説

    存在しない位置番号4も読もうとする。

    「以下」では4も条件を満たしますが、4個の要素の位置番号は0〜3です。

  13. 資料:手順を別の入力でも確かめる

    資料Gで境目の5が数に入るかを一つの要素で試す組合せはどれですか。

    • 入力[4]、予想0。
    • 入力[6]、予想1。
    • 入力[5]、予想1。
    答えと解説

    入力[5]、予想1。

    「5以上」は5を含むため、ちょうど5を入れて1と予想します。

  14. 資料:手順を別の入力でも確かめる

    資料Gで同じ値を別の要素として数えるかを試す組合せはどれですか。

    • 入力[6、6]、予想2。
    • 入力[3、3]、予想1。
    • 入力[6、3]、予想2。
    答えと解説

    入力[6、6]、予想2。

    6が二か所にあり、どちらも条件を満たします。

資料と考え方を講師と確かめる

資料:合計する値を順に加える

資料Aの配列を受け取って合計を出す手順を、擬似コードか箇条書きで書きましょう。初めの値、繰り返す内容、出力を含めましょう。

答えと解説

合計←0。配列の各値について、合計←合計+その値。全要素を読み終えたら合計を出力する。

値を直接たどる書き方でも、位置番号で一つずつ読む書き方でもかまいません。

  • 合計を0にして、全要素を一度ずつ読むと示す。
  • 各値を合計に足し、繰り返しが終わってから合計を出力する。

資料:条件に合う要素を数える

資料Bの配列から、10以上の値の個数を出す手順を書きましょう。10ちょうどの場合と、同じ値が続く場合も処理できるようにしましょう。

答えと解説

個数←0。配列から順に一つずつ値を読む。読んだ値が10以上なら個数を1増やす。全要素を読み終えたら個数を出力する。

値が10未満なら、個数を変えず次の要素に進みます。

  • 個数を0で始め、別の位置の同じ値も一つずつ処理する。
  • 10を含む条件で個数を1増やし、最後に個数を出す。

資料:条件に合う値だけを足す

資料Cと同じように、今度は値が3より大きい要素を足す手順を書きましょう。配列[3、2、5]に対する出力も示しましょう。

答えと解説

合計←0。全要素を順に読み、値が3より大きい場合だけ合計に足す。最後に合計を出す。例では3と2を足さず、5を足すので出力は5。

条件を満たす値の合計と、条件を満たす個数を区別します。

  • 0で始め、3を含めない条件で該当値だけを足す。
  • 例の出力を5とし、3を足さないことを示す。

資料:最大値を最初の要素から探す

資料Dの手順を、空でない配列の最大値を求める擬似コードか箇条書きで表しましょう。負の値しかない配列でも使えるようにしましょう。

答えと解説

仮の最大←最初の値。二番目から最後まで各値を読み、仮の最大より大きければ入れ替える。終わったら仮の最大を出す。

最初を含めて全要素を比較する形でも、結果が同じなら使えます。

  • 仮の最大を配列中の最初の値で初期化する。
  • 残りを調べて大きい値で更新し、最後に最大値を出す。

資料:合計と個数から平均を出す

資料Eのように配列の平均を求めます。合計と個数の更新、割り算を行う時点、配列が空の場合に出す表示を手順に入れましょう。

答えと解説

合計と個数を0にし、値を読むたびに合計に足し、個数を1増やす。全部読んだら、個数が0なら「データなし」、そうでなければ合計÷個数を表示する。

「データなし」以外にも、平均を出せないと明確に伝わる表示を認めます。

  • 各値について合計と個数を更新すると示す。
  • 繰り返しの後に分岐し、個数が0なら割らず、そのほかは合計÷個数を出す。

資料:手順を別の入力でも確かめる

資料Gの条件を使い、境目、空の配列、同じ値の繰り返しを別々に試す入力と予想出力を一つずつ書きましょう。

答えと解説

[5]なら1、[]なら0、[6、6]なら2です。

同じ値の例は[5、5]などでもかまいません。

  • 境目5を含む例と空の例を作り、それぞれ正しい個数を示す。
  • 条件に合う同じ値を二回以上置き、出現した回数を正しく示す。

ワークシート

印刷用PDFを教材としてアップロード · 宿題に添付

学習内容と参考資料

日本の学習指導要領

高等学校「情報Ⅰ」(3)。イ(イ)の平均・最大値などを求めるアルゴリズムの考案と表現。 · 2026-11-09

学習内容と参考資料

文部科学省 · 冊子31ページ。「情報Ⅰ」のコンピュータとプログラミング。

文部科学省 · 冊子33ページ。イ(イ)の平均・最大値などを求めるアルゴリズムの考案と表現。

授業・宿題・次の記録につなげる

資料をもとにした判断や計算の手順を、生徒と一緒に確かめましょう。印刷する場合は生徒用と講師用を分け、記述課題は講師用の基準で確認します。年少の生徒には講師が紙の教材を用意します。生徒用のログインを使う場合は、利用条件と同意の手順を確認してください。

講師の方へ

教材にリンクを保存し、必要なときに生徒と共有できます。

この練習問題を保存