忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【ソフトウェア開発技術】論理の美しさと正しさの基本!「適正プログラム」|情報処理問題1000本ノック

複雑なプログラムも、基本となるパーツが「入り口が一つ、出口が一つ」という規律を守っていれば、解析や修正が格段に楽になります。この基本的な定義を攻略しましょう。

1. 問題:プログラムの構造的定義

【 問題 】 プログラムの処理単位において、以下の2つの条件を満たすものを何と呼ぶでしょうか?
① 入口が一つで、出口も一つである。
② 入口から入って、必ず出口に到達する(無限ループがない)。

ア、構造化プログラム   イ、適正プログラム   ウ、保守性プログラム   エ、アルゴリズムド・プログラム

2. 正解:プログラム設計に関する正解

正解: イ、適正プログラム(Proper Program)

3. 解説:なぜ「出口一つ」が重要なのか

プログラミングにおいて、あちこちからジャンプして入ってきたり、途中で勝手に終了したりするコードは「スパゲッティコード」の原因となります。

【図解:適正プログラムの2条件】

■ 条件1:1入口・1出口(Single Entry, Single Exit)
・どこから始まってどこで終わるかが明確であること。
・これにより、処理を一つの「ブラックボックス(部品)」として扱いやすくなります。

■ 条件2:停止性(Terminating)
・途中でデッドロックを起こしたり、永遠に終わらないループに陥ったりせず、必ず出口にたどり着くこと。
[ 構造化プログラミングとの関係 ]
構造化プログラミング(ダイクストラが提唱)は、この「適正プログラム」を、「順次・選択・反復」という3つの基本構造だけで組み合わせる手法のことです。適正プログラムはその最小単位の理想形と言えます。

1. 理解のコツ: 迷路をイメージしてください。「入り口が1つ、出口が1つ、そして必ずゴールに辿り着けるルートがある」。そんな健全な迷路(プログラム)が「適正」な状態です。
2. 試験対策の視点: 紛らわしい選択肢として「構造化プログラム」がありますが、問題文が「1つの入口と1つの出口を持つ~」という定義そのものを問うている場合は、「適正プログラム」が最も適切な用語になります。


4. まとめ

「1つの入口と1つの出口を持ち、必ず終了する」。これが適正プログラムです。この規律を守ることが、バグが少なく、他人が読んでも理解しやすい「良いコード」への第一歩となります。


PR