我必须在Prolog中写这个谓词:
lineOrizzontal(A,Length,Plan).
平面图通过5个元素的10个列表(行)的列表表示10 x 5的平面
一行包含元素的长序列Length(输入参数)
在以下情况下,谓词为真
:A = a16,
Length = 3,
Plan = [[a1,a1,a1,a4,a4],
[a1,a1,a1,a4,a4],
[a1,a1,a1,a10,a8],
[a5,a5,a2,a2,a2],
[a5,a5,a2,a2,a2],
[a6,a6,a2,a2,a2]
[a6,a6,a3,a3,a3],
[a7,a7,a3,a3,a3],
[a7,a7,a3,a3,a3],
[a15,a16,a16,a16,a9]]
还有这个:
squareInAPlan(A,Length,Plan).
平面图通过5个元素的10个列表(行)的列表表示10 x 5的平面
平面图在宽度方向上包含一个正方形的符号A。 考虑到边长可以是1、2或3,因此简化了。
在以下情况下,谓词为真
:A = a2,
Length = 3,
Plan = [[a1, a1, a1, a4, a4],
[A1, a1, a1, a4, a4],
[A1, a1, a1, a10, a8],
[A5, a5, a2, a2, a2],
[A5, a5, a2, a2, a2],
[A6, a6, a2, a2, a2],
[A6, a6, 3, 3, 3],
[A7, a7, 3, 3, 3],
[A7, a7, 3, 3, 3],
[A15, a16, a16, a16, a9]]