|
Descrição do ProblemaDada a função recursiva apresentada a seguir, escrever a versão não recursiva da mesma, fazendo uso de uma pilhaexplícita, conforme explicado em sala (apresentação). A função dada visa encontrar todos os caminhos num 'labirinto' representado por uma matriz onde cada elemento contém inicialmente um caracter que indica se a posição correspondente pode ou não ser utilizada como parte do caminho procurado. A função tem como parâmetro as coordenadas dos pontos de origem e destino. /********************************************
Importante:Neste programa, as chamadas recursivas ocorrem dentro de um comando 'for' onde o contador, k, varia de 0 a 7. Ao eliminar a recursão através do uso de uma pilha, as 'operações' devem ser empilhadas em ordem inversa à que ocorrem na versão recursiva. Sendo assim, é recomendável que o empilhamento dessas operações seja feito em ordem inversa, ou seja, com o contador variando de 7 a 0.EntradasO programa gera seus próprios dados de teste, portanto não tem nenhuma entrada.SaídasAs saídas do programa modificado devem ser exatamente as mesmas do programa original.Data Limite para EntregaO projeto deverá ser entregue por email ao assistente de ensino (gabriel@las.ic.unicamp.br) até o dia 23/08/08(o título do email deve iniciar com "[MC202]" para que seja facilmente identificável). |