日本語の手順からプログラムを作る例― 血液型診断を題材にした段階的詳細化(FE擬似言語準拠版) ―

プログラム作成では、最初からコードを書くのではなく

日本語で処理手順を整理してから具体化することが重要です。

ここでは身近な題材として

「血液型を入力してメッセージを表示する」

簡単な診断プログラムを例に、段階的詳細化の流れを確認します。

※ 本記事の診断内容は娯楽・学習目的の例であり、医学的・科学的根拠はありません。


① 日本語で手順を書く

まず処理を箇条書きにします。

  • 血液型を入力してもらう
  • 入力された値を確認する
  • A型ならメッセージを表示
  • B型ならメッセージを表示
  • O型ならメッセージを表示
  • AB型ならメッセージを表示
  • それ以外ならエラー表示

ここでは文法を考えません。

処理の流れを整理することだけに集中します。


② 擬似コードにする(基本情報技術者試験準拠)

blood ← 入力

if blood = "A" then
    表示 "慎重で計画的な傾向"
elseif blood = "B" then
    表示 "自由な発想の傾向"
elseif blood = "O" then
    表示 "大らかな傾向"
elseif blood = "AB" then
    表示 "独自の視点の傾向"
else
    表示 "入力エラー"
endif

ここで

  • 条件分岐
  • 比較
  • 入力値判定

といったアルゴリズム構造が明確になります。


③ C#で実装する(トップレベルステートメント)

Console.Write("血液型を入力してください(A/B/O/AB):");
var blood = Console.ReadLine();

if (blood == "A")
{
    Console.WriteLine("慎重で計画的な傾向");
}
else if (blood == "B")
{
    Console.WriteLine("自由な発想の傾向");
}
else if (blood == "O")
{
    Console.WriteLine("大らかな傾向");
}
else if (blood == "AB")
{
    Console.WriteLine("独自の視点の傾向");
}
else
{
    Console.WriteLine("入力エラー");
}

★ 初学者が非常によく間違えるポイント

クォーテーションを忘れる

誤り例:

if blood = A then

これは 文字列ではなく識別子(変数名)扱い になってしまいます。


正しい書き方

if blood = "A" then

基本情報技術者試験の擬似言語では

文字データは必ずダブルクォーテーションで囲む

というルールがあります。


C#との違い(混乱ポイント)

概念FE擬似言語C#
文字列“A"“A"
文字1個“A"'A’
char型存在しない存在する

つまり試験擬似言語では

文字はすべて文字列

として扱われます。

ここを理解すると条件判定の理解が安定します。


段階的詳細化の効果

いきなりコードを書くより

  1. 日本語
  2. 擬似コード
  3. 実装

と進むことで

  • 思考整理
  • バグ削減
  • 理解定着

が得られます。

この流れは

段階的詳細化(トップダウン設計)

と呼ばれる基本技法です。


まとめ

身近な題材でもプログラム作成の本質は同じです。

  • 日本語で手順を整理する
  • 擬似コードで構造化する
  • 実装へ落とし込む

プログラムが難しく感じたときほど、

コードではなく日本語に戻ることが最短の前進になります。


(補足)

情報本記事の擬似コードは基本情報技術者試験の表記仕様に準拠しています。

訪問数 5 回, 今日の訪問数 5回