プログラミングU 第7回の訂正とヒント


ステップ3訂正
       procedure EdaWoKaku(Eda : String);
         var
           Depth : Integer;
         begin
           Depth := Length(Eda);
           case Eda[Depth] of
             'S' : Write('┌');
             'L' : Write('└');
                                    else 行を削除
           end;
         end; {EdaWoKaku}
      
ステップ4訂正
実行プログラムが変わりました.
実行して見ましょう(Tournament4)

ステップ5訂正
ステップ4で書くようにした全角空白のうち一部を'│'を書くようにします.
'│'か空白かは,Eda にある 'S'と'L' の情報をうまく使えばできます.

ステップ5ヒント
ステップ4で Depth-2 個空白を書きました.
これを,Eda の内容によって,空白を書くか罫線│を書くようにします.
空白のかわりにコロン:を書くと次のようになります.
左に Eda の内容も書いたので,どういうとき空白:を書き,どういうとき罫線│を書くか, 考えてください.
       123456    1234567890
        SSS      ::┌1
        SS       :┌┤
        SSL      :│└2
        S        ┌┤
        SLS      ││┌3
        SL       │└┤
        SLL      │:└4
                 ┤
        LSS      │:┌5
        LS       │┌┤
        LSL      ││└6
        L        └┤
        LL       :└7
       
      
これを書くプログラム:実行