この教材の学習目標

読み終えたら、できること。

  • 順次・分岐・反復をフローチャートから読み取れる
  • 変数の変化を表に書き、終了時の値を求められる

読む前に:変数は値を保持する名前です。「x ← 3」は、xに3を代入することを表します。

この教材の目次

身近な「なぜ?」から。

自動販売機は「金額が足りるか」で処理を分けます。料理では「火が通るまで」同じ確認を繰り返します。身近な手順を図にするのがフローチャートの出発点です。

アプリ収録の単元図解

まず、図で全体像をつかもう。

「情報1」アプリの「アルゴリズムの基礎」の図解。画像を加工せず、そのまま掲載しています。

図のフローは基本構造の概要です。本文の具体例では、条件を調べる位置・変数の更新・戻る矢印を一つずつ確認します。探索や整列の詳細はこの教材の確認範囲外です。

01読むときのルールは3つ。

配置ではなく、矢印に沿って進みます。

ひし形の条件で、はい・いいえの道を選びます。

変数の値を書き残して追いかけます。

02順次・分岐・反復を見つける。

順次は順番に、分岐は条件で道を選び、反復は同じ処理を繰り返します。「雨なら傘を持つ」は分岐、「1から3まで足す」は反復で表せます。

代表的なフローチャートの記号
端子(丸みのある形)開始・終了を示す。
処理(長方形)計算や代入などの処理を示す。
判断(ひし形)条件を調べ、結果に応じて道を選ぶ。
入出力(平行四辺形)データの入力や表示などを示す。
流れ線(矢印)処理の進む向きを示す。

下の図では、終了側の表示処理を簡略化して端子とまとめています。問題ごとの図の表記と条件も確認しましょう。

開始s ← 0, i ← 1i ≤ 3?s ← s + ii ← i + 1sを表示・終了はいいいえ
←は代入。「s ← s + i」は、計算した結果を新しいsにします。

03値の変化を、1行ずつ。

上の図は1+2+3を計算します。頭の中だけで追わず、表にしてみましょう。

タイミングsi
初期値01
1回目の処理後12
2回目の処理後33
3回目の処理後64

iが4になると条件は「いいえ」。表示するsは6です。条件の確認は4回、加算の実行は3回です。

重要語句を整理しよう。

この教材で使う言葉
アルゴリズム目的を達成するための、明確な処理の手順。
フローチャート処理の流れを記号と矢印で表した図。
順次処理を順番に実行すること。
分岐条件によって実行する処理を選ぶこと。
反復条件や回数に従って処理を繰り返すこと。
トレース処理を順に追い、変数の値などを確かめること。

代表3問の前に / 一緒に解く例題

本文の内容で、ひとつ確かめよう。

本文のフローチャートで、iが2の回を始める直前、sは1です。この回の処理後のsとiは?

考える手順を見る
① s ← s+i で、sは1+2=3。
② i ← i+1 で、iは3。
③ 次の条件判定はi=3で行います。

上の図の「sに足す→iを増やす→条件へ戻る」を指で追ってから、代表問題へ進みましょう。

CHECK YOUR UNDERSTANDING

3問で、確かめよう。

基礎→標準→応用の代表3問。迷ったらヒントを開き、解いた後に図解で確かめましょう。

Q1 · 基礎変数 x の初期値を 10 とし、以下の処理を 3 回繰り返すフローチャートを実行した後の x の値はいくつか。
1. x = x * 2
2. x = x - 5
確認問題1のフローチャート開始後xを10、iを1にする。iが3以下ならxを2倍し、5を引き、iを1増やして条件へ戻る。いいえならxを表示して終了する。開始x ← 10, i ← 1i ≤ 3?x ← x × 2x ← x − 5i ← i + 1xを表示終了はいいいえ
アプリ収録問題の処理を、Web用の流れ図にしたものです。初期化→条件→2つの処理→回数の更新を追いましょう。

