Paradigmas

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1853 palavras )
  • Download(s) : 0
  • Publicado : 5 de dezembro de 2012
Ler documento completo
Amostra do texto
Nome: Gabriel Paro RA: 944871-3
Curso: Ciência Da Computação

Paradigmas de Linguagens

Introdução

Paradigmas de Linguagens de Programação começaram a ser difundidos por volta de 1975. Nesse período, já existia o paradigma de programação imperativo, que era representado por Fortran, Algol, Pascal, entre outras. A partir daí, começaram a surgir novas linguagens e, portanto, novosparadigmas. Mas o que é um paradigma de linguagem de programação? Em tese, pode ser considerado um estilo de programação suportado por linguagens que agrupam determinadas características em comum, ou seja, é um padrão de resolução de problemas que se relaciona com um determinado gênero de programas de linguagens (TUCKER, 2008).

Paradigmas de Linguagens

O termo paradigma foi introduzido porKuhn em 1962, designando o conjunto de crenças e preconceitos que permearia a atividade dos membros de um corpo científico em um certa época.
Em programação, os paradigmas começaram a ser introduzidos e chamados como tais a partir de 1975. Nessa época já era evidente a existência de um paradigma básico de programação, o imperativo , que era representado por linguagens como Fortran, Algol e Pascal.Em contraposicão, LISP e linguagens derivadas davam suporte a um outro paradigma, o funcional, cujos programas eram expressos através de composições de funções. Na década de 80 surgiu um novo paradigma, o lógico, baseado no reconhecimento de Prolog e outras linguagens baseadas em lógica. Também nesta época surgiram as linguagens orientadas a objeto, que constituem o paradigma em voga.

Pode-seentão, classificar-se os paradigmas da seguinte forma:

• Imperativo:

Linguagens que expressam seqüências de operações necessárias para os cálculos; são orientadas a comando .
Subclasses:
* procedimental : construções para modularizar o código na forma de procedimentos e funções.
* Orientada a objeto : computação é vista como a interação entre objetos de dados ativos; todosdados são objetos, todos objetos são tratados com uniformidade e todo processamento é realizado pela passagem de mensagens entre objetos; cada objeto incorpora operações definidas para ele e o controle tem a forma de mensagens enviadas a objetos de dados para transformá-los; obejtos similares podem ser agrupados em uma hierarquia de classes, com classes capazes de herdarem atributos de suassuper-classes.

• Declarativo:

Dão ênfase ao que calcular, ao invés de como calcular; um programa declarativo é um statement que se concentra na solução.
Subclasses:
* Lógico : construções para definir relações atômicas entre valores através de regras, na forma de implicações na quais uma conclusão, no máximo, deriva da conjunção de zero ou + condições; os programas são interrogados paraelucidar verdades sobre indivíduos e relações.
* Funcional (aplicativo) : especificam a saída como uma função; são orientadas a valor.

Controle de Execução

O comportamento de um programa lógico depende da ordem com a qual a resolução é feita. Prolog define com precisão a ordem de resolução. As afirmações no lado direito da cláusula são testadas da esquerda para a direita. Se diversascláusulas definem a mesma relação, então elas são testadas da 1a até a última. Conseqüentemente, programas Prolog são determinísticos. Se uma pergunta (query) tem múltiplas respostas, nós podemos prever a ordem na qual as respostas vão ser achadas.

O mecanismo de backtracking consome muito espaço e tempo de processamento. se nós sabemos de antemão que uma query só tem uma resposta, então é perda detempo para o processador Prolog continuar procurando mais respostas. Prolog tem um seqüenciador chamado cut (ou fail) que suprime backtracking quando é encontrado. Supondo que esteja-se testando a afirmação A usando-se a cláusula ‘ A0 :- A1 , ! , A2. ‘ se A1 falha, então há backtracking e o processador tenta achar outra cláusula para A ; mas se A1 tem sucesso, o processador aceita a 1a resposta...
tracking img