fpfcarvalho Posted May 26, 2008 at 01:39 PM Report Share #187569 Posted May 26, 2008 at 01:39 PM (defun bloco (sudoku x y) (loop repeat 3 for x from (* 3 (floor x 3)) append (loop repeat 3 for y from (* 3 (floor y 3)) collect (aref sudoku y x)))) Nesta função, define-se a função bloco do sudoku. Gostaria que me alguem explicasse melhor aquele ciclo "loop", mais concretamente o que faz o "(* 3(floor x 3))". Aguardo respostas. 😉 Link to comment Share on other sites More sharing options...
pedrotuga Posted May 26, 2008 at 04:33 PM Report Share #187601 Posted May 26, 2008 at 04:33 PM viva (* 3 (floor x 3)) o que aparece imediatamente apos o parentesis de abertura é a funcao que é chamada, os restantes termos sao argumentos e aparecem separados por espacos. Na tua pergunta comeste um espaco a o transcrever essa linha. O qu isso faz é: multiplica (daí o asterisco, o asterisco é multiplicacao) 3 por (floor x 3) por sua vez, (floor x 3) é uma chamada à funcao "floor" com os argumentos x e 3. A funcao flor devolve o argumento mais baixo de todos. Entao pondo isso tudo junto, o que essa linha faz é: multiplica 3 por 3 ou por x, o mais baixo dos dois. Link to comment Share on other sites More sharing options...
fpfcarvalho Posted May 26, 2008 at 09:09 PM Author Report Share #187683 Posted May 26, 2008 at 09:09 PM ja percebi 😁 obrigadao 😉 ja agora (defun numero_falta (lista) (loop for i from 1 to 9 with resultado = '() finally (return resultado) do (unless (find i lista) (push i resultado)))) nesta função, onde e k se ve onde sao os numeros diferentes de 1 a 9 ?? Link to comment Share on other sites More sharing options...
djthyrax Posted May 26, 2008 at 09:17 PM Report Share #187685 Posted May 26, 2008 at 09:17 PM unless (find i lista) (push i resultado) Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
fpfcarvalho Posted May 26, 2008 at 09:34 PM Author Report Share #187690 Posted May 26, 2008 at 09:34 PM pois.. thanks 😉 Link to comment Share on other sites More sharing options...
fpfcarvalho Posted May 28, 2008 at 08:49 PM Author Report Share #188168 Posted May 28, 2008 at 08:49 PM alguem me podia explicar o k faz a funçao "aref" em LISP?? se eu tiver (aref sudoku l c), o ke k isto significa? Link to comment Share on other sites More sharing options...
Warrior Posted May 28, 2008 at 09:53 PM Report Share #188186 Posted May 28, 2008 at 09:53 PM http://www.dca.ufrn.br/~adelardo/lisp/ - Secção 2.12 http://www.n-a-n-o.com/lisp/cmucl-tutorials/LISP-tutorial-16.html Tinhas descoberto isto com uma pesquisa no google.. Link to comment Share on other sites More sharing options...
fpfcarvalho Posted May 28, 2008 at 10:16 PM Author Report Share #188190 Posted May 28, 2008 at 10:16 PM http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node159.html eu tinha ido aqui, mas o que fiquei a perceber da funçao e k retorna os valores formados pela junçao dos elementos das linhas e das colunas. so queria saber se era assim a definiçao correcta daquela parte de codigo. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now