値の変化を追う

考え方のヒント

1回分は「2倍する→5を引く」の2つの処理です。紙に3行の記録欄を作りましょう。

▧ 図解で考え方を見る解答を含みます+

アプリ収録の解説図を加工せず掲載しています。文字が小さい場合はタップで拡大できます。

Q2 · 標準フローチャートの条件分岐(ひし形)の中に、「score >= 80 かつ absent < 5」という条件がある。この条件が「偽(No)」となるケースとして適切なものはどれか。

条件を判定する

考え方のヒント

scoreは点数、absentは欠席回数を表す名前です。>= は「以上」、< は「未満」です。

▧ 図解で考え方を見る解答を含みます+

アプリ収録の解説図を加工せず掲載しています。文字が小さい場合はタップで拡大できます。

Q3 · 応用1から10までの整数のうち、偶数のみを合計して表示するアルゴリズムをフローチャートで作成した。このとき、ループ内の処理として最も適切なものはどれか。なお、初期値として合計値 sum は 0、カウンタ i は 1 とし、i が10以下の間、処理を繰り返すものとする。

条件と反復を組み合わせる

考え方のヒント

% は割った余り、== は等しいかの判定です。「i % 2 == 0」はiが偶数かを調べます。

▧ 図解で考え方を見る解答を含みます+

アプリ収録の解説図を加工せず掲載しています。文字が小さい場合はタップで拡大できます。

解答・解説だけ読む
問1:C

初期値 x=10。各反復で「2倍して5を引く」処理を行う。1回目:10×2−5=15、2回目:15×2−5=25、3回目:25×2−5=45。よって答えは45。フローチャートの反復・順次構造を正確にトレースすることが重要です。

問2:D

かつ(AND)条件では、両方の比較式が「真」であるときにだけ全体が「真」になります。したがって全体が「偽」になるのは、少なくとも一方が偽のときです。score = 85, absent = 2 は 85 >= 80 が真、2 < 5 も真なので全体は真。score = 80, absent = 0 は 80 >= 80 が真(80 を含む点に注意)、0 < 5 も真なので全体は真。score = 90, absent = 4 は 90 >= 80 が真、4 < 5 も真なので全体は真。score = 79, absent = 4 は 79 >= 80 が偽なので、4 < 5 が真であっても全体は偽になります。「以上(>=)はその値を含む」「未満(<)はその値を含まない」という境界値の扱いが、共通テストでは繰り返し問われます。

問3:A

アルゴリズムの基本構造である「反復」の中に「分岐」を組み込む問題です。偶数のみを足すには、カウンタ i を2で割った余りが0であることを判定し、真の場合のみ合計に加算します。加算の有無に関わらず、次の数字に進むための i = i + 1 は分岐の外側(または加算処理の後)で毎回実行しなければ、無限ループに陥るか、奇数の時にカウントが進まなくなります。

YOUR NEXT STEP

次は、条件の違う問題へ。

理解したことを、別の問題でも確かめてみましょう。「情報1」アプリでは、分野別の演習や間違えた問題の復習ができます。

全機能無料広告なし登録不要
App Storeで無料入手 ↗Android版はこちら ↗iPhone・iPad向けの掲載情報を基に紹介しています。Android版の機能は掲載ページをご確認ください。運営者が開発するアプリです。

説明できたら、この教材は完了。

  • 図の位置ではなく矢印に沿って進める
  • 条件が真・偽になる境界の値を確かめられる
  • 繰り返しを抜ける直前と直後の値を区別できる

説明できない項目は、要点や例題に戻って確認しましょう。

出典・教材について

文部科学省 アルゴリズムとフローチャートの授業資料 ↗

代表問題3問と対応する解説図は、運営者の「情報1」アプリ収録教材から選んで掲載しています。共通テストの実際の問題の転載ではありません。本文にはアプリの単元図解と、具体例を追うためのWeb補助図を掲載しています。