Introdução a CLP Flávio Melo Gabriel Fornari 1. Índice Características das LPs; Histórico;...

Preview:

Citation preview

Introdução a CLP

Flávio MeloGabriel Fornari

1

Í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

Características das LPs

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

3

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

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

Mais um pouco de história

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

6

O último pouco de história

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

7

Características das LPs

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

8

Objetivos das LPs

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

9

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

Abstração de dados

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

– Pilhas e filas;– Matrizes esparsas.

11

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

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

Dúvidas?

14