制御構造と表現手法
標準約 32 分6 用語過去問 18 題
この単元の目標
- 3 つの 基本制御構造 を、処理の進み方 (一本道か、分かれるか、戻るか) で見分けられる
- 繰返しの 前判定 と 後判定、継続条件 と 終了条件 の違いを説明できる
- 流れ図 の主な図記号と 擬似言語 の基本の書き方を読み、変数の値の変化をたどれる
用語総表(6 語)
用語
順次 は、処理を書かれた順に上から 1 つずつ実行していく制御構造である。
アルゴリズム は目的を果たすための処理の手順のことで、どんな手順も順次に 選択 と 繰返し を加えた 3 つの 基本制御構造 の組合せで書ける (構造化定理)。順次では分かれ道も戻りもなく、処理が一本道で進む。
たとえカップ麺を作るときに、お湯を注ぐ、待つ、ふたを開ける、を書いてある順にこなすのと同じ。
出題のポイント
- 出題アルゴリズムは特定の目的を果たすための処理の手順そのものを指す。書き表す言語を変えても、手順の中身は変わらない。
- 出題繰り返す範囲に並べた複数の処理も順次で実行され、1 周ごとに上から同じ順で実行し直される。
この用語の過去問 2 題 順次 →
選択 は、条件 が成り立つ (真) か成り立たない (偽) かによって、次に実行する処理を切り替える制御構造である。
分岐 とも呼び、図で描くときはひし形の 判断 の記号から真と偽 (Yes と No) などの結果ごとに線を出す。選択の中に別の選択を入れると、3 通り以上に処理を分けられる。
たとえ駅の改札で、切符が有効なら扉が開き、無効なら閉じたままになる仕組み。
覚え方英語では selection、プログラムでは if (もし) で始める書き方が多い。
出題のポイント
- 出題選択の内側に別の選択を入れる (入れ子にする) と、外側の条件で進んだ側にある内側の条件で、更に処理が分かれる。
- 出題判断を縦に並べてデータを区分ごとに振り分けるときは、該当する件数の多い区分を先に調べるほど比較の合計回数が減る。
この用語の過去問 2 題 選択 →
繰返し は、条件を判定しながら同じ処理の範囲 (本体) を繰り返し実行する制御構造で、ループ ともいう。
← 図は横にスクロールできます →
条件を調べる位置によって、処理の前に調べる 前判定 と、処理の後に調べる 後判定 がある。条件には、成り立つ間続ける 継続条件 と、成り立ったら抜ける 終了条件 の書き方がある。回数を決めて回すときは、変数の 初期値・増分・終値 を指定する。
たとえ階段を上るときに、まだ上の段があるかを確かめ、あれば 1 段上がり、なくなったら止まる動き。
覚え方ループ (loop) は英語で「輪」の意味。判断の記号で描く図では矢印が輪のように上へ戻り、同じ範囲をもう一度通る。
出題のポイント
- 出題繰返しの結果を求めるには、1 周ごとに変数の値を書き出し、終了の判定が成り立つ周で止める。
- 出題1 ずつ数える繰返しでは、カウンタの初期値と終了判定の境目 (未満か以下か) の組合せで実行回数が決まる。どちらかを 1 ずらすと回数も 1 回ずれる。
- 出題変数を初期値から増分ずつ変えて終値まで回す繰返しでは、変数がとる値の並び (例えば 1 から 9 まで 4 ずつなら 1, 5, 9) が本体の計算に使われる。
この用語の過去問 3 題 繰返し →
流れ図 は、処理の手順を決められた図記号と矢印 (流れ線) でつないで表した図である。
主な図記号には、例えば開始と終了を示す 端子、計算などを表す 処理、条件で道を分ける 判断、繰返しの範囲を上下から挟む ループ端 がある。上から下、左から右へ読むのが基本で、それ以外の向きに進むときは矢印で示す。3 つの基本制御構造は、記号を縦につなぐ形、判断で分かれる形、ループ端で挟む形 (または判断から上へ戻る形) で描ける。
たとえ道案内の地図に、分かれ道と回り道を決まった印で書き込み、矢印で進む向きを示したもの。
出題のポイント
- 出題ループ端には、繰返しの条件か、変数の初期値・増分・終値を書く。条件を終了条件として書いたときは、ループ端の位置で判定して成り立てば繰返しを抜ける。
- 出題流れ図の結果は、データごとに判断の分岐を線に沿ってたどって求める。ある枝へ進んだデータは、別の枝にある判断を通らない。
この用語の過去問 2 題 流れ図 →
フローチャート は流れ図の英語名 (flowchart) で、同じ図を指す。
呼び名が違うだけで、使う記号も読み方も流れ図と同じである。プログラムの処理手順に限らず、仕事の進め方を図にするときにも使う。
覚え方flow (流れ) と chart (図) をそのまま訳すと「流れ図」になる。
出題のポイント
- 出題フローチャートは、プログラムなどの処理の順序と分かれ道を、図記号でたどれるように描いた図である。
- 混同注意データフローダイアグラム (DFD) は、データがどこから来てどの処理を通り、どこへ蓄えられるかを描く図である。フローチャートが描くのは処理を行う順序である。
この用語の過去問 1 題 フローチャート →
擬似言語 は、特定のプログラム言語の文法に縛られずに、アルゴリズムを文章に近い決まった書式で記述する表記法である。
2022 年度以降の過去問で使われている書式では、代入を「←」で表し、右側の式の値を左側の変数に入れる。選択は if 〜 endif、繰返しは while 〜 endwhile や for 〜 endfor で挟み、字下げで本体の範囲を示す。処理をまとめた関数では、受け取る値を 引数、返す値を 戻り値 と呼ぶ。
たとえどの店の厨房でも使えるように、決まった記号と言い回しだけで書いたレシピのメモ。
覚え方「擬似」は「本物に似せた」の意味。本物のプログラム言語に似せた書き方である。
出題のポイント
- 出題「a ← a × 2」は等式ではなく、今の a を 2 倍した値で a を置き換える代入である。
- 出題while の条件は継続条件であり、成り立つ間だけ本体を実行し、成り立たなくなったら endwhile の次へ進む。
- 出題for の中に if があると、各周で条件を判定し、真なら if 側、偽なら else 側の処理を実行する。else が無ければ、偽の周では if と endif の間の処理を実行しない。
この用語の過去問 3 題 擬似言語 →
要点
- どのアルゴリズムも、順次・選択・繰返しの 3 つの基本制御構造の組合せで書ける。
- 流れ図とフローチャートは同じ図を指す呼び名で、端子や判断、ループ端などの記号で手順を描く。
- 擬似言語の「←」は代入で、右側の式の値で左側の変数を置き換える。
- 回数を決めた繰返しでは、変数の初期値・増分・終値によって実行回数と変数がとる値が決まる。
この分野の過去問をすべて見る →