Buscar

Notas de aula - Paradigmas de programação

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.

Continue navegando