Dado o algoritmo Busca, onde A é um vetor e n é o número de ...
Busca (A, n)
x ← A [1]
para i de 2 até n, faça
se A [i] > x então x ← A [i]
devolve x
o valor da saída x para o vetor de entrada A = (3, 2, 1, 7, 2, 5), onde n = 6, será
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - 7
Comentário sobre o tema da questão:
A questão aborda o conceito de algoritmo de busca, mais especificamente uma busca linear para encontrar o maior valor em um vetor. Esse tipo de problema é comum em concursos públicos na área de Informática e exige conhecimento sobre manipulação de vetores e estruturas de controle, como laços de repetição e condicionais.
Explicação do Algoritmo:
Vamos analisar o algoritmo passo a passo:
1. Inicialização:
O algoritmo começa atribuindo o primeiro elemento do vetor A[1] à variável x.
2. Laço de Repetição:
Em seguida, o algoritmo executa um laço para que vai do segundo elemento (i = 2) até o último elemento (n) do vetor.
3. Condicional:
Dentro desse laço, há uma estrutura condicional se que verifica se o elemento A[i] é maior que x. Se for, x recebe o valor de A[i].
4. Devolução do Resultado:
No fim, o algoritmo devolve o valor da variável x, que será o maior valor encontrado no vetor.
Solução da Questão:
Vamos aplicar o algoritmo no vetor fornecido: A = (3, 2, 1, 7, 2, 5) e n = 6.
- Inicialmente, x = A[1] = 3.
- O laço percorre os elementos de A[2] a A[6]:
1. Para i = 2, A[2] = 2. Como 2 não é maior que 3, x continua sendo 3.
2. Para i = 3, A[3] = 1. Como 1 não é maior que 3, x continua sendo 3.
3. Para i = 4, A[4] = 7. Como 7 é maior que 3, x agora é 7.
4. Para i = 5, A[5] = 2. Como 2 não é maior que 7, x continua sendo 7.
5. Para i = 6, A[6] = 5. Como 5 não é maior que 7, x continua sendo 7.
Portanto, a saída é 7.
Justificativa das Alternativas Incorretas:
B - 6: Essa alternativa está incorreta porque 6 não é o maior elemento no vetor A.
C - 3: Essa alternativa está incorreta porque, apesar de 3 ser o valor inicial de x, ele é substituído por 7 durante a execução do algoritmo.
D - 2: Essa alternativa está incorreta porque 2 não é o maior elemento no vetor A.
E - 1: Essa alternativa está incorreta porque 1 não é o maior elemento no vetor A.
Espero que esta explicação tenha ajudado a entender melhor o funcionamento do algoritmo de busca e a razão pela qual a alternativa correta é A. Se você tiver alguma dúvida ou precisar de mais esclarecimentos, estou à disposição!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Não sou muito bom em estrutura de dados, mas o meu raciocínio foi o seguinte:
X vai receber o primeiro elemento do vetor, pela ordem apresentada é o número 3.
Depois, a patir do 2 até n, que nesse caso é o 6, ele vai fazer as comparações com os outros elementos.
2 é maior que 3? não, continua...
1 é maior que 3? não, continua...
7 é maior que 3? é sim, então o X recebe 7.
2 é maior que 7? não, continua...
5 é maior que 7? não, termina leitura do vetor, o valor final vai ser último valor que X recebeu, nesse caso o número 7.
Logo, a resposta correta é a letra A.
Espero ter ajudado e não ter falado bobagem. Boa sorte a todos...
Da pra fazer a questão na mão, Só precisa copiar o vetor e vai testando seguindo o FOR e verificando a condição do IF
É impressão minha ou essa questão simplesmente pegou um valor X e sobrescreveu 5 vezes com o maior valor do vetor?
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo