![Page 1: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/1.jpg)
Estudo dos Paradigmas de Programação
![Page 2: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/2.jpg)
Introdução
Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores.
Muitas linguagens integram propriedades de mais de um paradigma.
![Page 3: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/3.jpg)
Paradigmas de Programação
Os principais paradigmas, a considerar na nossa aula serão:
Imperativo; Orientado a Objectos; Funcional; Lógico.
![Page 4: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/4.jpg)
Paradigma ImperativoApresenta programas centrados no conceito
de um estado (modelado por variáveis) e acções (comandos), que o manipulam.
E também denominado por paradigma procedual, por incluir subrotinas ou procedimentos como mecanismos de instrução.
Foi o primeiro paradigma a surgir e é actualmente o dominante.
![Page 5: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/5.jpg)
Modelo Computacional doParadigma Imperativo
Entrada Programa Saída
Estado
![Page 6: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/6.jpg)
Paradigma ImperativoVantagens:Eficiência (usa o modelo de Von Neumann);Uso do modelo “natural” de aplicações do
mundo real;É o paradigma dominante.
Desvantagens:Relacionamento indireto entre E/S resulta em:- Difícil legibilidade;- Erros introduzidos durante manutenção;
- Descrições demasiadamente operacionais;Basea-se no como e não no que.
![Page 7: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/7.jpg)
Paradigma Orientado aObjectos
• Não é um paradigma no sentido da palavra, é uma subclassificação do paradigma imperativo;
• A diferença reside na metodologia, quanto à concepção e modelagem do sistema;
• De maneira geral, uma aplicação é estruturada em módulos (classes) que agrupam um estado e operações (métodos) sobre eles.
• As classes podem ser usadas como tipos (cujos elementos são objetos).
![Page 8: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/8.jpg)
Modelo Computacional doParadigma Orientado a Objectos
![Page 9: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/9.jpg)
Paradigma Orientado aObjectos
Vantagens:As mesmas a do paradigma imperativo;Classes estimulam projeto centrado em dados: modularidade, reusabilidade e extensibilidadeAceitação comercial crescente
Desvantagens:Semelhantes às do paradigma imperativo, mas amenizadas pelas facilidades de estruturação
![Page 10: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/10.jpg)
O Paradigma FuncionalOs programas são funções que descrevem uma
relação explícita e precisa entre E/S;
O estilo é declarativo:- não há o conceito de estado;- nem comandos como atribuição;
Conceitos sofisticados como polimorfismo, funções de alta ordem e avaliação sobre demanda;
Aplicação: prototipação.
![Page 11: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/11.jpg)
Modelo Computacional doParadigma Funcional
Entrada Programa Saida
![Page 12: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/12.jpg)
O Paradigma FuncionalVantagens:Manipulação de programas mais simples:- Prova de propriedades;- Transformação (exemplo: otimização);Concorrência explorada de forma natural.
Desvantagens : O mundo não é funcional;Implementações ineficientes;Mecanismos primitivos de E/S e formatação.
![Page 13: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/13.jpg)
O Paradigma LógicoProgramas são relações entre E/S;
Estilo declarativo, como no paradigma funcional;
Na prática, inclui características imperativas, por questão de eficiência;
Aplicações: sistemas especiais e banco de dados.
![Page 14: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/14.jpg)
Modelo Computacional doParadigma Lógico
Entrada Programa Saída
![Page 15: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/15.jpg)
O Paradigma Lógico
Vantagens:Em princípio, todos paradigmas declarativos,
permitem concepção da aplicação em um alto nível de abstração (através de associações entre E/S).
Desvantagens:Linguagens usualmente não possuem tipos,
nemsão de alta ordem.
![Page 16: Estudo dos Paradigmas de Programação. Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc101497959413d8bd0df/html5/thumbnails/16.jpg)