Next: Tardes Vazias Up: Enunciados Previous: Tabuleiro
A serpente belga é um animal cujo corpo tem um padrão repetido. No entanto esse
padrão não é necessariamente repetido um número inteiro de vezes. O padrão consiste
numa sequência de anéis. Cada anel tem um identificador que é uma constante de
comprimento 1.
A serpenta belga é um animal que gosta de repousar enrolada de uma maneira muito
particular: repousa sempre na forma de um rectângulo, a cabeça no canto superior
esquerdo e preenchendo o rectângulo linha por linha --ver exemplo abaixo.
Pretende-se que implemente um predicado serpente/3, que mostre no ecrã uma
serpente belga em repouso. Esse predicado será chamado com os seguintes três argumentos:
O seu predicado serpente/3 deverá produzir o resultado no ecrã. Segue-se um exemplo em que a serpente esticada tem o aspecto a b c d a b c d a b c d a b c:
?- serpente([a,b,c,d],[_,_,_,_,_],[_,_,_]). a b c d a b a d c b c d a b c
Antes de começar a implementar o seu programa Prolog, deverá saber que as serpentes belgas têm uma grande aversão por computações aritméticas. Assim sendo, o seu programa não deverá usar nenhum dos operadores aritméticos. Em particular, o seu programa será rejeitado se contiver qualquer um dos símbolos
is < > >= =< + - * name arg functor =..
Next: Tardes Vazias Up: Enunciados Previous: Tabuleiro