アスタリスクのサイズの塗りつぶされた四角形を書き出すrectangle
ような再帰述語を書く必要があります。つまり、四角形に行と列があるはずです。例えば:rectangle(M, N)
M x N
M
N
?- rectangle(3,8).
********
********
********
true
これまでのところ、行にアスタリスクline
を出力するステートメントがあります。N
line(0).
line(N) :- write('*'), A is N-1 , line(A).
私はすべてを試しましたが、アスタリスクの無限のグリッドを取得し続けます. ここに私がこれまでに持っているものがあります:
rectangle(0,0).
rectangle(M,N) :-
line(M),
write('*'), nl, A is N-1, line(A-1),
rectangle(M,A).