Dado o programa abaixo, com a variável raiz apontando para a...

Próximas questões
Com base no mesmo assunto
Q307620 Algoritmos e Estrutura de Dados
Dado o programa abaixo, com a variável raiz apontando para a raiz da árvore, considerando que o procedimento CriaArvore cria a árvore mostrada na figura ao lado do programa e que a função maxval (m,k) retorna o maior valor entre m e k, sendo que o símbolo Imagem 006.jpg é para indicar um ponteiro e o símbolo Imagem 005.jpg para tratar atribuição de valor, o valor final de RET encontrado pelo programa é:

Imagem 007.jpg
Alternativas

Comentários

Veja os comentários dos nossos alunos

Levando em conta que:

1) - Subentende-se que o valor de Z1 é 1, Z2 é 2 e assim por diante.

2) - O que está entre parênteses é a sequencia da informação no algoritmo.

Montei o seguinte teste de mesa:


Parâmetro    |  altE     |   altD     | Retorno

     1 (1)        |  2 (14)  | 3 (31)  |   4 (32)

    2 (2)        |  1 (7)    | 1 (12)  |   2 (13)

    4 (3)        |  0 (4)    |  0 (5)  |    1 (6)

    5 (8)        |   0 (9)    |  0 (10) |    1 (11)

    3 (15)      |   2 (24)  | 1 (29)  |    3 (30)

    6 (16)      |   1 (21)  | 0 (22)  |    2 (23)

    8 (17)      |   0 (18)  |  0 (19) |    1 (20)

    7 (25)      |   0 (26)  |  0 (27) |    1 (28)


Após executar de forma recursiva a função XY, tem-se:

RET -> (XY(raiz) - 1)

RET -> (4 - 1)

RET -> 3 (letra b).

Passível de anulação. Ao fim do código, à variável RET é atribuída a função XY. Ou seja, é atribuído o RETORNO da função XY. Acontece que a função XY não retorna nada. Apesar de ela dizer (em sua assinatura) que será retornado um inteiro, isto não é feito, não há "retorne XY" ou "return XY".

Força Guerreiro!!!!!!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo