introdução a clp flávio melo gabriel fornari 1. Índice características das lps; histórico;...

14
Introdução a CLP Flávio Melo Gabriel Fornari 1

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Introdução a CLP

Flávio MeloGabriel Fornari

1

Page 2: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Índice

• Características das LPs;• Histórico;• Objetivos das LPs;• Abstração de dados;• Ambiente e escopo de variáveis;• Herança e polimorfismo.

2

Page 3: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Características das LPs

• O que são?• Pra que servem?• Qual a importâcia?• O que são paradigmas de programação?

3

Page 4: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Um pouco de história

• Antes de 1940– A máquina de tear com cartões perfurados;– Ada Lovelace primeira programadora;

• 1940 a 1950– Plankalkül;– Linguagem de baixo nível (Assembly);– ENIAC coding system.

4

Page 5: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Um pouco de história

• 1950 a 1970– Continuam a ser usadas ainda hoje:• FORTRAN - FORmula TRANslator;• COBOL - COmmon Business Oriented Language;• ALGOL 60 - ALGOrithmic Language;

– “The ALGOL 60 Report”• Blocos Estruturados Aninhados ;• Variável “local”;

5

Page 6: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Mais um pouco de história

• 1970 a 1980– C (1969 a 1973);– Pascal;– Smalltalk;– Prolog;– SQL;

6

Page 7: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

O último pouco de história

• 1980...– C++;– Perl;– Python;– Java;– Ruby;– PHP;– Etc.

7

Page 8: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Características das LPs

• Interpretadas versus Compiladas;• Orientadas a objetos; • Estruturadas;• Linguagens lógicas;• Linguagens funcionais;

8

Page 9: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Objetivos das LPs

• Facilitar a comunicação com a máquina.

9

Page 10: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Abstração de dados

• “o processo de identificar certas propriedades ou características de uma entidade material e usá-las para especificar uma nova entidade que representa uma simplificação da entidade da qual ela foi derivada”.

10

Page 11: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Abstração de dados

• Exemplos:– Listas lineares:• Sequênciais;• Simplesmente e duplamente encadeadas;• Circulares.

– Pilhas e filas;– Matrizes esparsas.

11

Page 12: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Ambiente e escopo de variáveis

• “Especificação do limite dentro do qual os recursos de sistema podem ser utilizados”

• Local versus global;• Passagem por parâmetros:– Por valor;– Por referência.

12

Page 13: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Polimorfismo

• Poli = muitas, morphos = formas;• Existem três tipos de polimorfismo:– De herança;– Paramétrico;– Ad hoc;

• Algumas linguagens orientadas a objetos não possuem todo tipo de polimorfismo.

13

Page 14: Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de

Dúvidas?

14