LISP - Introdução. Existem vários dialectos de LISP: COMMON LISP (o mais sofisticado e mais utilizado) Outros: MAC LISP, INTERLISP, XLISP

Tamanho: px
Começar a partir da página:

Download "LISP - Introdução. Existem vários dialectos de LISP: COMMON LISP (o mais sofisticado e mais utilizado) Outros: MAC LISP, INTERLISP, XLISP"

Transcrição

1 LISP - Introdução Linguagem de alto nível, criada por John McCarty em 1959, tendo em vista facilitar a programação de sistemas de raciocínio baseados em lógica Foi adoptada como linguagem principal em investigação em IA (1956). É uma das linguagens de alto nível com menos restrições de sintaxe O LISP foi originalmente desenhado para ser uma linguagem interpretada: Interface: Editor Interpretador Desenvolvimento de programas de forma incremental mais simples teste modular Desenvolvimento bottom-up Actualmente o código em LISP pode ser compilado Maior velocidade de execução Existem vários dialectos de LISP: COMMON LISP (o mais sofisticado e mais utilizado) Outros: MAC LISP, INTERLISP, XLISP É uma linguagem para manipulação de símbolos LISP é o acrónimo para LISt Processor Os programas podem ser tratados como dados Conceitos fundamentais: Símbolos (atoms) Listas Recursão Abstração Links interessantes: (sobre a linguagem, aplicações e software, bibliografia) Implementações de Common Lisp gratuitas: clisp, allegro CL (versão reduzida).

2 Introdução: Interpretador CLISP Allegro Common Lisp Saír do LISP: (exit) :quit :exit Ajuda sobre comandos: :h :help Reset do interpretador :reset Interpretador: read-eval-print loop: >( ) 10 >

3 Tipos Básicos de Informação Atomos e Listas ATOMOS a () Ana LISTAS 34 (a john 34 c3po) Átomos (expressões atómicas): >10 10 Sequências de caracteres Podem ser: números, caracteres e strings ou símbolos números, caracteres e strings: quando introduzidos, o resultado da avaliação é o próprio valor introduzido Números > Caracteres: objectos começados por #\ >#\a #\a > 5/6 5/6 > #c(3 4) #c(3 4) >(+ #c( 3) 4) #c( 6 3) >#\A #\A (a) >5.0/6 Error: Attempt to take the value of the unbound variable `5.0/6'. [condition type: UNBOUND- VARIABLE] >#\newline #\newline Strings: delimitados por aspas > "Esta frase tem duas linhas "Esta frase tem duas linhas" > "hhgh\jjk3#vg" "hhghjjk3#vg" Não confundir #\A com a string A ou com o símbolo A

