FC ConcursosFC Concursos

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 é:

  1. S=0   for C in range(1,6):         for D in range(4,1,-1):          S=S+C+D   print S
  2. S=0   for C in range(1,6,1):       for D in range(4,1,-1):           S=S+C+D   print S
  3. S=0     for C in range(1,7):          for D in range(4,0):              S=S+C+D     print S
  4. S=0   for C in range(1,7):       for D in range(4,0,-1):           S=S+C+D   print S
  5. 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

Continue aprendendo