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