Você está aqui: Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico

Exercícios Resolvidos de LISP - Um programa LISP ou AutoLISP que pede ao usuário que informe seu nome e exiba uma mensagem de boas-vindas - Exercícios Resolvidos de Lisp

Quantidade de visualizações: 526 vezes
Pergunta/Tarefa:

Escreva um programa LISP ou AutoLISP (a implementação LISP para o AutoCAD) que pede ao usuário que informe seu nome e exiba uma mensagem de boas-vindas. Se o usuário informar "Osmar J. Silva" seu programa deverá exibir a mensagem:

Seja bem-vindo(a), Osmar J. Silva

Resposta/Solução:

Vamos à resolução do exercício usando Common Lisp (a padronização da LISP):

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

; Ler o nome do usuário e exibir uma mensagem de boas vindas
(let (nome)
  ; vamos solicitar ao usuário que informe seu nome
  (princ "Informe seu nome: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  ; atribui o nome lido à variável nome
  (setq nome (read-line))
  
  ; agora vamos exibir a mensagem de boas-vindas
  (format t "Seja bem-vindo(a), ~a" nome)
)


Link para compartilhar na Internet ou com seus amigos:

Lisp ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço loop para contar de 1 até 10 em Lisp

Quantidade de visualizações: 633 vezes
A estrutura de repetição loop da linguagem Common Lisp é o laço mais simples fornecido pela linguagem. Este laço nos permite repetir uma ou mais instruções de código repetidamente, até que o comando return seja encontrado, o que faz com que o laço seja interrompido.

Veja no trecho de código abaixo como podemos usar o laço loop da Common Lisp para contar e exibir os valores de 1 até 10:

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

(
  ; vamos declarar a variável que vamos usar
  let (numero)	
  ; vamos inicializar a variável com o valor 1
  (setq numero 1)
  ; agora iniciamos o laço
  (loop 
    ; escrevemos o valor da variável
    (write numero)
    ; aumentamos o valor da variável em 1
    (setq numero (+ numero 1))
    ; provocamos uma quebra de linha 
    (terpri)
    ; e fazemos o teste da continuidade
    (when (> numero 10) (return))
  )
)

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

1
2
3
4
5
6
7
8
9
10

Veja que usamos a macro when para testar o ponto de parada do laço. Note ainda o uso da função terpri da Common Lisp para provocar uma quebra de linha na saída do programa.


Lisp ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço loop for da linguagem Lisp

Quantidade de visualizações: 601 vezes
O laço for loop da linguagem Common Lisp é usado quando sabemos exatamente quantas vezes uma instrução ou um grupo de instruções deve ser repetido. Este laço é similar ao laço for encontrado na maioria das linguagens de programação.

Vamos começar vendo um laço for loop que conta de 1 até 10:

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

; Um laço for loop que conta de 1 até 10
(loop for i from 1 to 10
  do (print i)
)

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

1
2
3
4
5
6
7
8
9
10

Agora veja o mesmo laço usado para contar de 10 até 1, ou seja, em ordem decrescente:

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

; Um laço for loop que conta de 10 até 1
(loop for i from 10 downto 1
  do (print i)
)

Note que, agora, eu troquei "to" por "downto" para que a variável de controle fosse decrementada, em vez de incrementada. Dessa forma, ao executarmos este código Common Lisp, o resultado será:

10
9
8
7
6
5
4
3
2
1


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

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

Quantidade de visualizações: 473 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á 48 usuários muito felizes estudando em nosso site.