Ed
há 22 horas
Vamos analisar o algoritmo passo a passo para entender qual será a saída de dados. O código é o seguinte: ```c #include int main() { int v1 = 1, v2 = 0; while (v2 <= 5) { v2 = v2 + v1; // Adiciona v1 a v2 v1 += 3; // Aumenta v1 em 3 } printf("%d e %d", v2, v1); return 0; } ``` Agora, vamos ver como as variáveis `v1` e `v2` mudam durante a execução do loop: 1. Inicialização: `v1 = 1`, `v2 = 0` 2. Primeira iteração: - `v2 = v2 + v1` → `v2 = 0 + 1` → `v2 = 1` - `v1 += 3` → `v1 = 1 + 3` → `v1 = 4` 3. Segunda iteração: - `v2 = v2 + v1` → `v2 = 1 + 4` → `v2 = 5` - `v1 += 3` → `v1 = 4 + 3` → `v1 = 7` 4. Terceira iteração: - `v2 = v2 + v1` → `v2 = 5 + 7` → `v2 = 12` - `v1 += 3` → `v1 = 7 + 3` → `v1 = 10` Agora, o loop termina porque `v2` (12) não é mais menor ou igual a 5. Portanto, a saída do `printf` será: ``` 12 e 10 ``` Assim, a alternativa correta é: C) 12 e 10.