Criada: 2006-07-28 Modificada por último: 2022-01-28
Campeonatos | Gerenciador | Ger. suíço (em breve) | Modelo p/ jogador | LISP - Wiki |
CLISP | CMUCL | Manual Common Lisp | Sudoku - Wiki | Treine Sudoku! |
A linguagem escolhida para esta seção do curso é LISP.
Usaremos a implementação CLISP. Ou talvez CMUCL. Não sei ainda qual delas, ambas são igualmente adequadas para os propósitos da disciplina.
Manual online do padrão Common Lisp. Se estiver fora do ar, tente este.
Livro texto: Demorei uma hora e meia na Internet, mas enfim encontrei um excelente livro: Practical Common Lisp, de Paul Seibel, Apress, 2005. Texto integral na Internet. Infelizmente, não tem exercícios. Estamos buscando alguns.
Gerenciador versao inicial. Para usá-lo, faça:
* (load "camp")
* (campeonato '(raXXXXXX raXXXXXX-1))
Seu jogador deve iniciar-se com as seguintes linhas:
(cl:defpackage "RAXXXXXX-V7" (:use "COMMON-LISP"))
(in-package "RAXXXXXX-V7")
Você deve escrever as funções manda-probl
e
resolve
. Observe que em Lisp se usa tracinho em lugar de
underscore. A primeira não tem argumentos, e retorna uma
lista com dois elementos: um problema e uma solução para ele. A
segunda recebe um problema e retorna uma solução para ele.
Problemas e soluções são ambos codificados como listas de 81 dígitos.
Na solução, os dígitos vão de 1 a 9. No problema, vão de 0 a 9, sendo
que 0 indica espaço a ser preenchido.
Veja os campeonatos de treinamento.
© 2006 João Meidanis