Flávio Melo Gabriel Fornari Introdução a CLP Flávio Melo Gabriel Fornari
Índice Características das LPs; Histórico; Objetivos das LPs; Abstração de dados; Ambiente e escopo de variáveis; Herança e polimorfismo.
Características das LPs O que são? Pra que servem? Qual a importâcia? O que são paradigmas de programação?
Um pouco de história Antes de 1940 1940 a 1950 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.
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”;
Mais um pouco de história C (1969 a 1973); Pascal; Smalltalk; Prolog; SQL;
O último pouco de história 1980... C++; Perl; Python; Java; Ruby; PHP; Etc.
Características das LPs Interpretadas versus Compiladas; Orientadas a objetos; Estruturadas; Linguagens lógicas; Linguagens funcionais;
Objetivos das LPs Facilitar a comunicação com a máquina.
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”.
Abstração de dados Exemplos: Listas lineares: Pilhas e filas; Sequênciais; Simplesmente e duplamente encadeadas; Circulares. Pilhas e filas; Matrizes esparsas.
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.
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.
Dúvidas?