4 Tipos Básicos de Informação: Atomos / Símbolos Símbolos Print name Value Binding Property List Function binding Se não existir outra regra, o LISP avalia um símbolo devolvendo o seu valor > pi d0 > a Error: Attempt to take the value of the unbound variable `A'. [condition type: UNBOUND-VARIABLE] > (setq a 38) 38 > a 38 > (defun a (k) (princ k)) A >a 38 >(a 89) > (setq alfabeto '(a b c d e f g h i j k l m n o p q r s t u v w x y z)) (A B C D E F G H I J...) >(setq alfabeto_s "abcdefghijklmnopqrstuvwxyz") "abcdefghijklmnopqrstuvwxyz" >9 9 >10 10 >my-age 10 >t T >nil NIL >() NIL NIL: é simultaneamente um átomo e uma lista

5 Tipos Básicos de Informação: Listas Lista: sequência de objectos (números, caracteres, strings, símbolos, listas, etc) separados por espaços em branco e delimitados por parentesis curvos Tem dois objectivos principais: armazena informação e chama funções definidas Pode ter um numero ilimitado de elementos e uma profundidade tão elevada quanto se queira Lista sem elementos (lista vazia): NIL ou () O lisp trata as listas como contendo o nome de uma função seguido dos argumentos (notação prefixa): (name-of-function first-argument second-argument...) >( ) 60 >(setq my-age 9) 9 >(+ my-age (* my-age )) 7 >( ) -6 Algumas funções primitivas +, -, *, /, exp, expt, log, sqrt, sin, cos, tan, max, min. >(expt 3) 8

6 Avaliação de listas > (+ (/ 4 ) (* 4)) 10 Codigo / Codigo * 4 Codigo / 4 Codigo / Codigo * 4 Codigo * 8 Após a avaliação dos elementos da ista, o LISP aplica o function binding (codigo) do primeiro elemento da lista ao resultado da avaliação dos restantes elementos

7 Construtores de listas: cons, list e append Cons: acrescenta um elemento à frente da lista >(cons 1 nil) (1) >(cons 1 (cons nil)) (1 ) >(cons a (b c d)) Error: attempt to call `B' which is an undefined function. [condition type: UNDEFINED-FUNCTION] > (cons 'a '(1 3)) (A 1 3) > (cons '(a b) '(1 3)) ((A B) 1 3) > (cons '(1 3) 'a) ((1 3). A) List: toma os seus argumentos (ilimitado) e faz uma lista com eles: >(cons 'a (cons 'b (cons 'c nil))) (A B C) > (list 'a 'b 'c) (A B C) >(list 1 4 5) (1 4 5) >(list (cons 6 nil) (list )) ((6) ( )) > (list 'a) (A) > (list '(a)) ((A))

8 Constructores de listas: cons, list e append Append: tem como argumentos listas, acrescentado os elementos da segunda lista no final da primeira lista >(append '(a b) '(c d)) (a b c d) > (append '(a b) '(1 3)) (A B 1 3) > (append '((a b)) '(1 3)) ((A B) 1 3) > (setq list1 '(a b c d e f )) (A B C D E F ) > (append (cdr list1) (carlist1)) (B C D E F A) ;; NOTE: Notice the dot between the 6 and the A? ;; This is because (car list1) is not a list. > (append (cdr list1) (list (car list1))) (B C D E F A) > (append (car list1) (cdr list1)) Error: A is not of type LIST. > (append (list (car list1)) (cdr list1)) (A B C D E F )

9 Evitar avaliação de listas: quote > '(1 3 4) (1 3 4) > (quote (1 3 4)) (1 3 4) >(setq months '("jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct" "nov" "dec")) ("jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct"...) >(nth5 months) "jun >'a a >(cons 'a '(b c d)) (a b c d) >(append '(a b) '(c d)) (a b c d) >(list 3 4) ( 3 4) >(list 'a '(a s d f)) (a (a s d f))

10 Selectores: car, first, rest, cdr >(first '(a s d f)) a >(car '(a s d f)) a >(first '((a s) d f)) (a s) >(rest '(a s d f)) (s d f) >(rest '((a s) d f)) (d f) >(rest '((a s) (d f)) ((d f)) >(setq a '(a s d f)) (a s d f) >(first a) a >(rest a) (s d f) >(first (resta)) s >(cddr a) (D F) >(cdddr a) (F) >(cadr a) S > (caddr a) D === (car (cdr a)) first, second, third

11 Mais funções e predicados >(setq a '(a s d f)) (a s d f) >(length '(1 3)) 3 >(length a) 5 >(length (append a a)) 10 >(length '(append a a)) 3 >(length (list a a)) >(atom'a) T >(atom a) NIL >(listp 'a) NIL >(listp a) T

12 Setq e Setf Setq é util para alterar valores de variáveis: >(setq my-age (+ my-age 1)) 11 >(setq a (cdr a)) (a s d f) Mas por vezes queremos alterar apenas parte de uma variável. Ex: >(setq words '(a list of words)) (A LIST OF WORDS) Alterar parte da lista: >(setq words (cons 'this (rest words))) (THIS LIST OF WORDS) Uso de setf: >(setf (first words) 'the) THE >words (THE LIST OF WORDS) >(setf (third words) 'is) IS >words (THE LIST IS WORDS) >(setf (rest words) '(game is up)) (GAME IS UP) >words (THE GAME IS UP)

Introdução à Programação Funcional. Conteúdo

Introdução à Programação Funcional. Conteúdo Introdução à Programação Funcional PPGIA - PUCPR Prof. Fabrício Enembreck 1 Conteúdo Introdução ao Cálculo Lambda e à Programação Funcional Introdução ao LISP e ao Common Lisp Funções Lambda e binding

Leia mais

Common-Lisp (introdutório).

Common-Lisp (introdutório). Common-Lisp (introdutório). Índice Conceitos Básicos Funções e predicados numéricos Funções sobre pares e listas Constantes, variáveis e atribuições Formas especiais Definição de funções Recursão Rastreio

Leia mais

Programação Funcional. Programação Funcional LISP. Paradigma de programação baseado em Funções Matemáticas

Programação Funcional. Programação Funcional LISP. Paradigma de programação baseado em Funções Matemáticas Programação Funcional Programação Funcional Paradigma de programação baseado em Funções Matemáticas Essência de Programação: combinar funções para obter outras mais poderosas PLP 2009/1 Profa. Heloisa

Leia mais

Referências bibliograficas: * Paul Graham, Ansi Common Lisp, Prentice Hall, Livro com descrição da linguagem Common-Lisp.

Referências bibliograficas: * Paul Graham, Ansi Common Lisp, Prentice Hall, Livro com descrição da linguagem Common-Lisp. Aulas práticas e 2 de Inteligência Artificial@IS Referências bibliograficas: * Paul Graham, Ansi Common Lisp, Prentice Hall, 996. Livro com descrição da linguagem Common-Lisp. * António Leitão, Introdução

Leia mais

Introdução à Programação Funcional

Introdução à Programação Funcional Introdução à Programação Funcional PPGIA - PUCPR Prof. Fabrício Enembreck Conteúdo Introdução ao Cálculo Lambda e à Programação Funcional Introdução ao LISP e ao Allegro Common Lisp Funções Lambda e binding

Leia mais

Programação Orientada a Objetos. Programação Funcional

Programação Orientada a Objetos. Programação Funcional Programação Orientada a Objetos Programação Funcional Cristiano Lehrer, M.Sc. Introdução (1/3) É uma categoria de linguagens não-imperativas. Imperativas: Uso eficiente das arquiteturas de computadores

Leia mais

Introdução à Programação Funcional

Introdução à Programação Funcional Introdução à Programação Funcional PPGIA - PUCPR Prof. Fabrício Enembreck 1 Conteúdo Introdução ao Cálculo Lambda e à Programação Funcional Introdução ao LISP e ao CLisp Funções Lambda e binding Funções

Leia mais

para facilitar o trabalho com listas listas Cell model Lista é representada através de uma lista de células

para facilitar o trabalho com listas listas Cell model Lista é representada através de uma lista de células PARADIGMA FUNCIONAL: LISP G Desenvolvida por John McCarthy (1960 para facilitar o trabalho com listas G Programas em Lisp são as próprias listas G Tipos de objetos Átomos - Representados por strings de

Leia mais

Exemplo: ; ver exemplo de aplicação abaixo com mapcar. ; retorna uma lista formada pelos elementos indicados. ; retorna o número de elementos na lista

Exemplo: ; ver exemplo de aplicação abaixo com mapcar. ; retorna uma lista formada pelos elementos indicados. ; retorna o número de elementos na lista Instituto Superior Técnico Licenciatura em Arquitectura Desenho Assistido por Computador II Ano lectivo 2005/06, 2 ano Responsável: Assistente: Prof. José Pinto Duarte Arq. Deborah Benrós Notas de apoio

Leia mais

Tipo de argumentos. valor. argumentos

Tipo de argumentos. valor. argumentos Operação Numero de argumentos Tipo de argumentos valor (+ ) 2 ou + Numérico Soma ( ) 2 ou + Numérico Subtração ( ) 1 Numérico Simétrico (/ ...) 2 ou + Numérico Divisão (cos

Leia mais

Linguagens de Programação Funcional

Linguagens de Programação Funcional Linguagens de Programação Funcional Conceitos de Linguagens de Programação Pedro Libório Setembro de 2013 2 Roteiro Introdução Funções matemáticas Fundamentos das linguagens de programação funcionais A

Leia mais

CFAC: AutoLISP (II) - Cálculos, Variáveis e Listas

CFAC: AutoLISP (II) - Cálculos, Variáveis e Listas AutoLISP -II Cálculos, Variáveis e Listas João Manuel R. S. Tavares / JOF Cálculos Expressões matemáticas são escritas na notação infixa; isto é, o operador antecede os operandos: 1+2 (+ 1 2 32.12-22.5

Leia mais

AutoLISP - II Cálculos, Variáveis e Listas. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

AutoLISP - II Cálculos, Variáveis e Listas. João Manuel R. S. Tavares Joaquim Oliveira Fonseca AutoLISP - II Cálculos, Variáveis e Listas João Manuel R. S. Tavares Joaquim Oliveira Fonseca Cálculos Expressões matemáticas são escritas na notação infixa; isto é, o operador antecede os operandos: 1

Leia mais

CFAC: AutoLISP (I) - Introdução

CFAC: AutoLISP (I) - Introdução AutoLISP -I Introdução João Manuel R. S. Tavares / JOF Bibliografia Programação em AutoCAD, Curso Completo Fernando Luís Ferreira, João Santos FCA Programando em AutoLISP Kramer, W. e Kramer MAKRON Books

Leia mais

Instituto Superior Técnico Licenciatura em Arquitectura Desenho Assistido por Computador II Ano lectivo 2005/06, 2 ano

Instituto Superior Técnico Licenciatura em Arquitectura Desenho Assistido por Computador II Ano lectivo 2005/06, 2 ano Instituto Superior Técnico Licenciatura em Arquitectura Desenho Assistido por Computador II Ano lectivo 2005/06, 2 ano Responsável: Assistente: Prof. José Pinto Duarte Arq. Deborah Benrós Notas de apoio

Leia mais

AutoLISP -II Cálculos, Variáveis e Listas

AutoLISP -II Cálculos, Variáveis e Listas AutoLISP -II Cálculos, Variáveis e Listas João Manuel R. S. Tavares Joaquim Oliveira Fonseca Cálculos Expressões matemáticas são escritas na notação infixa; isto é, o operador antecede os operandos: 1

Leia mais

Uma Aula Prática sobre LISP

Uma Aula Prática sobre LISP MAC 5710 - Estruturas de Dados - 2008 Linguagem LISP Surgiu no final dos anos 50 - John McCarthy (MIT). Linguagem para processamento simbólico. Muito usada em aplicações em Inteligência Artificial. Outras

Leia mais

Abstração de dados. Pedro Kröger. 5 de outubro de Um índice bibliográco poderia ser armazenado dessa maneira:

Abstração de dados. Pedro Kröger. 5 de outubro de Um índice bibliográco poderia ser armazenado dessa maneira: Abstração de dados Pedro Kröger 5 de outubro de 2006 1 Introdução Um índice bibliográco poderia ser armazenado dessa maneira: (setf livro-1 '((Paradigms of Artificial Inteligence) ; titulo (Peter Norvig)

Leia mais

Algoritmo de Dijkstra em LISP

Algoritmo de Dijkstra em LISP Algoritmo de Dijkstra em LISP Léo Willian Kölln 10 de Agosto de 2006 Curso de Ciências da Computação Programação Funcional - INE5363 INE - Departamento de Informática e Estatística CTC - Centro Tecnológico

Leia mais

Anexo A. Resumo dos principais procedimentos do Scheme

Anexo A. Resumo dos principais procedimentos do Scheme Para processamento de booleanos Anexo A Resumo dos principais procedimentos do Scheme #f falso #t verdadeiro (boolean? x) se x for booleano, devolve #t se não, devolve #f (and x1 x2 x3...) calcula x1,

Leia mais

LINGUAGENS FORA DO PADRÃO DE MERCADO

LINGUAGENS FORA DO PADRÃO DE MERCADO LINGUAGENS FORA DO PADRÃO DE MERCADO Alunos: Clayton Reis da Silva Leonardo Lessa Aramaki Leonardo Machado Azevedo Manoel Mariano Siqueira Júnior Essas pessoas criaram as linguagens de programação Forth,

Leia mais

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013 Linguagem Haskell Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação Tiago Carneiro 19 Agosto 2013 1 1 Linguagem Haskell Linguagem de programação funcional É um paradigma de programação

Leia mais

Introdução à Ciência da Computação (ICC) PROVA P2 Sexta-feira 1 de Junho de 2001

Introdução à Ciência da Computação (ICC) PROVA P2 Sexta-feira 1 de Junho de 2001 Introdução à Ciência da Computação (ICC) 2001.1 PROVA P2 Sexta-feira 1 de Junho de 2001 Nome do Aluno: Matrícula PUC: Questões P2 Revisão 1 (1.5) 2 (1.5) 3a (1.0) 3b (1.0) 3c (1.0) 3d (1.0) 4 (2.0) Prova

Leia mais

AutoLISP -I Introdução

AutoLISP -I Introdução AutoLISP -I Introdução João Manuel R. S. Tavares Joaquim Oliveira Fonseca Bibliografia Programação em AutoCAD, Curso Completo Fernando Luís Ferreira, João Santos FCA Programando em AutoLISP Kramer, W.

Leia mais

Cadeira de Procura e Planeamento

Cadeira de Procura e Planeamento Cadeira de Procura e Planeamento Fausto Almeida Mestrado em Engenharia Informática e de Computadores 1º Ano 1 Lisp Diferentes ambientes de desenvolvimento Allegro Common Lisp v8.2 or v9.0 fortemente recomendado

Leia mais

AutoLISP - I Introdução. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

AutoLISP - I Introdução. João Manuel R. S. Tavares Joaquim Oliveira Fonseca AutoLISP - I Introdução João Manuel R. S. Tavares Joaquim Oliveira Fonseca Bibliografia Programação em AutoCAD, Curso Completo Fernando Luís Ferreira, João Santos FCA Programando em AutoLISP Kramer, W.

Leia mais

Universidade Estadual De Santa Cruz (UESC)

Universidade Estadual De Santa Cruz (UESC) Universidade Estadual De Santa Cruz (UESC) CET087 - Conceitos de Linguagem de Programação Prof. Dr. Marcelo Ossamu Honda Departamento de Ciências Exatas e Tecnológicas (DCET) mohonda.uesc(at)google(.)com

Leia mais

Programação Funcional

Programação Funcional Programação Funcional 1 funções como valores argumentos resultado em variáveis em estruturas de dados programação sem efeitos colaterais funcionais ou funções de ordem superior recebem e retornam funções

Leia mais

PLANEJAMENTO DE AULA ANUAL 2016 Série: 8º Ano A e B. Matéria (Arte Plástica e Teatro) 1-Feb 2-Feb 3-Feb 4-Feb 5-Feb

PLANEJAMENTO DE AULA ANUAL 2016 Série: 8º Ano A e B. Matéria (Arte Plástica e Teatro) 1-Feb 2-Feb 3-Feb 4-Feb 5-Feb 1-Feb 2-Feb 3-Feb 4-Feb 5-Feb 8-Feb 9-Feb 10-Feb 11-Feb 12-Feb CARNAVAL 15-Feb 16-Feb 17-Feb 18-Feb 19-Feb 22-Feb 23-Feb 24-Feb 25-Feb 26-Feb 29-Feb 1-Mar 2-Mar 3-Mar 4-Mar 7-Mar 8-Mar 9-Mar 10-Mar 11-Mar

Leia mais

Programação e Computação para Arquitectura 2007/2008

Programação e Computação para Arquitectura 2007/2008 Instituto Superior Técnico Programação e Computação para Arquitectura 2007/2008 Segundo Teste/Primeiro Exame 09/0/2008 Nome: Número: Escreva o seu número em todas as folhas do teste. O tamanho das respostas

Leia mais

Trabalho de Programação Funcional Linguagem Scheme

Trabalho de Programação Funcional Linguagem Scheme Trabalho de Programação Funcional Linguagem Scheme Fábio Davanzo F. de Oliveira, Daniel C. Santos Bacharelado em Ciências da Computação quarta fase, 2002 Departamento de Informatica e Estatística (INE)

Leia mais

Exercícios para Fundamentos da Programação

Exercícios para Fundamentos da Programação Exercícios para Fundamentos da Programação Fausto Almeida, Cláudia Antunes, Ana Cardoso-Cachopo, Pedro Amaro de Matos, Francisco Saraiva de Melo Departamento de Engenharia Informática Instituto Superior

Leia mais

Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos AutoLISP - VII Funções Geométricas, de Strings, de Listas e de João Manuel R. S. Tavares Joaquim Oliveira Fonseca Funções geométricas As funções geométricas do AutoLISP são: distance, angle, polar, inters,

Leia mais

Linguagens de programação funcional

Linguagens de programação funcional Linguagens de programação funcional Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão Exercícios de Programação e Computação para Arquitectura António Menezes Leitão 7 de Novembro de 2008 Figura 1: Treliça composta por elementos triangulares iguais. b a 0 b 0 a 1 1 a 2 c 0 c 1 c 2 Figura

Leia mais

AMBIENTE DE PROGRAMAÇÃO PYTHON II

AMBIENTE DE PROGRAMAÇÃO PYTHON II Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 2 AMBIENTE DE PROGRAMAÇÃO PYTHON II 2.1. Objectivos

Leia mais

Inteligência Artificial

Inteligência Artificial Licenciatura em Engenharia Informática e de Computadores Inteligência Artificial Primeiro Teste 31 de Outubro de 2009 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 9 páginas com

Leia mais

PROCURA E PLANEAMENTO

PROCURA E PLANEAMENTO PROCURA E PLANEAMENTO Primeiro Exame 13 de Janeiro de 2007 11:00-13:30 Este exame é composto por 13 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.

Leia mais

AutoLISP -VII Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

AutoLISP -VII Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos e de AutoLISP -VII Funções Geométricas, de Strings, de Listas e de João Manuel R. S. Tavares / JOF Funções geométricas As funções geométricas do AutoLISP são: distance, angle, polar, inters, cal, osnap

Leia mais

Linguagens de Programação Aula 13

Linguagens de Programação Aula 13 Linguagens de Programação Aula 13 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Suporte para a programação orientada a objetos 2 Na aula de hoje Programação Funcional Linguagem Haskell 3 Roteiro

Leia mais

Inteligência Artificial Taguspark

Inteligência Artificial Taguspark Inteligência Artificial Taguspark Repescagem do Primeiro Teste 22 de Julho de 2006 9H00-10H30 Nome: Número: Este teste tem 7 perguntas e 12 páginas. Escreva o número em todas as páginas. Deve ter na mesa

Leia mais

Algoritmos de Ordenação em LISP

Algoritmos de Ordenação em LISP Algoritmos de Ordenação em LISP Léo Willian Kölln 8 de Agosto de 2006 Curso de Ciências da Computação Programação Funcional - INE5363 INE - Departamento de Informática e Estatística CTC - Centro Tecnológico

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas 2017.2 http://www.dcc.ufrj.br/~fabiom/lp Introdução Quais das expressões abaixo têm o mesmo significado? (vector-ref a 42) Introdução Quais das expressões abaixo

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Introdução Quais das expressões abaixo têm o mesmo significado? (vector-ref a 42) Introdução Quais das expressões

Leia mais

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários Nesta aula... 1 2 Introdução à - minor Ciência de computadores: incluí tópicos de matemática (linguagens formais para especificar ideias) engenharia (projetar, juntar componentes para formar um sistema,

Leia mais

Introdução à Programação / Programação I

Introdução à Programação / Programação I Introdução à Programação / Programação I Aula 2: Introdução à linguagem Python Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Porquê programar? 2. Linguagens de Programação

Leia mais

Programação Funcional

Programação Funcional Programação Funcional Capítulo 2 Primeiros Passos José Romildo Malaquias 2012.1 Departamento de Computação Universidade Federal de Ouro Preto 1 / 39 1 Glasgow Haskell Compiler 2 O módulo Prelude 3 Aplicação

Leia mais

Inteligência Artificial

Inteligência Artificial Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Guia de Exercícios das Aulas Práticas Inteligência Artificial Prof Joaquim Filipe Eng. Adelaide

Leia mais

Conceitos de Linguagem de Programação - 2

Conceitos de Linguagem de Programação - 2 Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação

Leia mais

INTRODUÇÃO AO SCILAB

INTRODUÇÃO AO SCILAB INTRODUÇÃO AO SCILAB O programa SCILAB é um ambiente apropriado ao desenvolvimento de software para computação numérica. Esse programa foi concebido e é mantido pelo Institut de Recherche em Informatique

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 21 de Abril de 2012 11:30 13:00 Nome: Número: Esta prova, individual e sem consulta, tem 5 páginas com 10 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Laboratório de Programação 1 Aula 04

Laboratório de Programação 1 Aula 04 Laboratório de Programação 1 Aula 04 Mário Hozano professor@hozano.com Ciência da Computação UFAL - Arapiraca Relembrando a aula anterior... O que são valores, tipos e variáveis? Descreva os tipos int,

Leia mais

Espaço de Tipos. Amarração Tipo. Amarração Valor. Amarração Localização. Amarração Nome. Objeto de Dado

Espaço de Tipos. Amarração Tipo. Amarração Valor. Amarração Localização. Amarração Nome. Objeto de Dado 1.5.3.1. Objetos de Dados Como já comentado, cada variável possui uma área de armazenamento amarrada a si durante a execução do programa, e o seu o tempo de vida é o período de tempo no qual a amarração

Leia mais

Informações. Programação Funcional. Por que um curso de programação funcional? O que é Programação Funcional? Objetivos da programação funcional

Informações. Programação Funcional. Por que um curso de programação funcional? O que é Programação Funcional? Objetivos da programação funcional Informações Sérgio Soares scbs@cin.ufpe.br Linguagens de Programação 2 Paradigma de Carga Horária: 60h Horário: 2 as e 6 as das 10h30 as 12h10 Local: 2 as no LIP4 e 6 as no LIP1 Grupo http://groups.yahoo.com/group/lp2_poli

Leia mais

Resolução de 8-Puzzle com A* em LISP

Resolução de 8-Puzzle com A* em LISP Resolução de 8-Puzzle com A* em LISP Léo Willian Kölln 13 de Agosto de 2006 Curso de Ciências da Computação Programação Funcional - INE5363 INE - Departamento de Informática e Estatística CTC - Centro

Leia mais

IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO

IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO 001-00 IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP MARIA JOÃO TAVARES DE CASTRO SANTOS COSTA MARIA TERESA VITERBO

Leia mais

Desafios para as Empresas Portuguesas

Desafios para as Empresas Portuguesas Desafios para as Empresas Portuguesas Francisco Pinto Balsemão IMPRESA Conferência CMVM Porto, 12 Abril 2002 www.impresa.pt 1 Evolução das cotações da IMPRESA vs EuroStoxx Media (Jan - Abr 02) 1.300 1.100

Leia mais

Prof. Marcelo Azevedo Costa. Departamento de Engenharia de Produção Universidade Federal de Minas Gerais

Prof. Marcelo Azevedo Costa. Departamento de Engenharia de Produção Universidade Federal de Minas Gerais Prof. Marcelo Azevedo Costa Departamento de Engenharia de Produção Universidade Federal de Minas Gerais Leitura de dados: leitura de dados a partir de arquivos leitura de dados a partir de páginas na web.

Leia mais

AutoLISP -V Manipulação de entidades

AutoLISP -V Manipulação de entidades AutoLISP -V Manipulação de entidades João Manuel R. S. Tavares Joaquim Oliveira Fonseca Dados das entidades No Autolisp, o processo de acesso aos dados das entidades estende-se a vários níveis da estrutura

Leia mais

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark Inteligência Artificial Alameda e Taguspark Repescagem do Primeiro Teste 13 de Fevereiro de 2009 17H00-18H30 Nome: Número: Este teste tem 7 perguntas e 5 páginas. Escreva o número em todas as páginas.

Leia mais

Compiladores - Especificando Sintaxe

Compiladores - Especificando Sintaxe Compiladores - Especificando Sintaxe Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Recursão mútua com pares Agora podemos definir o par de funções mutuamente recursivas: letrec pi = cons( if x < 1

Leia mais

Programação I Aula 2 Apresentação da linguagem Python

Programação I Aula 2 Apresentação da linguagem Python Programação I Aula 2 Apresentação da linguagem Python Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 2 Apresentação da linguagem Python 2017 1 / 25 Nesta aula... 1 Porquê

Leia mais

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Expressões Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes Aula de

Leia mais

Indice 1

Indice 1 Introduc~ao a Linguagem Lisp Antonio Menezes Leit~ao Revis~ao de Jo~ao Cachopo Outubro 1995 Indice 1 1 Linguagem de Programac~ao Uma linguagem de programac~ao n~ao e apenas um meio de indicar a um computador

Leia mais

Linguagem Haskell. Riocemar S. de Santana

Linguagem Haskell. Riocemar S. de Santana Linguagem Haskell Riocemar S. de Santana Haskell, o que é? É uma linguagem de programação puramente funcional, de propósito geral. Nomeada em homenagem ao matemático americano Haskell B. Curry (1900 1982).

Leia mais

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático Java Básico Objetivo: Os assuntos apresentados no decorrer do curso Java Básico incluem os conceitos gerais desta linguagem assim como a definição e utilização de seus recursos diversos, tais como: tipos

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Exercícios da cadeira de Inteligência Artificial. Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos

Exercícios da cadeira de Inteligência Artificial. Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos Exercícios da cadeira de Inteligência Artificial Helena Sofia Pinto João Cachopo Daniel Gonçalves Carlos Lopes António Inês Lynce Pedro Matos Ano Lectivo 2001/2002 1 Prefácio Este documento reúne os exercícios

Leia mais

Processamento da Informação Teoria Funções

Processamento da Informação Teoria Funções Processamento da Informação Teoria Funções Semana 01 Prof. Jesús P. Mena-Chalco 27/04/2013 Funções No contexto de linguagens de programação, uma função é uma sequência de instruções utilizada para realizar

Leia mais

Introdução à linguagem C

Introdução à linguagem C Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo

Leia mais

CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON

CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006 FICHA 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON 2.1.

Leia mais

Linguagens de Programação. Nomes, Escopos e Vinculações (Bindings) Carlos Bazilio

Linguagens de Programação. Nomes, Escopos e Vinculações (Bindings) Carlos Bazilio Linguagens de Programação Nomes, Escopos e Vinculações (Bindings) Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Nomes Forma mais simples de abstração Um nome é um caracter

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Introdução Esta unidade curricular, é uma variante de outras similares leccionadas a outros cursos da FCT/NOVA,

Leia mais

Linguagens de Programação Funcional

Linguagens de Programação Funcional Linguagens de Programação Funcional George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Introdução O projeto de linguagem imperativas é baseado na arquitetura de von Neumann Eficiência é o objetivo

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 03 Processo de Compilação Edirlei Soares de Lima Métodos de Implementação Arquitetura de Von Neumann: A linguagem de máquina de um computador

Leia mais

Unidade 6: Ambiente de Programação Prof. Daniel Caetano

Unidade 6: Ambiente de Programação Prof. Daniel Caetano Lógica de Programação para Engenharia 1 Unidade 6: Ambiente de Programação Prof. Daniel Caetano Objetivo: Apresentar o uso de funções prontas do Portugol e do C/C++ para efeturar cálculos mais complexos.

Leia mais

É a resposta à execução, sob demanda do operador, do seguinte comando CHM : DISPLAY-NSCLOG-FILECHAR

É a resposta à execução, sob demanda do operador, do seguinte comando CHM : DISPLAY-NSCLOG-FILECHAR Gestão do Sistema RRN 05437 Condição de Ativação da Mensagem É a resposta à execução, sob demanda do operador, do seguinte comando CHM : CRN 5711 DISPLAY-NSCLOG-FILECHAR DOCC: MMCC: CYB3WH02 B6P7WH02 000119

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Segundo Teste 15 de Janeiro de 2015 18:00-19:30 Este teste é composto por 9 páginas contendo 8 grupos de perguntas. Identifique já todas as folhas do teste com o seu nome e número.

Leia mais

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB Aula 01 Introdução ao software MATLAB O MATLAB (Matrix Laboratory) é um ambiente de programação de alto desempenho voltado para a resolução de problemas expressos em notação matemática, projeto e simulação

Leia mais

A máquina SECD. Pedro Vasconcelos. 20 de Fevereiro de 2014

A máquina SECD. Pedro Vasconcelos. 20 de Fevereiro de 2014 A máquina SECD Pedro Vasconcelos 20 de Fevereiro de 2014 O que é a máquina SECD? Um interpretador da linguagem funcional ISWIM (Landin, 1964) Máquina virtual para compilação LISP/Scheme (Henderson, 1980)

Leia mais

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores Nesta aula... Conteúdo 1 Expressões, valores e tipos 1 2 Variáveis e atribuições 5 1 Expressões, valores e tipos Expressões e valores Tipos programas calculam expressões para produzir valores cálculo de

Leia mais

Versão em Português Clique Aqui English Version Click Here

Versão em Português Clique Aqui English Version Click Here Versão em Português Clique Aqui English Version Click Here Boletim Mensal de Formador de Mercado Juros e Moedas Março/2018 JUROS E MOEDAS Estatísticas Consulta de Parâmetros Programas Abertos Para Credenciamento

Leia mais

= = = = = = = = = = = = = = = =

= = = = = = = = = = = = = = = = Página 1 de 7 A Linguagem PASCAL = = = = = = = = = = = = = = = = 1) ALFABETO: são os símbolos (ié, caracteres ) permitidos na linguagem. São as letras (maiúsculas e minúsculas), os algarismos (ou dígitos)

Leia mais

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será

Leia mais

Versão em Português Clique Aqui English Version Click Here

Versão em Português Clique Aqui English Version Click Here Versão em Português Clique Aqui English Version Click Here Boletim Mensal de Formador de Mercado Juros e Moedas Fevereiro/2018 JUROS E MOEDAS Estatísticas Consulta de Parâmetros Programas Abertos Para

Leia mais

Programação Funcional

Programação Funcional Programação Funcional Lucília Camarão de Figueiredo Universidade Federal de Ouro Preto lucilia@dcc.ufmg.br Aula 01: Introdução 1 PARADIGMAS DE PROGRAMAÇÃO Imperativo (FORTRAN, PL1, Ada, C, Pascal) Sequência

Leia mais

Programação e Computação para Arquitectura 2010/2011

Programação e Computação para Arquitectura 2010/2011 Instituto Superior Técnico Programação e Computação para Arquitectura 2010/2011 Segundo Teste/Primeiro Eame 10/01/2011 Nome: Número: Escreva o seu número em todas as folhas da prova. O tamanho das respostas

Leia mais

Introdução à Programação Aula 2 Introdução à linguagem Python

Introdução à Programação Aula 2 Introdução à linguagem Python Introdução à Programação Aula 2 Introdução à linguagem Python Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 2 Introdução à linguagem Python 2015 1 / 24 Nesta

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

Unidade 6: Ambiente de Programação

Unidade 6: Ambiente de Programação Lógica de Programação para Engenharia 1 Unidade 6: Ambiente de Programação Prof. Daniel Caetano Objetivo: Apresentar o uso de funções prontas do Portugol e do C/C++ para efeturar cálculos mais complexos.

Leia mais

Python e sua sintaxe LNCC UFRJ

Python e sua sintaxe LNCC UFRJ Python e sua sintaxe LNCC UFRJ Linguagens naturais e formais Linguagens naturais Linguagem formal Um conjunto finito e não-vazio cujos elementos são símbolos Qualquer cadeia finita de símbolos justapostos

Leia mais

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C Página 1 2 TECNOLOGIA ELEMENTAR CAPÍTULO 3 SUMÁRIO Apresentação -----------------------------------------------------------

Leia mais

Programação para Internet II PHP Funções. Nuno Miguel Gil Fonseca

Programação para Internet II PHP Funções. Nuno Miguel Gil Fonseca Programação para Internet II 2.4. PHP Funções Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Funções O recurso ao uso de funções permite obter código mais simples, mais legível e mais simples de codificar

Leia mais

ALGORITMOS E ESTRUTURA DE DADOS

ALGORITMOS E ESTRUTURA DE DADOS ALGORITMOS E ESTRUTURA DE DADOS Algoritmos Tipos de Dados Prof. André Peixoto - Todo o trabalho realizado por um computador é baseado na manipulação dos dados/informações contidas em sua memória. Podemos

Leia mais

Exercícios da cadeira de Introdução à Programação

Exercícios da cadeira de Introdução à Programação Exercícios da cadeira de Introdução à Programação Cláudia Antunes Ana Cardoso Cachopo João Cachopo Francisco Couto António Leitão Inês Lynce César Pimentel H. Sofia Pinto Ano Lectivo 2002/2003 Parte II

Leia mais

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp

MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples. Instituto de Computação Unicamp MC-102 Aula 02 Shell Interativa, Programa Básico, Variáveis, Atribuições, Tipos Simples Instituto de Computação Unicamp 2016 Roteiro 1 Shell Interativa 2 Estrutura de um Programa em Python 3 Variáveis

Leia mais

Listas generalizadas. SCC-202 Algoritmos e Estruturas de Dados I

Listas generalizadas. SCC-202 Algoritmos e Estruturas de Dados I Listas generalizadas SCC-202 Algoritmos e Estruturas de Dados I Lista generalizada Uma lista generalizada é aquela que pode ter como elemento ou um átomo ou uma outra lista (sub-lista) Átomo: integer,

Leia mais

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Programação II Prof.ª Claudia Boeres (boeres@inf.ufes.br) CT IX - Sala 201 Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Linguagem

Leia mais