Lisp : Cálculo aritmético & Simbólico
INTELIGÊNCIA ARTIFICIAL
Aula 3 - Lisp 1: Cálculo aritmético & Simbólico
1/49
Disciplina: Inteligência Artificial – 2º semestre de 2014
Agenda
• Cálculo aritmético
• Números e operações
• Nomear os objetos de cálculo
• Definição de novas funções
• Variáveis globais e locais
• Calculo Simbólico
• Função QUOTE sobre símbolos
• Expressões em Lisp
• Função QUOTE em listas
• Funções de busca em listas
• Funções de construção de listas
• Funções de modificações físicas em listas
2/49
Disciplina: Inteligência Artificial – 2º semestre de 2014
Números e operações
• Exemplo:
C> GCLISP
*5
5
*
• O valor de um número é número.
3/49
Disciplina: Inteligência Artificial – 2º semestre de 2014
4/49
Números e operações
• Exemplos:
> (* 3 5) ; multiplica 3 por 5
15
> (* 2 3 4) ; multiplica 2 por 3 y por 4
24
> (/ 20 5) ; 20 dividido por 5
4.0
• Exemplos:
> (/ 5 20)
0.25
> (/ 24 3 2) ; (24/3) /2
4.0
* (/ 0.5) ; 1/0.5
2.0
• Os números podem combinar-se entre si mediante operações aritméticas usando notação PREFIXADA.
• Para escrever um comentário utiliza-se “;” e o resto da linha será ignorado pelo interpretador
• A multiplicação se representa por “*” e a divisão por “/” e podem ter um número arbitrário de argumentos.
Disciplina: Inteligência Artificial – 2º semestre de 2014
Números e operações
• * (* (- 1 2) (+ 4 5))
• -9
• * (+ (+ 15 5) (- 100 45))
• 75
• A soma e a subtração se representam por “+” e “-”,
respectivamente.
• Ao efetuar uma operação, LISP avalia primeiro seus argumentos. 5/49
Disciplina: Inteligência Artificial – 2º semestre de 2014
Números e operações
• Exercício: calcular
2(4 - 1)6 + (8 - 6)7
18
6/49
Disciplina: Inteligência Artificial – 2º semestre de 2014
7/49
Números e operações
• Exercício: calcular
2(4 - 1)6 + (8 - 6)7
18
• Solução:
• * (+ (* 2 (- 4 1) (/ 6 18)) (* (- 8 6)