/* Stair case in Picat. Ported from B-Prolog program http://www.probp.com/examples/foreach/staircase.pl """ Draw a staircase of a given steps. Example query: ?-go(4). +---+ | | +---+---+ | | | +---+---+---+ | | | | +---+---+---+---+ | | | | | +---+---+---+---+ """ This Picat model was created by Hakan Kjellerstrand, hakank@gmail.com See also my Picat page: http://www.hakank.org/picat/ */ % import util. % import cp. main => go. go => go(4). go(N) => foreach(I in 1..N) foreach(J in 1..N-I) print(" ") end, foreach(J in 1..I) print("+---") end, println("+"), foreach(J in 1..N-I) print(" ") end, foreach(J in 1..I) print("| ") end, println("|") end, foreach(I in 1..N) print("+---") end, println("+").