Escolar Documentos
Profissional Documentos
Cultura Documentos
Discente: Adriano J. Canate Benessone Lus Bonomar Fidlio J. Baptista Jnior Michael J. K. Mesquita Toms Manuel Chibai
ndice
Introduo..................................................................................................................................................... 3 Definio de paradigma ................................................................................................................................ 4 Diferena entre paradigma e linguagem de programao ....................................................................... 4 Tipos de paradigmas ..................................................................................................................................... 4 Paradigma Imperativo .............................................................................................................................. 5 Paradigma Orientado a Objectos .............................................................................................................. 7 Paradigma Funcional................................................................................................................................. 9 Paradigma Lgico .................................................................................................................................... 11 Concluso .................................................................................................................................................... 13 Bibliografia .................................................................................................................................................. 14
Introduo
Um paradigma o que determina o ponto de vista da realidade e como se actua sobre ela, os quais so classificados quanto ao seu conceito de base, podendo ser: Imperativo, funcional, lgico, orientado a objectos e estruturado. Cada qual determina uma forma particular de abordar os problemas e de formular respectivas solues. Alm disso, uma linguagem de programao pode combinar dois ou mais paradigmas para potencializar as anlises e solues. Deste modo, cabe ao programador escolher o paradigma mais adequado para analisar e resolver cada problema
Definio de paradigma
basicamente um modelo que interpreta certa realidade de viso que um programador possui sobre a estruturao e execuo de um determinado programa.
Ao estudarmos o paradigma possibilita-nos o seguinte: -expressar ideias na criacao de programas; -maior conhecimento para a escolha da linguagem apropriada em cada caso; -ajudar a aprender novas linguagens de programacao;
A maioria das linguagens de programao so extensas e complexas,normalmente integram varias ideias.Num entanto,cada linguagem baseia-se usualmente numa ideia central ou paradigma.
Tipos de paradigmas
Sendo um paradigma algo que determina o ponto de vista de realidade e como actua. Quanto ao seu conceito de base, podem ser: Imperativo, funcional, lgico, orientado a objectos e estruturado.
Paradigma Imperativo
O paradigma imperativo, tambm conhecido como paradigma procedural baseado na arquitectura de Von Neumann. o primeiro paradigma a existir e at hoje o dominante. Esse paradigma segue o conceito de um estado e de aces que manipulam esse estado, nele encontramos procedimentos que servem de
mecanismos de estruturao. Podemos denomin-lo de procedural por incluir subrotinas ou procedimentos para estruturao. Uma linguagem de programao que utiliza paradigma imperativo, manipula
variveis a partir de ordens ou comandos. O problema analisado at que se encontre uma soluo. Basicamente, uma sequncia de comandos que o computador executar, passo-a-passo, modificando dados e variveis a fim de chegar ao resultado esperado. Alguns exemplos de linguagens que utilizam paradigma imperativo so: Ada, Algol, C, Fortran, Pascal, entre outras.
Caractersticas
Permite utilizao de Estrutura de Dados Possui Funes e Procedimentos Possui Variveis Tipadas Possui Gerncia de Banco de Dados Estrutura do programa semelhante a executada pela mquina.
Vantagens
muito bem esclarecido e dominante por ser a linguagem actualmente mais utilizada. altamente flexvel, podendo ser migrado para outras paradigmas
facilmente, alm de ser bastante eficiente por possuir embutido o modelo Von Neumann.
Desvantagens
indirecto difcil
com
objectos que interagem entre si. Subclassifica o paradigma imperativo a partir da construo de classes, fazendo com que a principal diferena entre ambos seja a concepo e modelagem. Nesse tipo de paradigma so construdas classes. Elas possuem mtodos de construo, que instanciam objetos. Esse conjunto de
objetos gerados trocam mensagens entre si, sendo esse o modo com que se d o funcionamento do sistema. Esse tipo de paradigma possui alguns
caractersticas
Caractersticas
Possui gerncia de Banco de Dados Encapsulamento Re-uso de cdigo e facilidade de manuteno Abstrao semelhante ao mundo real Polimorfismo Classe, objetos e mtodos crescente a quantidade de projectos de software em que o tratamento estruturado ineficaz;
7
metodologias estruturadas. Possibilita a diviso de problemas em subgrupos; Utilizado comummente em aplicaes comerciais, animao grfica,
Exemplos de linguagens de programao que baseiam-se no modelo orientado a objetos: Smalltalk; Python; Ruby; C++; Object Pascal; Java; C#; Oberon; Ada; Eiffel; Simula; NET.
Vantagens
Possui
todas
as
vantagens
do
paradigma imperativo alm do programa ficar re-usabilidade, Possui podendo ser utilizados
grande
programas.
Desvantagens
Possui
todas
as
desvantagens
do
dessas
Paradigma Funcional
Este paradigma trata a computao como uma avaliao de funes matemticas. Este mtodo enfatiza a aplicao de funes, as quais so tratadas como valores de primeira importncia, ou seja, funes podem ser parmetros ou valores de entrada para outras funes e podem ser os valores de retorno ou sada de uma funo. Exemplos de linguagens de programao que baseiam-se no modelo funcional: Lambda (no implementado para computadores); LISP; Scheme (tentativa de simplificar e melhorar o LISP); ML (Criada em universidade); Miranda (tambm criada em universidade); Haskell;
Caractersticas
Programa = Conjunto de Funes Funes obedecem aos princpios matemticos O Interpretador funciona como calculadora No possui estrutura de dados No capaz de Gerir Banco de Dados Os programas so funes que descrevem uma relao explcita e precisa entre E/S Baseadas em funes matemticas Base dos projectos de linguagens no-imperativas Apresenta estilo declarativo: no h o conceito de estado nem comandos como atribuio Conceitos sofisticados como polimorfismo, funes de alta ordem e avaliao sob demanda
Vantagens
Devido ao processo automtico de alocao de memria, ento efeitos colaterais no clculo da funo so eliminados. Sem estes efeitos, a linguagem assegura que o resultado da funo ser o mesmo para um dado conjunto de parmetros no importando onde, ou quando, seja avaliada e empregado em computaes independentes para execuo paralela. A recursividade em programao funcional pode assumir vrias formas e em geral uma tcnica mais poderosa que o
Desvantagens
Na programao funcional parecem faltar diversas construes frequentemente (embora incorrectamente) consideradas essenciais em linguagens imperativas, como C. Por exemplo, no h alocao explcita de memria nem de variveis.
10
5 pertence x [] = False
Paradigma Lgico
Nesse paradigma programas so relaes entre Entrada/Sada. Possui estilo declarativo, como o paradigma funcional. em Inclui caractersticas em imperativas, sistemas
por,questes de
eficincia. Aplicaes
prototipao
geral,
Exemplos de linguagens de programao que baseiam-se no paradigma lgico: Popler; Conniver; QLISP; Planner; Prolog; Mercury; Oz; Frill.
Caractersticas
Programas so relaes entre E/S Estilo declarativo, como no paradigma funcional Na prtica, inclui caractersticas imperativas, por questo de eficincia Aplicaes: prototipao em geral, sistemas especialistas, banco de dados, ... Composto por um conjunto de fatos Coleco de regras de inferncia que estabelecem
11
Relaes entre os fatos Verificar a validade de novas proposies. No Capaz de Gerir Banco de Dados Variveis No Tipadas Utiliza Lgica de Predicados Enfoque em o que o sistema deve fazer e no o como Busca por uma soluo aceitvel ao invs de uma soluo ptima
Vantagens
Possui a princpio todas as vantagens do paradigma funcional. E permite concepo da aplicao em um alto nvel de abstraco (atravs de
Desvantagens
Variveis de programa no possuem tipos, nem so de alta ordem. Exemplo na linguagem PROLOG:
fatorial(0, 1). fatorial(N, F) :N>0, Nmenos1 is N-1, fatorial(Nmenos1, X), F is X * N.
12
Concluso
Os paradigmas de programao so muitas vezes diferenciados pelas tcnicas de programao que probem ou permitem. Esse um dos motivos pelo qual novos paradigmas so considerados mais rgidos que estilos tradicionais. Apesar disso, evitar certos tipos de tcnicas pode facilitar a prova de conceito de um sistema, podendo at mesmo facilitar o desenvolvimento de algoritmos. O trabalho acima apresentado teve como objectivo levar a conhecer os principais tipos de paradigmas de programao, suas caractersticas, suas vantagens e desvantagens, bem como a demonstrao, atravs de exemplos prticos, da sua aplicao em linguagens estudas.
13
Bibliografia
*PARADIGMAS DE PROGRAMAO, Taquara-Rs-Brasil. Disponvel em: <http://fit.faccat.br/~guto/artigos/Artigo_Paradigmas_de_Programacao.pdf>. Acesso em 24 Fevereiro 2011.
*PARADIGMAS DE LINGUAGEM DE PROGRAMAO, Prof. Adriano Teixeira de Souza, Fasul-Faculdade sul Brasil. Disponvel em:
14