Baixe o app para aproveitar ainda mais
Prévia do material em texto
Trabalho de Fundamentos em Linguagem e Teoria da Computação Data: 26/06/2014 Nome: Daniela Poletto Fernanda Fernandes Peronaglio Curso: Ciências da Computação � Parte 1 1.1) Paradigma Funcional: Baseado em funções matemáticas, é controlado por recursão e por expressões condicionais; não pela repetição iterativa. Tem como objetivo imitar funções matemáticas da forma mais fiel possível, portanto não são usadas variáveis ou instruções de atribuição. Paradigma Lógico: Tem como ideia central expressar programas na forma de lógica simbólica e usa um processo de inferência lógica para produzir resultados, ou seja, relações são caracterizadas como expressões da lógica matemática. Paradigma Imperativo:baseia-se no conceito de comandos e utilização de variáveis. A construção do programa é dirigida pelas transformações que ocorrem nos dados. Este conceito foi baseado na maquina de Turing, abstração matemática que corresponde ao conjunto de funções computáveis proposta por Alan Turing buscando assim se aproximar ao máximo da ideia de funcionamento de uma máquina. Paradigma Orientado a Objeto: Tem como principio a solução de problemas pela cooperação de vários elementos, da mesma forma que usamos a prestação de serviços de outras pessoas para resolver vários dos nossos problemas. A construção de programas é dirigida pelas mudanças de estados de entidades abstratas denominadas objetos, onde objetos são conjunto de repositórios de dados mais um conjunto de operadores capazes de transformar os valores dos dados nesses repertórios. 1.2) Linguagem Paradigma Predominante Java Paradigma Orientado a Objetos Javascript Paradigma Orientado a Objetos Php Paradigma Imperativo C Paradigma Imperativo C++ Paradigma Orientado a Objetos Ruby Paradigma Orientado a Objetos VB .NET Paradigma Orientado a Objetos C# Paradigma Orientado a Objetos Python Paradigma Orientado a Objetos Lisp Paradigma Funcional 1.3) Fortran é uma linguagem imperativa, pois possuía as principais características do paradigma imperativo: variáveis, comandos de atribuições baseados nas operações de transferência dos dados e instruções, execução sequencial de instruções, e forma iterativa de repetição, além de ser baseada no conceito da máquina de Turing que utiliza a mudança de estados para resolver problemas. Parte 2 2.1) a) A abstração é uma solução computacional que pode ser vista e tratada de maneiras diferentes. O programador que irá fazer a abstração precisa conhecer o seu funcionamento, já o usuário apenas utiliza da mesma, sem a necessidade de conhecer como cada processo é realizado. b) O paradigma orientado a objeto usa a abstração quando comunica-se com seus objetos para obter resultados, porém não se importa com o processo realizado, apenas utiliza a resposta. O principio deste paradigma é a divisão dos serviços e das responsabilidades, reduzindo a complexidade de cada um. Já o paradigma imperativo não faz essa divisão, a responsabilidade é somente do programa, os modulos não são independentes, as abstrações são agrupadas, o que gera um programa mais complexo. 2.2) program CALC; VAR num:integer; total:integer; BEGIN writeln ('Digite um numero'); readln (num); total:=num – 10; BEGIN IF total > 0 THEN writeln('Maior que zero'); END; BEGIN IF total <= 0 THEN writeln('Menor ou igual a zero'); END; readln( ); END. O ultimo readln( ) foi utilizado para manter o programa em execução, para que o usuário possa analisar o resultado sem que a tela se feche. Compilado em FREE PASCAL. 2.3) a) (LAMBDA(x y ) (+(*2 x) (*3 y))) 1 2) O valor definido para x é 1 e para y é 2. A operações são realizadas em ordem: (2*1) = 2 (3*2) = 6 (2+6) = 8 retorna o valor 8. b) (NULL? '(A B C D E)) Verifica se o parametro é uma lista vazia, neste caso seria falso. c) (CAR '(A (B C) D E)) CAR retorna o primeiro elemento da lista, retornando A d) (CDR '(A (B C) D E)) CDR remove o primeiro elemento da lista e exibe o que restou dela, retornando ((B C ) D E ) 2.4) (DEFINE (menor a b) (if (< a b) (DISPLAY “a”) ) (if (< b a) (DISPLAY “b”) ) ) 2.5) ?- fala(ana,portugues) - YES O programa consulta a regra fala(A,C) :- nasceu(A,B) , idioma(B,C) encontrando que B é Brasil e verificando que ambas são verdadeiras. ?-fala(yves,X) X=frances; X=ingles; O programa faz a consulta nas duas instruções sobre fala e encontra a regra da língua do país onde yves nasceu e a que ele estudou. ?-fala(yves,frances) – YES O programa consulta as regras no mesmo modelo da primeira pegunta. 2.6) gosta(joao,X) :- gosta(X,vinho).
Compartilhar