図[エラー処理の混在により構造不良が発生したチャート]は1行目に「構造不良/不足」が指摘できるチャートだが,この原因は,エラー処理を条件分岐で表現 しているために,2段目に「予約する」という項目を記述できないことに原因がある.図[エラー処理の混在により構造不良が発生したチャート]をエラー処理を本処理(予約)から別にして記述すると,図[エラー処理を本処理と別にしたチャート]のようなチャートに改善することができ,「構造不良/不足」も解消される.ここで重要なのは, エラー処理の部分(4行目からのブランチ)を省略しても,チャートに問題が発生しないことである.
構造不良は,で2種類に分類できると述べたが,多く見られるパターンは,「不足」と「矛盾」が同時に起こる場合である. これは,節[構造不良]で紹介した具体例でも起こっていたことであるが,改めて整理することにする.
HCPチャート作成の初学者は,同じ目的を持った項目が下位の階層に再度出現することに違和感を覚える.しかし, それは間違いではない.
「座席予約システム」を例にとれば,プログラムの一番大きな目的は「列車の座席を予約する」である. しかし,その目的の下位に再び「列車の座席を予約する」という目的が出現してもなんら問題はない. これは,階層が深くなるに従い,前処理や後処理といった非本質的な目的をもった項目が削られ,プログラム全体の 目的がよりプリミティブなものになっていく(図[本処理の再出現])ということである.こうした記述を嫌っていると,構造不良を招く原因となってしますので,作成者 もこのようなチャートの性質を理解しておくべきである.