← Questões de Algoritmos e Estrutura de Dados

Algoritmos e Estrutura de Dados · CONSULPLAN · 2023

Questão comentada de Algoritmos e Estrutura de Dados

Considere que, na lógica do algoritmo feito no VisualG, sejam inseridos sequencialmente os valores a seguir: 7 8 3 1 0 2 5 Algoritmo "Alg1" Var num : real res : real soma : real Inicio soma <- 0 escreva("Digite um valor: ") leia(num) enquanto (num <> 0)faca res <- res + num escreva("Digite um valor: ") leia(num) fimenquanto escreva("Resultado> ", res) Fimalgoritmo Nessa situação, será apresentado qual resultado da execução?

Gabarito: D

Neste tipo de questao, voce precisa observar duas coisas: a ordem dos valores digitados e a condicao do laço. O comando enquanto (num <> 0) faz o algoritmo repetir enquanto o numero for diferente de zero. Assim, ele soma os valores lidos ate aparecer o primeiro 0, que funciona como sentinela, ou seja, um valor que encerra a repeticao. Aqui, os valores inseridos sao 7, 8, 3, 1, 0, 2, 5. O algoritmo vai ler 7, 8, 3 e 1, acumulando esses numeros em res. Quando le 0, o laço para imediatamente, entao 2 e 5 nem chegam a ser considerados. A conta fica: 7 + 8 + 3 + 1 = 19. Por isso, o resultado exibido em tela sera 19. O detalhe malandro da questao e que a variavel soma foi inicializada, mas nao foi usada em nenhum momento, e isso pode distrair voce. Alem disso, em muitos ambientes de pseudocodigo, variavel nao inicializada pode causar problema, mas a banca claramente quer testar a logica do laço e da sentinela. Resumo de prova: enquanto o numero for diferente de zero, ele entra no acumulador; quando aparecer zero, a repeticao termina. Aqui, o zero veio depois do 1, entao a soma final considerada e 19.

Continue treinando

Questões relacionadas