Paradigmas de Programação
-
Upload
natanael-augusto-viana-simoes -
Category
Technology
-
view
463 -
download
0
description
Transcript of Paradigmas de Programação
![Page 1: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/1.jpg)
Paradigmas de
Programação
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
![Page 2: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/2.jpg)
Natanael Simõesnatanaelsimoes
Professor de Informática no Instituto Federal de Rondônia – Campus Ariquemes
Bel. Sistemas de Informação – IESUR 2012Esp. Planejamento Educacional e Docência no Ensino Superior – IESUR
2013
![Page 3: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/3.jpg)
Objetivo• Compreender os paradigmas de programação e sua
importância no desenvolvimento de sistemas
![Page 4: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/4.jpg)
Conteúdo Programático• O que é paradigma?
• O que são paradigmas de programação?
![Page 5: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/5.jpg)
Paradigma• Do grego parádeigma
• Significa PADRÃO, MODELO
• Classe de elementos com similaridades
• Antônimo: paradoxo!
“uma constelação de verdades (crenças), valores e técnicas que são compartilhadas pelos membros de uma dada
comunidade” Thomas S. Kuhn
![Page 6: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/6.jpg)
O que são Paradigmas de Programação?
![Page 7: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/7.jpg)
![Page 8: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/8.jpg)
![Page 9: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/9.jpg)
Paradigmas de Programação• É um estilo paradigmático de programar
• Uma linguagem pode ter vários paradigmas
“Fornece a visão que o programador possui sobre a estruturação e execução do programa”
FRANGO, 2009
![Page 10: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/10.jpg)
Paradigmas de Programação• Funcional (funções declarativas matemáticas)
LIPS, Haskell
• Lógico (funções declarativas lógicas)
Prolog, Gödel
• Procedural (funções imperativas lineares)
C, Pascal
• Orientado a objetos (funções imperativas multiplexadas)
C#, Java, PHP
![Page 11: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/11.jpg)
Paradigmas de Programação
Orientado a Objetos
Procedural
![Page 12: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/12.jpg)
Orientação a Objetos (OO)• Visão sistêmica
• Mundo feito de objetos que se relacionam com outros objetos
• Permitiu avanços nos estudos cognitivos (percepção do mundo)
• Permitiu modelar o mundo real em software
![Page 13: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/13.jpg)
Procedural vs OOProcedural Orientação a Objetos
Tipos de Dados Classes
Variável Objeto
Função/Procedimento Operação/Método
Chamada de Função Envio de Mensagem
![Page 14: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/14.jpg)
Abstração• Método da OO para modelagem do mundo
• Visão simplificada do mundo (Generalização)
• Ignora aspectos variáveis com foco na similaridade
![Page 15: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/15.jpg)
Objeto• Alguma coisa que existe
Fisicamente: carro, cachorro, caderno
Conceitualmente: venda, vôo, ordem de serviço
“Softwaremente”: arquivo, vetor
• Possui estados próprios
• Envia mensagens para outros objetos
• Responde mensagens de outros objetos
![Page 16: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/16.jpg)
Classes• Conjunto de objetos com características comuns
• Define as características e comportamentos dos objetos
• Herança e Generalização
![Page 17: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/17.jpg)
Atributos• São as características das classes
• Possuem valores que determinam os estados dos atributos em
cada objeto
![Page 18: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/18.jpg)
Métodos• São as habilidades das classes
• Possuem comportamento determinado para cada habilidade
que o objeto pode executar
• Processado através do envio de mensagens
![Page 19: Paradigmas de Programação](https://reader031.fdocumentos.com/reader031/viewer/2022020218/559c1c6e1a28ab0f158b463e/html5/thumbnails/19.jpg)
Exercícios para entregar1) O que é um paradigma? Dê um exemplo.
2) O que são paradigmas de programação? Quais são eles?
3) De que forma o conceito de abstração ajudou a firmar o
paradigma Orientado a Objetos?
4) Que relação existe entre Classes e Objetos?
5) Abstraia classes físicas e conceituais indicando o
relacionamento entre elas para os seguintes cenários:
Supermercado e Escola (IFRO)