Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: LISP ::: Dicas & Truques ::: Struct (Estruturas, Registros)

Como criar estruturas em LISP

Quantidade de visualizações: 357 vezes
A linguagem LISP (incluindo a implementação ANSI Common Lisp e a AutoLISP, a versão LISP para o AutoCAD) permite, como a maioria das linguagens de programação, a criação de estruturas.

Uma estrutura é um tipo de dados definida pelo usuário, e que permite o agrupamento de dados de tipos diferentes. Podemos pensar em estruturas como se fosse um registro. Na verdade, as linguagens Pascal e Delphi mantém um tipo de dados chamado record.

Assim, uma estrutura "aluno" poderia agrupar a matrícula do aluno, o seu nome, sua idade, seu curso, etc, cada informação sendo de um tipo de dados diferente.

Como usar a macro defstruct da LISP para criar estruturas

A definição de estruturas na linguagem LISP é feita por meio da macro defstruct. Veja, por exemplo, um trecho de código que cria uma estrutura chamada produto:

; Vamos definir a estrutura produto
(defstruct produto 
  codigo
  nome
  preco  
)

; Esta é a função principal
(defun principal()
  ; vamos declarar as variáveis locais que precisamos
  (let ((p))
    ; vamos criar uma nova instância da estrutura produto
    (setq p (make-produto :codigo 45 :nome "Arroz Tipo 1" 


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

Os dados do produto são:
#S(PRODUTO :CODIGO 45 :NOME Arroz Tipo 1 :PRECO 8.23)

Note como usamos a função make-produto para criar um novo objeto da estrutura produto. Esta função é um construtor criado implicitamente pela linguagem para que possamos criar as novas instâncias da estrutura.

Se você observar bem o código anterior você verá que exibimos todo o conteúdo da estrutura produto por meio da variável p. Porém, haverá situações nas quais queremos exibir os valores individuais dos atributos. Veja:

; Vamos definir a estrutura produto
(defstruct produto 
  codigo
  nome
  preco  
)

; Esta é a função principal
(defun principal()
  ; vamos declarar as variáveis locais que precisamos
  (let ((p))
    ; vamos criar uma nova instância da estrutura produto
    (setq p (make-produto :codigo 45 :nome "Arroz Tipo 1" 
      :preco 8.23))
	
    ; E mostramos o resultado


Ao executarmos esta nova versão do código LISP nós teremos o seguinte resultado:

O código do produto é 45
O nome do produto é "Arroz Tipo 1"
O preço do produto é 8.23

Finalmente, o valor dos atributos das instância de uma estrutura LISP podem ser modificados da seguinte forma:

; Vamos definir a estrutura produto
(defstruct produto 
  codigo
  nome
  preco  
)

; Esta é a função principal
(defun principal()
  ; vamos declarar as variáveis locais que precisamos
  (let ((p))
    ; vamos criar uma nova instância da estrutura produto
    (setq p (make-produto :codigo 45 :nome "Arroz Tipo 1" 
      :preco 8.23))
	
    ; Vamos mostrar o código do produto
    (format t "O código do produto é ~D" (produto-codigo p))


Ao executar esta versão final do código nós teremos:

O código do produto é 45
O novo código do produto é 87

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de LISP

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

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á 22 usuários muito felizes estudando em nosso site.