eventos
topico
nomeTutorial sôbre Tabela de Decisões
tituloTutorial sôbre Tabela de Decisões
descritorTutorial sôbre Tabela de Decisões
leadRepresentação tabular da solução de um problema lógico
linklink
origemWTutTabDecisao.xml
referenciareferencia
topico
tituloO que é
descLinguagem para representar a solução de um problema de lógica , na forma tabular, com objetivo de avaliar uma regra (combinação de condições) e determinar que ações executar, garantindo que não haja redundancias (ações iguais para regras iguais) nem contradições (ações diferentes para regras iguais).

Exemplo:

C1 Condição é verdade ?
C2 Condição é falsa ?
C3 Regra existe ?
C4 Ação é valida (não tem redundancia nem contradição) ?

S  N  -   -    condição é 1
S  S   -   -    condição é 0
S   -   S  -   associar regra a ação (nenhuma ou muitas)
S  N  S  S  ação é 1
S  N  S  N ação é 0

Outro exemplo:

Profissional empreendedor consegue atender cliente?
Serviço é viável?
Serviço dentro do escopo do Projeto Apoie?

1 - -    Profissional atende seu cliente, não precisa de auxílio
0 1 1   criar projeto com Profissional em parceria com Projeto Apoie
0 0 1   fazer proposta para viabilizar serviço
0 - 0    fora do escopo atual do Projeto Apoie 
topico
tituloComo funcionam as tabelas
descO processo para avaliar se a lógica da solução de um problema esta correta, parte do problema resolvido ou seja as condições e ações para resolver um problema já foram obtidas. A partir dai o processo é o seguinte:
  • Avaliar se a condição é verdadeira  => trasnformar a condição em 1
  • Avaliar se a condição é falsa           => transformar a condição em zero 
  • Avaliar se a regra existe                  => Para cada sequencia de zeros e uns associar a nenhuma, uma ou mais                                                                       ações.
  • Se uma ação é valida (sem redundancia nem contradição) => transforma a ação em 1
  • Se uma ação é invalida                    => transforma a açao em 0
  • Para qualquer outra condição          => terminar o processo
topico
tituloSemantica
descSe a combinação de determinadas condições é uma regra existente => certas ações devem ser realizadas.
  • SE regra existe => execute ação

    =>           -  então
    Condição -  é um evento ou fato que influi nas ações a serem tomadas.
    Regra       -  é uma sequência de símbolos, cada um relacionado a uma condição. O símbolo pode ser: {1, 0} para                     indicar o resultado da avaliação. É usado o símbolo "-" para indicar que a condição é                                             irrelevante.
    Ações      -  qualquer operação ou processo a ser executado
topico
tituloSintaxe
desc
topico
tituloComo ler as tabelas
desc. condição
.
.
v ----------> ação
topico
tituloComo obter as condições e ações
descNo método classico - usado quando já existe um procedimeto pré definido.
  • Identificar as condições
    Listar todas as condições, quando identificadas
    As condições devem estar na sequencia das mais importante para menos importante
    As condições devem ser sempre que possivel, independente ou mutamente exclusivas
    Evitar condições negativas
    Pode ser: pergunta, expressão lógica, expressão aritmética.
  • Identificar as ações
    Listar na sequencia que elas aparecem.
    As açoes devem ser declarações imperativas
  • Matriz de condições
    Formar a matriz com todas as combinações possiveis

  • Combinação das regras
    Combinar as regras simples de acordo com a tabela abaixo:
    C1 Ações são identicas?
    C2 Tôdas as condições a excessão de uma tem o mesmo valor?
    C3 Condições com valores diferentes repete todos os valores para aquela condição?
    S S S       Pode ser combinado
    S S N
    S N S
    S N N
    N -  -       Não pode ser combinado

  • Verificação final da tabela
    Quanto ao conteudo: o cheque deve garantir que as ações associadas as regras estão corretas.

    Quanto a estrutura:
        cheque aritimético: Toda tabela tem 2 elevado a n condições ou seja para 3 condições tem 2 elevado a 3                 condições ou seja 8.
Desenvolvimento progressivo da regra - usado em entrevistas e tabelas grandes
  1. Considere uma condição verdadeira
  2. Considere as outras condições como a condição verdadeira até achar uma ação
  3. Registre as condições e ações
  4. Negue a ultima condição da sequencia
  5. Volte ao passo 2 enquanto a tabela estiver incompleta
  6. Ao terminar a tabela , faça um verificação aritmética ou bifurcação
topico
tituloComo usar as tabelas
descNa programação - Html com Javascript
  • <html>
    <body>
    <script type="text/javascript">
    a=6;
    b=5;
    c=3;

    //////// condições ///////////////////
    condicao =  ["a>4", "b==5", "c==4"];

    //////// ações ///////////////////
    fazer = ["a1", "a2", "a3", "a4"];

    ////////
    regra=[
    ['01-10', 0, 1, 3],
    ['010-0', 1, 2, 3],
    ['01110', 1]];

    /////////////////////////////
    function AvaliarTabela(cond, regras, acoes){}

    //////// avaliar condições ///////////////////
    avaliado="";
    for (var i=0; i < cond.length; i++) avaliado+= eval(cond[i]);

    //////// comparar avaliado com regra, executar ações ///////////////////
    for (regra in regras){
        se cabe regras[0]        for (=1;<.lenght;++) eval([]);}}

    //////// executar ações ///////////////////
    switch (avaliado) {
    case 0: // 000
      document.write("<b>Achei 0</b>");
      break;
    case 1: // 001
      document.write("<b>Achei 1</b>");
      break;
    case 2: // 010
      document.write("<b>Achei 2</b>");
      break;
    case 6: // 110
      document.write("<b>Achei 6</b>");
      break;
    default:
      document.write("<b>Resultado foi "+avaliado+"</b>");
    }

    //////// fim //////////////////
    </script>

    <p>Fim.</p>

    </body>
    </html>

Na tomada de decisão
  • Profissional empreendedor consegue atender cliente?
    Serviço é viável?
    Serviço dentro do escopo do Projeto Apoie?

    1 - -    Profissional atende seu cliente, não precisa de auxílio
    0 1 1   criar projeto com Profissional em parceria com Projeto Apoie
    0 0 1   fazer proposta para viabilizar serviço
    0 - 0    fora do escopo atual do Projeto Apoie