Observe o trecho de código abaixo. atribuir 13 a INDICE; a...

Próximas questões
Com base no mesmo assunto
Q149967 Algoritmos e Estrutura de Dados
Observe o trecho de código abaixo.
atribuir 13 a INDICE;
atribuir 0 a SOMA;
atribuir 0 a K;

enquanto K < INDICE faça
início
somar 1 a K;
atribuir SOMA+K a SOMA;
imprimir(K);
fim;
fim-enquanto;
imprimir(SOMA);
Ao final do processamento, a variável SOMA terá o seguinte valor:

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a E - 91.

Vamos entender o porquê dessa resposta, analisando o trecho de código passo a passo:

Primeiramente, observe as linhas iniciais do código:

atribuir 13 a INDICE;
atribuir 0 a SOMA;
atribuir 0 a K;

Essas linhas inicializam as variáveis INDICE com o valor 13, SOMA com 0 e K com 0.

Em seguida, temos a estrutura de repetição enquanto:

enquanto K < INDICE faça
    início
        somar 1 a K;
        atribuir SOMA + K a SOMA;
        imprimir(K);
    fim;
fim-enquanto;

Vamos detalhar o que acontece dentro desse laço:

1. Enquanto K for menor que INDICE (ou seja, enquanto K < 13):

2. O valor de K é incrementado em 1 (ou seja, K = K + 1).

3. O valor atual de K é adicionado à variável SOMA (ou seja, SOMA = SOMA + K).

4. O valor de K é impresso.

Vamos calcular passo a passo o valor acumulado em SOMA:

Na primeira iteração:
K = 1
SOMA = 0 + 1 = 1

Na segunda iteração:
K = 2
SOMA = 1 + 2 = 3

Na terceira iteração:
K = 3
SOMA = 3 + 3 = 6

...

Na última iteração (quando K = 13):
K = 13
SOMA = 78 + 13 = 91

Portanto, após o término do laço, o valor final de SOMA será 91.

Agora, vamos justificar por que as outras alternativas estão incorretas:

A - 3: Esse valor é muito baixo. Ele poderia ser o resultado se o laço parasse após poucas iterações, mas não é o caso aqui.

B - 6: Segunda opção incorreta. Este valor também é um resultado inicial, mas não condiz com a somatória dos valores de K até 13.

C - 66: Mais uma opção incorreta. Esse valor está mais próximo, mas ainda não corresponde ao somatório correto dos primeiros 13 números.

D - 78: Esse valor aparece na penúltima iteração, quando K é 12. No entanto, não é o valor final de SOMA após a última iteração.

Portanto, a alternativa correta é E - 91.

Espero que esta explicação tenha ajudado a entender por que a resposta é 91 e como o código funciona. Se tiver mais dúvidas, estou aqui para ajudar!

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

índice = 13
soma = 0 
k = 0

Será adiciona 1 a k até k = 13, e adicionado a soma = soma + k, então
k = 1
soma = 1
k = 2
soma = 3
k = 3
soma = 6
k = 4
soma = 10
k = 5
soma = 15
k = 6
soma = 21
k = 7 
soma = 28
k = 8
soma = 36
k = 9
soma = 45
k = 10
soma = 55
k = 11
soma = 66
k = 12
soma = 78
k = 13
soma = 91
LAÇO ENQUANTO SOMA ANTES K SOMA + K
1 0 1 1
2 1 2 3
3 3 3 6
4 6 4 10
5 10 5 15
6 15 6 21
7 21 7 28
8 28 8 36
9 36 9 45
10 45 10 55
11 55 11 66
12 66 12 78
13 78 13 91
Soma da PA finita. 
(a1 + an) *n / 2
(1+13)*13 / 2
14*13 / 2
182 / 2
91

Discordo do gabarito da banca.

Pois, verificando-se a condição, que não pede  K = INDICE, mas pede K < INDICE,  então na transição do 12º LOOP para o 13º, a variável K já terá valor de 13, somente sendo feita a comparação na condição inicial e como esta já foi atendida, não entrará na estrutura, portanto resultado da variável SOMA = 78

1º loop: somar 1 a K = 1+0 = K = 1 ---> atribuir SOMA+K=0+1= SOMA = 1

2º loop: somar 1 a K = 1+1 = K = 2 ---> atribuir SOMA+K=1+2= SOMA = 3

3º loop: somar 1 a K = 1+2 = K = 3 ---> atribuir SOMA+K=3+3= SOMA = 6

4º loop: somar 1 a K = 1+3 = K = 4 ---> atribuir SOMA+K=6+4= SOMA = 10

5º loop: somar 1 a K = 1+4 = K = 5 ---> atribuir SOMA+K=10+5= SOMA = 15

6º loop: somar 1 a K = 1+5 = K = 6 ---> atribuir SOMA+K=15+6= SOMA = 21

7º loop: somar 1 a K = 1+6 = K = 7 ---> atribuir SOMA+K=21+7= SOMA = 28

8º loop: somar 1 a K = 1+7 = K = 8 ---> atribuir SOMA+K=28+8= SOMA = 36

9º loop: somar 1 a K = 1+8 = K = 9 ---> atribuir SOMA+K=36+9= SOMA = 45

10º loop: somar 1 a K = 1+9 = K = 10 ---> atribuir SOMA+K=45+10= SOMA = 55

11º loop: somar 1 a K = 1+10 = K = 11 ---> atribuir SOMA+K=55+11= SOMA = 66

12º loop: somar 1 a K = 1+11 = K = 12 ---> atribuir SOMA+K=66 +12= SOMA = 78

13º loop: somar 1 a K = 1+12 = K = 13 (não ocorre no entrada na estrutura, condição atendida, enquanto K < INDICE, então, 13 < 13)

K = 13

SOMA = 78

Ado Silva, a sua lógica está correta! contudo o erro foi você iniciar o k =1. Se fosse k=1 você estária certo. (mas o K=0).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo