Logo Passei Direto
Buscar
Analise o programa abaixo e responda a opção correta:
#include int f1 (int x, int y) { int res; if (y != 0) res= x/y; else res= 1/x; while (x > y) { res = res + x; x=x-4; } return res; } main() { f1(10,2); f1(5, 0); f1(8, 4); }
A 10; 6,2; 10.
B 10; 6,2; 21
º 21; 6,2; 10.
User badge image
Desafios para Aprender

há 2 anos

Respostas

User badge image

Ed Verified user icon

há 2 anos

Vamos analisar o programa passo a passo para entender o que ele faz e qual é o resultado de cada chamada da função `f1`. 1. Chamada `f1(10, 2)`: - `y` é diferente de 0, então `res = 10 / 2`, que resulta em `res = 5`. - O `while` executa enquanto `x > y` (10 > 2), então: - Primeira iteração: `res = 5 + 10` (res = 15), `x = 10 - 4` (x = 6). - Segunda iteração: `res = 15 + 6` (res = 21), `x = 6 - 4` (x = 2). - Terceira iteração: `x` não é mais maior que `y` (2 não é maior que 2), então o loop para. - Retorna `res = 21`. 2. Chamada `f1(5, 0)`: - `y` é igual a 0, então `res = 1 / 5`, que resulta em `res = 0.2`. - O `while` não executa porque `x` (5) não é maior que `y` (0). - Retorna `res = 0.2`. 3. Chamada `f1(8, 4)`: - `y` é diferente de 0, então `res = 8 / 4`, que resulta em `res = 2`. - O `while` executa enquanto `x > y` (8 > 4), então: - Primeira iteração: `res = 2 + 8` (res = 10), `x = 8 - 4` (x = 4). - Segunda iteração: `x` não é mais maior que `y` (4 não é maior que 4), então o loop para. - Retorna `res = 10`. Agora, juntando os resultados das chamadas: - `f1(10, 2)` retorna 21. - `f1(5, 0)` retorna 0.2. - `f1(8, 4)` retorna 10. Portanto, a sequência de resultados é: 21; 0.2; 10. Analisando as alternativas: A) 10; 6,2; 10. B) 10; 6,2; 21. C) 21; 6,2; 10. Nenhuma das alternativas corresponde exatamente aos resultados que encontramos. Parece que houve um erro nas opções apresentadas. Você pode verificar se as opções estão corretas ou se há algum erro na descrição do programa.

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina