Dado o algoritmo Busca, onde A é um vetor e n é o número de ...

Próximas questões
Com base no mesmo assunto
Q491578 Algoritmos e Estrutura de Dados
Dado o algoritmo Busca, onde A é um vetor e n é o número de elementos de A,

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á
Alternativas

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