Este exemplo refere-se ao ultimo trabalho de casa (que tambem ja apareceu no teste). Imprima o algoritmo antes de ler este exemplo. Aqui esta um exemplo de uma execucao possivel que o trabalho de casa deve tentar resolver. Inicialmente existem 5 processos, com os seguintes valores iniciais: Processo P1 P2 P3 P4 P5 Valor 1 3 3 3 3 Todos disseminam o valor por todos, mas P1 falha e so envia o valor para P2. P2 recebe esse valor antes de detectar a falha de P1 e calcula o minimo usando esse valor. Ou seja: PASSO 1 Processo P1 P2 P3 P4 P5 Valor 1 3 3 3 3 Recebe de P1 1 1 - - - P2 - 3 3 3 3 P3 - 3 3 3 3 P4 - 3 3 3 3 P5 - 3 3 3 3 MIN - 1 3 3 3 Vamos agora entrar no segundo passo. Notem que existe uma recursividade nesta solucao, pois agora os processos querem chegar a acordo acerca de um novo valor (o minimo) e cada uma acha que existe um minimo diferente (o que leva a perguntar, para que serviu o primeiro passo afinal de contas). Agora P2 tambem falha, depois de enviar o seu minimo para P3. P3 recebe o minimo de P2 antes de detectar a sua falha e entra no else ("trabalho para casa"),pois recebe minimos diferentes. P4 e P5 nunca chegam a receber o minimo de P2. So recebem os minimos de P3, P4 e P5 e como tal, decidem imediatamente 3! PASSO 2 Processo P1 P2 P3 P4 P5 MIN - 1 3 3 3 Recebe de P1 - 1 - - - P2 - - 1 - - P3 - - 3 3 3 P4 - - 3 3 3 P5 - - 3 3 3 * + + * entra no "else" + decidem logo (note-se que p2 falha depois de dar o seu valor a P3 e depois de este entrar no else)