Você está aqui: Lisp ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar arrays na linguagem LISP usando a função make-array() - Vetores e matrizes em LISPQuantidade de visualizações: 464 vezes |
Assim como a maioria das linguagens, LISP também possui vetores e matrizes, e estes são criados por meio da função make-array. Nesta seção do site nós usaremos a palavra vetor para nos referirmos aos arrays de apenas uma dimensão, e usaremos matrizes para os arrays de duas ou mais dimensões. É claro que o nome array será visto com muita frequência também, pois é um termo ao qual todos os programadores estão acostumados. Como já sabemos, um array consiste de posições de memória distribuidos de forma contígua, o que torna o acesso a seus elementos muito rápido. Então, vamos ver como criar um array de uma dimensão em LISP usando a função make-array. Note que criaremos um vetor com 10 posições, mas não definiremos os seus valores iniciais. Lembre-se que as implementações LISP não garantem que elementos (por exemplo, do tipo inteiro) não inicializados terão sempre o valor 0, como acontece com Java. Veja o código LISP a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; vamos criar um array unidimensional contendo ; espaço para 10 elementos (let (numeros) ; agora que já declaramos o nome do array, ; vamos reservar espaço para os 10 elementos (setq numeros (make-array '(10))) ; vamos mostrar o array criado (format t "Os elementos do array são: ~D~%" numeros) ) Ao executar este código LISP nós teremos o seguinte resultado: Os elementos do array são: #(0 0 0 0 0 0 0 0 0 0) Veja que os elementos do array foram inicializados como 0. Porém, nem todas as implementações LISP garantem este resultado. Para fins de estudos, eu estou usando Common Lisp e o compilador Steel Bank Common Lisp (SBCL). |
Link para compartilhar na Internet ou com seus amigos: |
Lisp ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MMC em Lisp - Como calcular o Mínimo Múltiplo Comum na linguagem LispQuantidade de visualizações: 788 vezes |
O Mínimo Múltiplo Comum (MMC), ou LCM (Least Common Multiple) é um tipo de operação matemática utilizada para encontrar o menor número positivo, diferente de 0 (zero), que é múltiplo ao mesmo tempo de dois ou mais números. O MMC é utilizado, por exemplo, na soma e subtração de frações - quando é necessário um denominador comum. Nesta dica mostrarei como podemos calcular o MMC de dois números inteiros informados pelo usuário. Veja o código Common Lisp completo: ---------------------------------------------------------------------- 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 ((num1)(num2)(maior)(mmc)) ; Vamos ler o primeiro número (princ "Informe o primeiro número: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável num1 (setq num1 (read)) ; Vamos ler o segundo número (princ "Informe o segundo número: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável num2 (setq num2 (read)) ; agora escolhemos o maior número (cond ((> num1 num2)(setq maior num1)) (t (setq maior num2)) ) ; e entramos em um laço loop (loop ; testa se o maior é divisível por num1 e por num2 (cond ((and (= 0 (rem maior num1))(= 0 (rem maior num2))) ; mmc recebe o maior e sai do laço (setq mmc maior)(return))) ; incrementa o valor da variável maior (setq maior (+ maior 1)) ) ; mostra o resultado (format t "O MMC dos dois números é ~D" mmc) ) Ao executarmos este código Common Lisp nós teremos o seguinte resultado: Informe o primeiro número: 6 Informe o segundo número: 3 O MMC dos dois números é: 6 Note que a linguagem Common Lisp possui uma função LCM() que permite calcular o MMC de dois ou mais números. Minha intenção com essa dica foi mostrar como o cálculo do MMC é feito em Common Lisp. |
Lisp ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como declarar variáveis locais em Lisp usando o comando letQuantidade de visualizações: 704 vezes |
Em várias situações nós gostaríamos de declarar variáveis que serão usadas em um espaço limitado, ou seja, dentro de uma função Common Lisp ou até mesmo em um bloco de código. Entram em cena as variáveis locais. Variáveis locais, como o próprio nome indica, são visíveis apenas dentro do corpo de uma função ou dentro do bloco no qual elas são declaradas. Em Common Lisp as variáveis locais são declaradas usando-se o comando let. Veja um exemplo no qual nós declaramos três variáveis locais e que serão usadas no corpo de uma função Multiplicar(): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; vamos definir a função Multiplicar() (defun Multiplicar() ; vamos usar o comando let para declarar ; três variáveis locais (let ((a 3)(b 9)(produto)) ; agora vamos obter o produto das variáveis ; a e b (setq produto (* a b)) ; e mostramos o resultado (format t "O produto dos dois valores é ~D" produto) ) ) ; chamamos a função Multiplicar() (Multiplicar) Ao executar este código nós teremos o seguinte resultado: O produto dos dois valores é 27 Agora veja como podemos declarar variáveis locais dentro de um bloco de código em Common Lisp: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; vamos usar o comando let para declarar ; três variáveis locais (dentro de um bloco ; de código) (let ((a 7)(b 5)(produto)) ; agora vamos obter o produto das variáveis ; a e b (setq produto (* a b)) ; e mostramos o resultado (format t "O produto dos dois valores é ~D" produto) ) Execute este código e você terá o seguinte resultado: O produto dos dois valores é 35 Nos dois trechos de código, se tentarmos acessar as variáveis locais fora de seus escopos, nós teremos o seguinte erro: The variable PRODUTO is unbound. |
Lisp ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a área de um círculo em LISP dado o raio do círculoQuantidade de visualizações: 976 vezes |
A área de um círculo pode ser calculada por meio do produto entre a constante PI e a medida do raio ao quadrado (r2). Comece analisando a figura abaixo: Sendo assim, temos a seguinte fórmula: Onde A é a área, PI equivale a 3,14 (aproximadamente) e r é o raio do círculo. O raio é a medida que vai do centro até um ponto da extremidade do círculo. O diâmetro é a medida equivalente ao dobro da medida do raio, passando pelo centro do círculo e dividindo-o em duas partes. A medida do diâmetro é 2 * Raio. Veja agora um código Common Lisp completo que calcula a área de um círculo mediante a informação do raio: ---------------------------------------------------------------------- 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 raio) (defvar area) ; Este o programa principal (defun AreaCirculo() ; Vamos ler o raio do círculo (princ "Informe o raio do círculo: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável raio (setq raio (read)) ; calcula a área do círculo (setq area (* pi (expt raio 2))) ; E mostramos o resultado (format t "A área do círculo de raio ~F é ~F" raio area) ) ; Auto-executa a função AreaCirculo() (AreaCirculo) Ao executarmos este código nós teremos o seguinte resultado: Informe o raio do círculo: 5 A area do círculo de raio 5 é igual a 78.539816 A circunferência é um conjunto de pontos que estão a uma mesma distância do centro. Essa distância é conhecida como raio. A circunferência é estudada pela Geometria Analítica e, em geral, em um plano cartesiano. O círculo, que é formado pela circunferência e pelos infinitos pontos que preenchem seu interior, é estudado pela Geometria Plana, pois ele ocupa um espaço e pode ter sua área calculada, diferentemente da circunferência. |
Veja mais Dicas e truques de Lisp |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software 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 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 |