日本語の手順からプログラムを作る例― 血液型診断を題材にした段階的詳細化(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型 | 存在しない | 存在する |
つまり試験擬似言語では
文字はすべて文字列
として扱われます。
ここを理解すると条件判定の理解が安定します。
段階的詳細化の効果
いきなりコードを書くより
- 日本語
- 擬似コード
- 実装
と進むことで
- 思考整理
- バグ削減
- 理解定着
が得られます。
この流れは
段階的詳細化(トップダウン設計)
と呼ばれる基本技法です。
まとめ
身近な題材でもプログラム作成の本質は同じです。
- 日本語で手順を整理する
- 擬似コードで構造化する
- 実装へ落とし込む
プログラムが難しく感じたときほど、
コードではなく日本語に戻ることが最短の前進になります。
(補足)
情報本記事の擬似コードは基本情報技術者試験の表記仕様に準拠しています。



ディスカッション
コメント一覧
まだ、コメントがありません