Questão FC331205
Analise o código Python a seguir. S=0 C=1 while C < 7: D=4 while D > 0: S=S+C+D D=D-1 C=C+1 print S O código que produz resultado idêntico ao que é produzido pelo código acima é:
Linguagens de Programação
FGV · 2015
Analise o código Python a seguir.
S=0
C=1
while C < 7:
D=4
while D > 0:
S=S+C+D
D=D-1
C=C+1
print S
O código que produz resultado idêntico ao que é produzido pelo código acima é:
- S=0 for C in range(1,6): for D in range(4,1,-1): S=S+C+D print S
- S=0 for C in range(1,6,1): for D in range(4,1,-1): S=S+C+D print S
- S=0 for C in range(1,7): for D in range(4,0): S=S+C+D print S
- S=0 for C in range(1,7): for D in range(4,0,-1): S=S+C+D print S
- S=0 for C in range(0,6): for D in range(4,1,-1): S=S+C+D print S
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A alternativa D reproduz exatamente a lógica dos laços while originais usando laços for com range.
No código original, o laço externo parte de C = 1 e incrementa até que C < 7, produzindo os valores \(C = 1,2,3,4,5,6\). Isso equivale a for C in range(1,7).
O laço interno começa em D = 4 e decrementa enquanto D > 0, gerando \(D = 4,3,2,1\). Isso equivale a for D in range(4,0,-1).
Em cada iteração fazemos S = S + C + D, portanto a versão com dois for realiza exatamente as mesmas \(6\times4=24\) atualizações de S. O resultado final impresso é \(S=144\), confirmando a equivalência.
Conteúdo do catálogo FC Concursos · Atualizado em