Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

AutoLISP - Cálculos, Variáveis e Listas, Notas de aula de Engenharia Mecânica

Aula de AutoLISP sobre cálculos, variáveis e listas.

Tipologia: Notas de aula

2010

Compartilhado em 08/05/2010

danilo-dos-santos-9
danilo-dos-santos-9 🇧🇷

4.9

(12)

11 documentos

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CFAC: AutoLISP (II) - Cálculos, Variáveis e Listas FEUP/DEMEGI-SDI
JOF / João Manuel R. S. Tavares 1
AutoLISP -II
Cálculos, Variáveis e Listas
João Manuel R. S.
Tavares / JOF
@2008 João Tavares / JOF CFAC: AutoLISP (II) - Cálculos, Variáveis e Listas
2
Cálculos
zExpressões matemáticas são escritas na
notação infixa; isto é, o operador antecede os
operandos:
1+2 (+ 1 2)
32.12 - 22.5 (- 32.12 22.5)
1 + 2 + 3 + 4 (+ 1 2 3 4)
7 * (9 / 2.0) (* 7 (/ 9 2.0))
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe AutoLISP - Cálculos, Variáveis e Listas e outras Notas de aula em PDF para Engenharia Mecânica, somente na Docsity!

Cálculos, Variáveis e Listas^ AutoLISP João Manuel R. S.Tavares / JOF^ - II

2 @2008 João Tavares / JOF Cálculos^ z^ Expressões matemáticas são escritas nanotação infixa; isto é, o operador antecede osoperandos:1+232.12 - 22.51 + 2 + 3 + 47 * (9 / 2.0)^ CFAC: AutoLISP (II) - Cálculos, Variáveis e Listas(+ 1 2)(- 32.12 22.5)(+ 1 2 3 4)(* 7 (/ 9 2.0))

34 @2008 João Tavares / JOF @2008 João Tavares / JOF Variáveis:^ z^ z^ z Variáveis - tipos (esquema) (defun func1(A B / C D))(defun func2())^ A variável é um recurso utilizado pelo programa paraexecutar funções iguais mas com valores que podem seralterados em cada execução.Existem três tipos:O tipo da variável é determinado pela sua posição nalista de parâmetros na definição da função.; A, B: variáveis associadas (parâmetros), C, D: variáveis...(setq X ...)...(setq Y (+ X 2))...–––^ livre (global);associada (argumento/parâmetro);local. locais; X variável livre/global ; Y e X variáveis livres/globaisCFAC: AutoLISP (II) - Cálculos, Variáveis e ListasCFAC: AutoLISP (II) - Cálculos, Variáveis e Listas

78 @2008 João Tavares / JOF Exemplo - função com variáveis locais^ ;;;Cálculo do perímetro de uma circunferência a partir do;;;diâmetro inserido pelo utilizador(defun c:circun(/ DIA PER)) Exemplo - função com variávelassociada z (setq DIA (getreal "\nDigite o valor do diâmetro: "));pi é uma constante do programa (Autocad / Autolisp)(setq PER (* DIA pi))(princ "\nDiametro = ") (princ DIA)(princ "\nPerímetro = ") (princ PER);este princ faz com que a função não retorne um nil(princ)arquivo(defun c:circun(DIA)) @2008 João Tavares / JOF(setq PER (* DIA pi))(princ "\nDiametro = ") (princ DIA)(princ "(princ “Perimetro = ") (princ PER)(princ) progcir.lsp ") : CFAC: AutoLISP (II) - Cálculos, Variáveis e ListasCFAC: AutoLISP (II) - Cálculos, Variáveis e Listas (Cálculo do perímetro de umacircunferência a partir do diâmetropassado como argumento.)(DIA – Variável associada)

109 (defun c:teste() @2008 João Tavares / JOF(princ "teste")(setq a (getreal "\na?"))(setq b (getreal "\nb?"))(setq res 0)(setq a1 0)(setq a2 0)(setq b1 0)(setq b2 0)(soma a b)(prompt "\na+b=")(prompt (rtos res))(prompt "\na1=")(prompt (rtos a1)) Exemplo - função com variávelassociada^ z Exemplo - função com 2 variáveisassociadas^ linha de comando doCommand: (load "progcir.lsp")CIRCUNCommand: (c:circun 34)Diametro = 34Command:^ @2008 João Tavares / JOF^ ; cham. função soma; programa principal^ Perimetro = 106.814^ CFAC: AutoLISP (II) - Cálculos, Variáveis e ListasCFAC: AutoLISP (II) - Cálculos, Variáveis e Listas^ AutoCAD )(defun soma(n1 n2)) (c:xxx) Obrigatório, apesarde definida como comando,devido a conter argumentos.^ (prompt "\na2=")(prompt (rtos a2))(prompt "\nb1=")(prompt (rtos b1))(prompt "\nb2=")(prompt (rtos b2))(setq res (+ n1 n2))(setq a1 (* 2 n1))(setq a2 (* 4 n1))(setq b1 (* 2 n2))(setq b2 (* 4 n2)):^ ; função soma^ Ex. Resultado:

1314 @2008 João Tavares / JOF @2008 João Tavares / JOF Manipulação de listas de dados^ z^ z Manipulação de listas de dados z z Dados agrupados em listas são manipuladospor funções específicas.Existem apenas funções para obter:Para obter o 2º, o 3º átomo da lista utilizam-se funçõesderivadas a partir de concatenações (máximo de 4) de car Para ler uma função derivada de concatenações de cdr – –––1.2.3. :o primeiro átomo da lista -o resto da lista (todos elementos excepto oprimeiro) - cadr Portanto, retorna o 2º átomo da lista original. cdaddr ler de trás para frente,desprezar a primeira e a última letra,ume cdr d - retorna o 1º átomo do resto da lista original.; exemplos:representa um = cdr + car + cdr + cdr função cdr^ cdr CFAC: AutoLISP (II) - Cálculos, Variáveis e ListasCFAC: AutoLISP (II) - Cálculos, Variáveis e Listas e um. a^ função representa um^ car ; car. car e

1516 @2008 João Tavares / JOF @2008 João Tavares / JOF Comando^ Command: (setq TESTE (list 10 20 30 40))(10 20 30 40)Command: !TESTE(10 20 30 40)Command: (car TESTE)^ retorna o primeiro átomo da lista^10 Comando ...Command: (cdr TESTE) retorna uma lista sem o primeiro átomo da lista original (20 30 40)Command: (cadr TESTE) executa um cdr sobre a lista original e um car sobre o resultado 20 Command: (caddr TESTE) executa um cdr sobre a lista original, mais um cdr e finalmenteum car sobre os respectivos resultados 30^ carcar ,,^ cdrcdr CFAC: AutoLISP (II) - Cálculos, Variáveis e ListasCFAC: AutoLISP (II) - Cálculos, Variáveis e Listas^ e derivadose derivados Escreve o valor davariável TESTE