- - - - CENAPAD-MGCO

contents index A seguir: Buffer Limitado Acima: Exemplos de Uso Anterior: Pesquisa e Inserção Sequencial


Pesquisa e Inserção em Paralelo

[
  S(i:1..100)::
    *[
     n: integer;
       S(i-1) ? has(n) -> S(0)!false
     ||
       S(i-1) ? insert(n) ->
         *[
          m: integer;
            S(i-1) ? has(m) ->
              [  m <= n -> S(0) ! (m = n)
              || m  > n -> S(i+1) ! has(m)  
              ]
          ||
            S(i-1) ? insert(m) ->
              [  m < n -> S(i+1) ! insert(n);
                          n := m
              || m = n -> skip                    
              || m > n -> S(i+1) ! insert(m)
     ]    ]   ]
//
  X:: *[ ...
         S(1) ! insert(i); S(1) ! insert(j);
         ...
         S(1) ! has(k);
         ...
         [(i:1..100)S(i)?b -> skip];
]      ]



Osvaldo Carvalho - Postscript - Comentários?