Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagens de Programação Paradigmas Prof. Saulo C. Campos FAGOC Paradigmas de LPs • Paradigmas são conjuntos de conceitos e características agrupam as diversas linguagens de programação em categorias especificas. Paradigma Imperativo • O paradigma imperativo engloba os paradigmas fundamentados da idéia de computação como um processo que realiza mudanças de estados. • Os estados referem-se a variáveis armazenadas em memória. • No paradigma imperativo o programador deve indicar ao computador como os processamentos de dados devem ser efetuados. Paradigma Imperativo • Conceitos fundamentais: Variável, valor e atribuição. • O paradigma imperativo está sub-dividido em paradigmas estruturado, orientado a objeto e concorrente. Paradigma Imperativo - Estruturado - • Baseado em blocos monolíticos. • Fluxo de controle e execução controlados por desvios condicionais. Ex.: Case, ifs aninhados, do while e etc. • Utilização de sub-rotinas (procedimentos e funções). • Utilização de pacotes de dados (structs e records) e variáveis globais. • Vantagens e desvantagens? Paradigma Imperativo - Orientado a objetos - • Divisão conceitual do programa baseada em classes. • Abstração baseada em objetos (instância de uma classe): Dados e métodos (funções) em uma mesma variável de memória. • Adição de novos conceitos: Herança, polimorfismos, sobrecarga e outros... • Vantagens e desvantagens? Paradigma Imperativo - Concorrente - • Este paradigma trabalha com vários processos executando simultaneamente e concorrem por recursos. • Estes recursos não precisam ser únicos, podem ser virtualizados em clauster. • Podem compartilhar informações e áreas de memória. • Linguagens que trabalham com esse paradigma: ADA, Java e Object pascal (Delphi) Paradigma Declarativo • Neste paradigma o programador não indica ao computador quais os passos devem ser tomados, ou, quais instruções devem ser executadas, para a resolução do problema, ele específica como é o problema ou a tarefa a ser realizada. • O pragramador não precisa se preocupar sobre qual é o melhor algoritmo a utilizar, mas sim descrever detalhadamente as características da tarefa a ser resolvida. Paradigma Declarativo • Programas confeccionados em linguagens tipicamente declarativas não apresentam atribuições de variáveis. Pois, na maioria das vezes, as variáveis denotam as especificações sobre relações ou funções a serem executadas. • Os interpretadores e compiladores dessas linguagens controlam a alocação e liberação de memória. • São sub-divididos em Funcionais e Lógico. Paradigma Declarativo - Funcional - • Linguagens do paradigma funcional operam sobre funções que recebem argumentos e retornam os resultados. • Na maioria das vezes, são totalmente recursivas. Sendo a saída de uma função entrada para outra. Paradigma Declarativo - Lógico - • São baseadas em análises lógicas de subconjuntos e de predicados. • Correspondem a um processo de dedução automática.
Compartilhar