このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/617
#  【1】C言語 
#  【2】キャラクタでピラミッドを表示するプログラムを作成せよ 
#  実行結果 
#  何段にしますか? 
#  7 
#   
#        # 
#       ### 
#      ##### 
#     ####### 
#    ######### 
#   ########### 
#  ############# 
#  【3】UNIXのC言語 
#  【4】6/17まで 
#  お願いします 
# 
# 

キャラクタでピラミッドを表示する :-
        何段にしますか(_段数),
        表示枠を作る(_段数,_表示枠),
        表示する(_表示枠),
        R = [].

何段にしますか(_段数) :-
        write('何段にしますか : '),
        readln([_段数]),
        integer(_段数),!.
何段にしますか(_段数) :-
        write('整数を入力してください。 '),
        何段にしますか(_段数).

表示枠を作る(_段数,_表示枠) :-
        length(L,_段数),
        append(L0,[_|R],L),
        '#を嵌めこむ'(L0,R),
        append(L0,R,L1),
        append(R,L0,L2),
        append(L2,['#'|L1],_表示枠).

'#を嵌めこむ'(L0,R) :-
        all(R,' '),
        all(L0,'#').

表示する(L3) :-
        concat_atom(L3,S),
        writef('%t\n',[S]).

all([],_).
all([V|R],V) :-
        all(R,V).