点数判定プログラムの作り方|合格・不合格を繰り返し表示するフローチャートと疑似言語を解説

C言語関連

試験の点数を入力し、条件によって「合格」「不合格」を表示する処理は、プログラミングの基本である「繰り返し処理」と「条件分岐」を理解するためによく使われる例題です。

この記事では、人数分の点数を入力して判定するプログラムを題材に、変数n(人数)、score(点数)、i(カウント変数)を使ったフローチャートの考え方と疑似言語の書き方をわかりやすく解説します。

点数判定プログラムで必要になる処理の考え方

今回の処理では、入力された人数分だけ同じ処理を繰り返す必要があります。そのため、まず何人分の処理を行うのかを変数nに保存します。

次に、1人分の点数を変数scoreへ代入し、その値が60点以上かどうかを条件分岐で確認します。

条件分岐では、scoreが60以上の場合は「合格」、60未満の場合は「不合格」と表示します。この処理を人数分繰り返すことで、全員分の結果を判定できます。

使用する変数の役割

変数 役割
n 試験を受けた人数
score 入力された試験の点数
i 現在何人目を処理しているか数えるカウンタ

例えば、受験者が5人いる場合、nには5を代入します。そしてiを1から5まで変化させながら、5回点数入力と判定を行います。

このように、決まった回数だけ処理を繰り返す場合には、カウンタ変数を利用した繰り返し処理が基本になります。

点数判定処理のフローチャート

フローチャートでは、「繰り返し」と「条件分岐」を図で表現します。流れは以下のようになります。

開始

人数nを入力

iに1を代入

iがn以下か確認

点数scoreを入力

scoreが60以上か判定

60以上なら「合格」と表示

60未満なら「不合格」と表示

iを1増やす

iがn以下なら繰り返す

終了

フローチャートを作成するときは、処理の順番を「入力」「判断」「表示」「繰り返し」に分けて考えると整理しやすくなります。

疑似言語の例

今回の問題を疑似言語で表すと、以下のようになります。

“`
開始
 nを入力する
 i ← 1
 while i ≦ n
   scoreを入力する
   if score ≧ 60 then
     「合格」と表示する
   else
     「不合格」と表示する
   endif
   i ← i + 1
 endwhile
終了
“`

ポイントは、while文などの繰り返し処理の中に、if文による条件判定を入れることです。

「人数分繰り返す処理」の中で「1人分の合否判定」を行う構造にすると、複雑にならず正しい流れを作ることができます。

よくある間違いと注意点

初心者が間違いやすい部分は、繰り返し回数の管理です。例えば、iの初期値を設定し忘れたり、iを増やす処理を書かなかったりすると、処理が正しく終了しません。

また、条件式では「60点以上」と「60点未満」を正しく区別する必要があります。「score > 60」と書くと60点の場合が判定されないため注意が必要です。

実際のプログラムでも、入力回数や条件の境界値を正しく設定することは非常に重要です。

まとめ

人数分の試験結果を判定するプログラムでは、「繰り返し処理」と「条件分岐」を組み合わせて考えることが基本です。

変数nで人数を管理し、変数iで何回目の処理かを数え、scoreの値によって合格・不合格を判断します。

フローチャートでは処理の流れを整理し、疑似言語では繰り返し処理の中に条件判定を書くことで、実際のプログラムに近い形で表現できます。この考え方は、成績判定だけでなく、さまざまなデータ処理プログラムにも応用できます。

コメント

タイトルとURLをコピーしました