Вы находитесь на странице: 1из 14

UNIVERSIDADE ZAMBEZE FACULDADE DE CINCIAS E TECNOLOGIA

CURSO: ENGENHARIA INFORMTICA - 3 Ano-LABORAL

TRABALHO DE PROGRAMAO III

TEMA: Tipos de Paradigmas de programao.

Discente: Adriano J. Canate Benessone Lus Bonomar Fidlio J. Baptista Jnior Michael J. K. Mesquita Toms Manuel Chibai

Docente: Eng. Amilcar Borras

Beira, Fevereiro de 2012

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.

Diferena entre paradigma e linguagem de programao


O relacionamento entre paradigmas de programao e linguagens de programao pode ser complexo pelo fato de linguagens de programao poderem suportar mais de um paradigma. Um paradigma um estilo livre de programao, enquanto que a linguagem de programacao um mtodo para expressar instrues para o computador.

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

Possui numa cdigo,

relacionamento difcil legibilidade pela ocasionados

indirecto difcil

com

a entrada/sada(I/O), resultando Focaliza o como feito o

do programa, erros introduzidos na manuteno do legibilidade.

desenvolvimento e no o que desenvolvido.

Exemplo em C do algoritmo de ordenao por insero:


1 int InsertionSort(int *vetor, int tam){ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 } return 0; } } vetor[j+1] = elemento; for (i=1; i<tam; i++){ elemento=vetor[i]; j=i-1; while ((j >= 0) && (vetor[j] > elemento)){ vetor[j+1] = vetor[j]; j--; int i, j, elemento;

Modelo Computacional do Paradigma Imperativo

Paradigma Orientado a Objectos


A programao Orientada a Objectos baseada na composio e interaco de diversas unidades de softwares denominados objectos. O funcionamento de um software orientado a objetos se d atravs do relacionamento e troca de mensagens entre esses objetos. Esses objetos so classes, e nessas classes os comportamentos so chamados de mtodos e os estados possveis da classe so chamados de atributos. Nos mtodos e nos atributos tambm so definidas as formas de relacionamento com outros objetos. um paradigma que tem como principal caracterstica a manipulao de

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

componentes bsicos como classes, objetos e mensagens. As fundamentais que

caractersticas

toda linguagem orientada a objetos deve suportar : abstrao

de dados (encapsulamento), tipo abstrato de dados (dados + comportamento) e herana.

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

Surge o paradigma OO acrescendo caractersticas inovadoras s

metodologias estruturadas. Possibilita a diviso de problemas em subgrupos; Utilizado comummente em aplicaes comerciais, animao grfica,

banco de dados entre outros.

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

melhor modularizado e possuir partes dele em outros

grande

programas.

conceitos altamente sofisticados

como polimorfismo, funes de alta ordem e avaliao sob demanda.

Desvantagens

Possui

todas

as

desvantagens

do

paradigma imperativo, mas pelo fato de desvantagens so, de certa forma,

ser melhor estruturado, algumas amenizadas.

dessas

Exemplo de cdigo orientado a objectos em Java:


1 public class Caminhao extends Veiculo { 2 3 4 5 6 7 8 9 } public Caminhao(double capacidade, int numEixos) { this.capacidade = capacidade; this.numEixos = numEixos; private double capacidade; private int numEixos;

10 11 12 13 14 } } public double calcularIPVA() { return 0.05 * this.getValor();

Modelo Computacional do Paradigma Orientado a Objetos

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

uso de laos do paradigma imperativo.

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

Um exemplo na linguagem Haskell:


1 pertence :: Eq t => t -> [t] -> Bool 2 pertence x (c:r) 3 4 | x == c = True | otherwise = pertence x r

5 pertence x [] = False

Modelo Computacional do Paradigma Funcional

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,

especialistas, bancos de dados, etc.

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

associaes entre E/S).

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.

Modelo Computacional do Paradigma Lgico

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:

<http://www.slideshare.net/adrianots/estrutura-de-dados-introduo-a-linguagem-c>. Acesso em 24 Fevereiro 2011.

*GRUPO:TECNOLIFE;FERNANDES,ELISA;CARVALHO,KEITH; Disponvel em: <SistemasTecnoLife.blogspot.com>. Acesso em 24 Fevereiro 2011.

*Vrios. Disponvel em:http://www.paulotarso.com/paradigma.htm. Acesso em 25 Fevereiro 2011.

* Disponvel em: <http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_funcional>. Acesso em 25 Fevereiro 2011.

14

Вам также может понравиться