Você está aqui: Lisp ::: Dicas & Truques ::: Lista (List)

Como usar a macro dolist para percorrer os elementos individuais de uma list em LISP

Quantidade de visualizações: 443 vezes
Nesta dica mostrarei como podemos usar a macro DOLIST para acessar e exibir os itens individuais de uma lista na linguagem Lisp. Note que temos uma list chamada valores, com 6 itens e, dentro do corpo da macro dolist, cada elemento da lista é referenciado pela variável v.

Veja o código Lisp completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

; vamos declarar uma lista chamada valores
; contendo 6 números inteiros
(let ((valores (list 4 8 2 3 9 7)))
  ; agora vamos percorrer os elementos da lista
  ; usando a macro DOLIST
  (dolist (v valores)
    ; e exibimos cada valor individualmente
    (format t "~D" v)
    ; uma quebra de linha aqui
    (terpri)	
  )
)

Ao executar este código LISP nós teremos o seguinte resultado:

4
8
2
3
9
7

Link para compartilhar na Internet ou com seus amigos:

Lisp ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como converter radianos em graus em LISP - Trigonometria em LISP

Quantidade de visualizações: 605 vezes
Todas as funções trigonométricas em Common Lisp (ou AutoLISP, para programadores AutoCAD) recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin(). Esta função recebe o ângulo em radianos e retorna o seu seno.

No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo:

\[Graus = Radianos \times \frac{180}{\pi}\]

Agora veja como esta fórmula pode ser escrita em código LISP:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

; programa LISP que converte radianos em graus
(let((radianos)(graus))
  ; valor em radianos
  (setq radianos 1.5)
  ; obtém o valor em graus
  (setq graus (* radianos (/ 180 pi)))
  
  ; mostra o resultado
  (format t "~F radianos em graus é ~F" radianos
    graus)
)

Ao executarmos este código LISP nós teremos o seguinte resultado:

1.5 radianos convertidos para graus é 85.94366926962348

Para fins de memorização, 1 radiano equivale a 57,2957795 graus.


Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico

Exercícios Resolvidos de Lisp - Como somar dois números em Lisp - Escreva um programa Lisp que leia dois números e mostre a sua soma

Quantidade de visualizações: 1428 vezes
Exercício Resolvido de Lisp - Como somar dois números em Lisp - Escreva um programa Lisp que leia dois números e mostre a sua soma

Pergunta/Tarefa:

Escreva um programa Common Lisp que solicita ao usuário dois números inteiros e mostre a sua soma.

Sua saída deverá ser parecida com:

Informe o primeiro valor: 2
Informe o segundo valor: 8
A soma é 10
Resposta/Solução:

Veja a resolução completa para o exercício em Common Lisp usando o compilador Steel Bank Common Lisp (SBCL), comentada linha a linha:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

; Vamos definir as variáveis que vamos
; usar no programa
(defvar n1)
(defvar n2)
(defvar soma)

; Este o programa principal
(defun Soma()
  ; Vamos ler o primeiro valor
  (princ "Informe o primeiro valor: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  (setq n1 (read))
  ; Vamos ler o segundo valor
  (princ "Informe o segundo valor: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  (setq n2 (read))
  
  ; Agora vamos efetuar a soma dos dois números
  (setq soma (+ n1 n2))
  
  ; E mostramos o resultado
  (format t "A soma é ~D" soma)
)

; Auto-executa a função Soma()
(Soma)



Lisp ::: Dicas & Truques ::: Strings e Caracteres

Como retornar uma substring de uma string em LISP usando a função subseq()

Quantidade de visualizações: 462 vezes
Nesta dica mostrarei como podemos extrair uma parte de uma palavra, frase ou texto, ou seja, vamos obter uma substring a partir de uma string. Na linguagem LISP isso pode ser feito por meio da função subseq().

Esta função aceita 3 argumentos. O primeiro argumento é a string a partir da qual a substring será extraída. O segundo argumento é o índice inicial da substring, começando sempre em 0. O terceiro argumento marca o índice final da substring (um índice a mais que o último caractere desejado). Se o terceiro argumento for omitido, todo o restante da string será incluído na substring.

Veja o código LISP completo para o exemplo no qual pedimos para o usuário informar uma frase e extraímos dessa frase os 5 primeiros caracteres:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

; variáveis que vamos usar no programa
(let ((frase)(substring))
  ; Vamos pedir para o usuário informar
  ; uma frase
  (princ "Informe uma frase: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  ; atribui o valor lido à variável frase
  (setq frase (read-line))
  
  ; vamos mostrar a frase informada
  ; o símbolo ~% provoca uma quebra de linha
  (format t "A frase informada foi: ~S~%" frase)
  
  ; agora vamos obter os 5 primeiros caracteres
  (setq substring (subseq frase 0 5))
  
  ; e mostramos a substring
  (format t "A substring obtida foi: ~S" substring)
)

Ao executar este código LISP nós teremos o seguinte resultado:

A frase informada foi: "Estudar LISP é bom demais"
A substring obtida foi: "Estud"


Veja mais Dicas e truques de Lisp

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 24 usuários muito felizes estudando em nosso site.