eventos
topico
nomeParadigmas de programação
tituloParadigmas de programação
descritorParadigmas Programação Linguagem
leadDiferenças entre paradigmas  
link~link~
origemParadigma.xml
referencia~referencia~
topico
tituloParadigma funcional
desc
  • Especifica-se o que se quer construir e não como deve ser construido

    definição matemática
    fatorial x= {1, se x=0 ; x * fatorial (x-1), se x dif 0 }.

    linguagem funcional
    DEF fatorial;
             fatorial n =1 , n=0
             fatorial n =n * fatorial (n-1) , n =/ 0

  • Em linguagem funcional não se chama programa e sim  Script que é um conjunto de equações.  
    não existe ordem sequencial das operações.
  • Em programação funcional a equação x = x + 1 não tem solução.
  • Função é um conjunto de equações.
    o lado esquerdo de cada uma contém um padrão que pode ser casado com o parametro real.
  • Mapeamento de valores de entrada em valores de saida
    entrada --> saida
  • O programa é tipicamente composto por sub-funções.
    uma função pode chamar outra.
    o resultado de uma função pode ser usado como argumento de outra. 
  • Programas são escritos por meio de expressões , funções e declarações.
    quanto mais rica em expressões menor a necessidade por variaveis e comandos.
  • Estilo declarativo: não há o conceito de estado nem comandos como atribuicão 
  • A repetição deve ser feita por meio de recursão e não por meio de laços.
  • A falta de armazenamento é compensada pela inclusão de conceitos como funções de alta ordem e avaliação preguiçosa.
  • Funções de alta ordem
    funções cujos parametros ou resultado é uma função
  • Funções de 1a ordem
    valores e resultados não são funções
  • Modificação de valores é proibida
  • Existe um conjunto de funções primitivas.
    existe um conjunto de formas funcionais para construir formas complexas a partir das primitivas, uma operação de aplicação de funções e alguma estrutura para representar os dados.
  • A implementação da linguagem é por interpretação
  • A execução consiste em avaliar as especificações.
topico
tituloParadigma imperativo
desc
  • O modelo computacional das linguagens imperativas foi definido por von Neumann:
    Processador, armazenamento e sequencia . 
  • Variaveis são posiçoes de memória que armazenam valores
  • A notação matemática tem uma semântica estática: nomes são definidos apenas uma vez e seu valor depende do contexto da equação que os define.
  • A semantica de uma instrução de atribuição simples exige o exame de declarações locais, conhecimento das regras do escopo da linguagem e possivelmente o exame de programas em outros arquivos para determinar os tipos de variaveis na instru;cão de atribuição
  • Variaveis
topico
tituloParadigma lógico
desc
  • Consite de declarações em vez de atribuições e instruções de fluxo de controle.
  • declarações --> instruções ou proposições em lógica simbólica.
  • a semantica pode ser determinada a partir da propria instrução.
  • Não é baseada em procedimentos
topico
tituloParadigma concorrência
desc
  • Concorrência fisica - diversas unidades do programa em mais de um processador
  • Concôrencia lógica - intercaladamente varias unidades em um processador
  • Sincronização (cooperação (esperar e liberar) e competição) schedula a ordem de execução das tarefas (unidade de um programa) 
  • Recursos compartilhados: semáforos (passar e liberar), monitores (insere, remove e retem) e passagem de mensagens (sincrona e assincrona).
  • Uma tarefa pode ter varios estados: nova, executavel, rodando, bloqueada e morta.
topico
tituloOutros paradigmas
desc
  • orientada a teste
  • multiparadigma
  • estruturada
  • orientadas a objeto
  • vetorial
  • orientada a eventos
  • orientada a aspecto