Considere o código abaixo, escrito na linguagem de programa...
Considere o código abaixo, escrito na linguagem de programação C++.
#include <iostream>
usingnamespacestd;
intmain(){
int A = 0, B = 7, C = 4, D = 3;
for (A = 0; A < B; A++)
D = D + 1;
for (A = 0;A <= C; A++)
D = D + 2;
if (D>=20)
cout<< "SISTEMAS OPERACIONAIS";
else
cout<< "REDES DE COMPUTADORES";
}
Assinale a alternativa que apresenta o valor que a variável
D apresentará ao final da execução do programa e qual
mensagem aparecerá na tela do computador.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a B - D = 20 e "SISTEMAS OPERACIONAIS".
Para resolver essa questão, é necessário compreender o funcionamento das estruturas de repetição for na linguagem de programação C++ e como essas estruturas interagem com a variável D ao longo do código.
O primeiro laço for inicializa A com 0 e o incrementa enquanto ele for menor que B, que é 7. Em cada repetição, incrementa-se o valor de D em 1. Portanto, ao final desse primeiro laço, D, que começou com 3, será incrementado 7 vezes, resultando em D = 3 + 7 = 10.
O segundo laço for reinicializa A com 0 e o incrementa enquanto ele for menor ou igual a C, que é 4. Em cada repetição, incrementa-se o valor de D em 2. Como o teste do laço inclui o próprio valor de C (devido ao uso de <=), haverá 5 repetições (para A = 0, 1, 2, 3, 4). Assim, D será incrementado 5 vezes por 2, resultando em D = 10 + (5 * 2) = 20.
Finalmente, a estrutura condicional if verifica se D é maior ou igual a 20. Como D é exatamente 20, a condição é verdadeira e a mensagem "SISTEMAS OPERACIONAIS" será exibida.
Portanto, o valor final de D será 20, e a mensagem exibida será "SISTEMAS OPERACIONAIS". Isso nos permite concluir que a alternativa correta é a B - D = 20 e "SISTEMAS OPERACIONAIS".
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
Sinteticamente:
No primeiro laço for:
for (A = 0; A < B; A++)
D = D + 1;
Iremos iterar 7 vezes (a= 0 a 6), D valerá 10;
No segundo laço for:
Zeramos o valor da variável A, e iteramos 5 vezes (a = 0 a 4 )
for (A = 0;A <= C; A++)
D = D + 2;
D valerá 20;
if (D>=20)
cout<< "SISTEMAS OPERACIONAIS";
O if será verdadeiro e imprimiremos SISTEMAS OPERACIONAIS
GABARITO ALTERNATIVA B
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo