Questão 16

Conhecimentos Específicos, Fundação Santa Casa, UNAMA, Analista de Sistemas, 2007
[Estrutura de Dados]
16. Considere que, em uma estrutura de dados, um ponteiro nomeado inicio aponta para o primeiro
elemento da estrutura, o ponteiro topo aponta para o último elemento, cada elemento possui um
campo de dados nomeado dado e o símbolo -> representa o acesso ao campo dado a partir do
endereço do elemento. Considere também que a operação de retirada de um elemento da estrutura
retorna o conteúdo do campo dado ou retorna -1 em caso de falha. Qual alternativa contém o
código correto de um subprograma que remove um elemento da estrutura de dados do tipo pilha?
A) int subprograma(*topo, *inicio) {
int result;
Se (topo < result =" inicio-">dado;
Para (i = inicio; i <>dado = (inicio+1)->dado;
topo++;
}
} Senao {
result = -1;
}
retorne result;
}
B) int subprograma(*topo, *inicio) {
int result;
Se (topo > inicio) {
result = topo->dado;
topo--;
} Senao {
result = -1;
}
retorne result;
}
C) int subprograma(*topo, *inicio) {
int result;
Se (topo > inicio) {
result = inicio->dado;
Para (i = inicio; i <>dado = (inicio+1)->dado;
topo--;
}
} Senao {
result = -1;
}
}
D) int subprograma(*topo, *inicio) {
int result;
Se (topo < result =" topo-">dado;
topo++;
} Senao {
result = -1;
}
retorne result;
}

Resposta