Você está aqui: Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de LISP - Como converter minutos em segundos em LISP usando uma função - Desafio de Programação Resolvido em LispQuantidade de visualizações: 311 vezes |
Pergunta/Tarefa: Escreva um programa LISP para converter minutos em segundos. Você deverá criar uma função converter() que receberá, como argumento, um número inteiro representando os minutos e retornará, também como um inteiro, os segundos correspondentes. Os minutos deverão ser informados pelo usuário. Sua saída deverá ser parecida com: Informe os minutos: 15 A quantidade de segundos é: 900 Veja a resolução comentada deste exercício em LISP: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; Função usada para converter minutos em segundos (defun converter(minutos) ; vamos declarar as variáveis locais que precisamos (let ((segundos)) ; Fazemos a conversão dos minutos em segundos (setq segundos (* minutos 60)) ; retornamos os segundos segundos ) ) ; Esta é a função principal (defun principal() ; vamos declarar as variáveis locais que precisamos (let ((minutos)(segundos)) ; vamos pedir para o usuário informar os minutos (princ "Informe os minutos: ") ; talvez o seu compilador não precise disso (force-output) (setq minutos (read)) ; agora vamos chamar a função converter() para converter ; os minutos em segundos (setq segundos (converter minutos)) ; E mostramos o resultado (format t "A quantidade de segundos é: ~D" segundos) ) ) ; Auto-executa a função principal() (principal) |
![]() |
Lisp ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em LispQuantidade de visualizações: 890 vezes |
Muitas vezes precisamos saber se um determinado número é par ou ímpar. Isso pode ser feito em Common Lisp usando-se a função REM, que retorna o resto de uma divisão por inteiros. Veja o exemplo a seguir: ---------------------------------------------------------------------- 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 ((num)) ; Vamos ler um número inteiro (princ "Informe um valor inteiro: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável num (setq num (read)) ; vamos testar se o número informado é par ou ímpar (cond ((= 0 (rem num 2)) (princ "Você informou um número par")) (T (princ "Você informou um número ímpar")) ) ) Ao executar este programa Common Lisp nós teremos o seguinte resultado: Informe um valor inteiro: 8 Você informou um numero par É importante observar que a maioria das implementações Lisp fornecem as funções EVENP e ODDP que permitem testar se um número é par ou ímpar. O objetivo dessa dica foi fazer uma comparação entre a Common Lisp e outras linguagens de programação na realização desta tarefa. |
Lisp ::: Dicas & Truques ::: Passos Iniciais |
O que é Lisp e como escrever seu primeiro programa nessa linguagem de programaçãoQuantidade de visualizações: 1356 vezes |
O que é Common Lisp? A linguagem de programação ANSI Common Lisp, ou simplesmente Common Lisp, é uma implementação específica da linguagem de programação Lisp multi-paradigma que suporta programação funcional e procedural. Sua especificação foi criada por Guy L. Steele nos anos 1980 a partir da linguagem Lisp com o intuito de combinar aspectos de diversos dialetos Lisp anteriores, incluindo Scheme. Foi proposto inicialmente o nome de "Standard Lisp" para a linguagem, mas em virtude de um dialeto Lisp já existir com este nome, se buscou um nome similar, resultando no nome "Common Lisp". Em 1994 foi publicada no padrão ANSI Information Technology - Programming Language - Common Lisp, registro X3.226-1994 (R1999). É bem maior e semanticamente mais complexa que Scheme uma vez que foi projetada para ser uma linguagem comercial e ser compatível com os diversos dialetos Lisp dos quais derivou. Como baixar, instalar e testar a Common Lisp no Windows? Embora exista uma quantidade enorme de compiladores Lisp disponíveis atualmente, minha pesquisa recaiu sobre o Steel Bank Common Lisp (SBCL), que pode ser baixado no endereço http://www.sbcl.org. No meu Windows 10 eu baixei o instalador sbcl-2.2.3-x86-64-windows-binary.msi, com o tamanho de 11.7Mb. Finalizada a instalação, vamos testar nossa distribuição do Bank Common Lisp (SBCL). Para isso, abra um janela de terminal e navegue até o diretório de instalação do SBCL: C:\Users\Osmar>cd C:\Program Files\Steel Bank Common Lisp Se você vir um arquivo sbcl.exe dentro deste diretório nós já temos a indicação de que tudo correu bem. Tudo que temos a fazer é chamar este arquivo na linha de comando: C:\Program Files\Steel Bank Common Lisp>sbcL Você verá as seguintes informações na sua tela: This is SBCL 2.2.3, an implementation of ANSI Common Lisp. More information about SBCL is available at <http://www.sbcl.org/>. SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. * Note que o cursor já está esperando comandos, uma vez que estamos no modo interativo. Assim, digite o seguinte comando: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- * (+ 5 (* 2 4)) Pressione Enter. Se você vir o valor 13, então é sinal de que o SBCL está funcionando 100% e já podemos prosseguir. Para sair do modo interativo do SBCL, digite: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- * (quit) Como escrever um programa em Common List e carregá-lo no SBCL Agora vamos ver como podemos escrever um programa Common Lisp, salvá-lo em arquivo e carregá-lo a partir do compilador Steel Bank Common Lisp (SBCL). Para isso, abra o seu editor de códigos favorito e digite a seguinte listagem: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; Este programa talvez seja um dos mais básicos ; que podem ser escritos em Common Lisp (defun Primeiro() ; Vamos mostrar uma mensagem de boas-vindas (write-line "Bem-vindo(a) à Common Lisp") ) ; Efetua uma chamada automática ao programa (Primeiro) Para executar este programa, basta chamar o SBCL pela linha de comando, da seguinte forma: C:\Program Files\Steel Bank Common Lisp>sbcl --script C:\estudos_common_lisp\Primeiro.lsp Se o seu código estiver correto, sem nenhum erro de sintáxe, você verá o seguinte texto: Bem-vindo(a) à Common Lisp Pronto! Agora é só aproveitar as nossas dicas, truques e exercícios resolvidos de Common Lisp para aprender ainda mais. Bons estudos. |
Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como multiplicar dois números em Lisp - Escreva um programa em Lisp para ler dois números inteiros informadosQuantidade de visualizações: 1625 vezes |
Exercício Resolvido de Lisp - Como multiplicar dois números em Lisp - Escreva um programa em Lisp para ler dois números inteiros informados Pergunta/Tarefa: Escreva um programa Common Lisp que solicita ao usuário dois números inteiros e mostre a multiplicação dos dois valores, ou seja, o primeiro valor multiplicado pelo segundo. Sua saída deverá ser parecida com: Informe o primeiro valor: 3 Informe o segundo valor: 7 3 vezes 7 é 21 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 produto) ; Este o programa principal (defun Multiplicacao() ; 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 multiplicação dos ; dois valores informados (setq produto (* n1 n2)) ; E mostramos o resultado (format t "~D vezes ~D é ~D" n1 n2 produto) ) ; Auto-executa a função Multiplicacao() (Multiplicacao) |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Lisp |
Veja mais Dicas e truques de Lisp |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |