A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Curso Sistemas de Informação Disciplina: Arquitetura de Software Paradigmas de Programação.

Apresentações semelhantes


Apresentação em tema: "1 Curso Sistemas de Informação Disciplina: Arquitetura de Software Paradigmas de Programação."— Transcrição da apresentação:

1 1 Curso Sistemas de Informação Disciplina: Arquitetura de Software Paradigmas de Programação

2 2 A maioria das linguagens de programação são extensas e complexas e normalmente integram várias idéias. No entanto, cada linguagem baseia-se, usualmente, numa idéia central, ou paradigma; Conjunto de regras, princípios e valores que determinam um padrão de comportamento; Paradigmas de Programação

3 3 Um paradigma é uma maneira de se abordar a concepção de um programa; Modelo ou estilo de programação suportado por linguagens que agrupam certas características comuns; Determina a visão que o programador tem da estruturação e execução do programa; Paradigmas de Programação

4 4 Por que estudar os diferentes paradigmas? Para saber escolher o paradigma cuja idéia base modele adequadamente o domínio do meu problema; Para escolher a melhor maneira de tratar o problema em questão; Paradigmas de Programação

5 5

6 6 Modelo Declarativo: Abrangem as linguagens que não possuem os conceitos de seqüências de comandos e atribuições; Não manipulam a memória; Dão ênfase ao o que calcular e não como calcular; Modelos de Paradigmas

7 7 Modelo Declarativo: Linguagens funcionais ( resultados obtidos através de funções); Exemplo: Lisp, Scheme, Haskell, APL Linguagens Lógicas (resultados obtidos através da analise de axiomas lógicos); Exemplo: Prolog, Godel Modelos de Paradigmas

8 8 Modelo Imperativo: Abrangem as linguagens que expressam seqüências de comandos e que realizam transformações sobre dados e estados do sistema; Baseado na máquina de Von Neumann; Modelos de Paradigmas

9 9 Modelo Imperativo: Linguagens procedurais ou seqüenciais (código modularizado); Exemplo: Fortran, Basic, Cobol, C, Pascal, Visual Basic Linguagens orientadas a objetos(computação é a interação entre objetos); Exemplo: C++, Java Modelos de Paradigmas

10 10 Paradigmas de Programação

11 11 Primeiro paradigma a surgir e ainda é o dominante. Programas centrados no conceito de um estado (modelado por variáveis) e ações (comandos) que mudam o estado. Pode incluir subrotinas ou procedimentos como mecanismo de estruturação. Uma computação significa transformar valores da memória do computador; Paradigma Sequencial ou Procedural

12 12 As regras são definidas por passos a serem executados; Declaração explicita de variáveis e alocação de memória; Presença de laços e iteratividade Executar um programa significa executar uma série de comandos; Paradigma Sequencial ou Procedural

13 13 O estado de um programa é mantido nas variáveis do programa; Essas variáveis são associadas a localizações de memória caracterizadas por um endereço e por um valor armazenado no endereço; É possível acessar o valor diretamente, lendo o valor da variável; O valor da variável é modificado através de atribuições. Por exemplo, em Pascal: X := 5; Paradigma Sequencial ou Procedural

14 14 O termo à esquerda do operador de atribuição (:=) é a variável cujo valor está sendo modificado e à direita está o novo valor; A variável X tem valores diferentes antes e depois da atribuição; O significado (efeito) de um programa depende da ordem em que as atribuições são escritas e executadas; Paradigma Sequencial ou Procedural

15 15 Paradigma Sequencial ou Procedural

16 16 Trata a computação como uma avaliação de funções matemáticas; Função matemática é uma correspondência de membros de um conjunto domínio com o conjunto imagem; Função retorna elemento do conjunto imagem; Uma função, neste sentido, pode ter ou não ter parâmetros e um simples valor de retorno. Os parâmetros são os valores de entrada da função e o valor de retorno é o resultado da função; Paradigma Funcional

17 17 Utiliza apenas funções que, dada uma lista de parâmetros, retornam um único valor; Busca imitar as funções matemáticas no maior grau possível; Forma das Funções Simples: Cubo(x) x * x* x, em que x é um número real; >Cubo(2) = 8 Paradigma Funcional

18 18 A ordem de avaliação das expressões de mapeamento é controlada por recursão e iteração; RECURSÃO: int fatorial(int n){ if (n == 0) return 1; else return ( n * fatorial( n – 1 ) ); } Paradigma Funcional

19 19 X := fatorial(4); N=4 -> 4 * fatorial(3) => 4 * 6 = 24 N=3 -> 3 * fatorial(2) => 3 * 2 = 6 N=2 -> 2 * fatorial(1) => 2 * 1 = 2 N=1 -> 1 * fatorial(0) => 1 * 1 = 1 N=0 -> 1 Paradigma Funcional

20 20 Exemplo: (DEFINE pi ) (DEFINE dois_pi (* 2 pi)) (DEFINE quadrado_numero (* numero numero)) (DEFINE (fatorial n) (IF (= n 0) 1 (* n (fatorial ( - n 1) ) ) )) Paradigma Funcional

21 21 Exemplo: (DEFINE (compare x y) (COND (( > x y) (DISPLAY x é maior que y)) (( < x y) (DISPLAY x é menor que y)) (ELSE (DISPLAY x e y são iguais)) Paradigma Funcional

22 22 Conceito de objetos cooperativos; Mundo é um conjunto de objetos que interagem entre si; Objetos são instâncias de uma classes, possuem um conjunto de atributos e métodos; Modelam entidades do mundo real; Objetos: Ocorrência específica de uma classe; Ex: carro, pessoa Paradigma Orientado a Objetos

23 23 Classe: Conjunto de objetos que apresentam características em comum, possuem os mesmos atributos e as mesmas funcionalidades Atributo: Conjunto de características específicas de um objeto; Métodos: característica que permite alterar a funcionalidade de um atributo, são os serviços que o objeto pode prover; Os objetos devem interagir uns com outros através de um mecanismo de comunicação chamado mensagem; Paradigma Orientado a Objetos

24 24 Ex: Objeto: carro Atributos: cor, ano, qtd. portas Métodos: ligar, andar, abastecer Ex: Objeto: pessoa Atributos: cor da pele, nascimento, estado civil Métodos: estudar, trabalhar, dormir Paradigma Orientado a Objetos

25 25 Características: Abstração: habilidade de modelar características do mundo real do problema que se quer resolver; Encapsulamento: definição de como implementar atributos e métodos de um classe; todas as transações feitas com um objeto só podem ser realizadas dentro daquele objeto; Paradigma Orientado a Objetos

26 26 Características: Um dado só está encapsulado quando só pode ser visto dentro de um objeto Ex: botões e funções de um DVD Herança: capacidade de uma classe filho herdar um ou mais atributos e métodos de uma classe pai; permite a reutilização de código; Paradigma Orientado a Objetos

27 27 Paradigma Orientado a Objetos

28 28 Características: Polimorfismo: possuir várias formas, uma classe possui uma operação e suas sub-classes possuem a mesma operação com outro comportamento; Paradigma Orientado a Objetos

29 29 Paradigma Orientado a Objetos

30 30 Usa a lógica de predicados como linguagem de programação; Um programa consiste de: - Uma série de axiomas ou fatos; - Regras de inferência; - Teorema a ser provada Uma computação significa inferir conseqüências lógicas a partir de fatos; Paradigma Lógico

31 31 Um processamento consiste em testar uma afirmação ou pergunta feita; Permite que novos fatos sejam deduzidos a partir de fatos já conhecidos; Somente as especificações dos resultados desejados são declaradas, ao invés de procedimentos detalhados para produzi-los. Isto é, focaliza-se a forma do resultado e não como ele é computado; Paradigma Lógico

32 32 Homem(joao). Mulher(maria). Mulher(cristina) Pai(joao,andre). Pai(luiz,fabio). Mae(mara, luiza). Paradigma Lógico ?-homem(luiz) Não ?-homem(joao) Sim ?-pai(joao, carlos) Não ?-mulher(x) X=maria X=crisitina

33 33 Estrela (sol). Estrela(sirius). Orbita(mercurio,sol). Orbita(venus,sol). Orbita(terra,sol). Orbita(marte,sol). Orbita(lua, terra). Orbita(deimos, marte). Planeta(B):-orbita(B,sol). Paradigma Lógico ?-planeta(marte) Sim ?-planeta(P) P=mercurio P=venus P=terra P=marte


Carregar ppt "1 Curso Sistemas de Informação Disciplina: Arquitetura de Software Paradigmas de Programação."

Apresentações semelhantes


Anúncios Google