Display mode Display replies flat, with oldest first Display replies flat, with newest first Display replies in threaded form Display replies in nested form
Dúvidas resolução Exame 10/11 Normal
by Sara Alpoim Goncalves - segunda, 17 dezembro 2012, 5:38
Boa tarde professor,
É possível colocar uma resolução, ou dar algumas dicas para o exercício 2 do exame 10/11 de época normal?
Aproveito também para perguntar, se na resolução seria possível usar a query \"_" para obter nós filhos por exemplo.
Obrigado
Permalink | Reply
Re: Dúvidas resolução Exame 10/11 Normal
by Artur Miguel Dias - segunda, 17 dezembro 2012, 7:05
Este problema pode ser realizado com diferentes níveis de ambição:
Nível 1:
O que se pretende é usar actores para navegar de forma concorrente numa árvore XML. O actor inicial recebe a árvore completa. Quando um actor desce por um ramo da esquerda, cria um actor suplementar para lidar com o ramo direito.
Sempre que um actor descobre uma subárvore com a propriedade pretendida, envia essa subárvore para um actor especial que coleciona os resultados.
Temos dois tipos de actores: Navegante e Coletor.
Nível 2:
Para garantir a ordem certa do resultado final, é preciso enviar para o Coletor uma chave de ordenação juntamente com a subárvore.
Chave de ordenação: O mais fácil é ser uma lista só com "0" e "1", construida pelos actores à medida que descem pela árvore. "0" significa esquerda e "1" direita.
Nível 3:
Neste nível definir uma cache para reutilizar os actores que chegam às folhas da árvore. Já fizeram o seu trabalho, mas em vez de serem destruídos podem ser utilizados para trabalhar noutras partes da árvore.
Penso que isto já deve ajudar.
Permalink | Show parent | Reply
Re: Dúvidas resolução Exame 10/11 Normal
by Sara Alpoim Goncalves - segunda, 17 dezembro 2012, 8:03
Entretanto já consegui resolver. No entanto permanece a minha dúvida se seria possível utilizar \\"_" para resolver o problema.
Permalink | Show parent | Reply
Re: Dúvidas resolução Exame 10/11 Normal
by Artur Miguel Dias - segunda, 17 dezembro 2012, 9:13
Não, porque essa expressão percorre toda a árvore de forma sequencial e depois disso feito já restaria pouco mais para fazer. O enunciado diz "use múltiplos atores para percorrer a árvore concorrentemente".