Logo Passei Direto
Buscar
001 (COMPERVE-2016) Analise o trecho de código em C a seguir.

#include

int comp(int a, int b)
{
if (b == 0)
return a;
else
return comp(b,a%b);
}

int main()
{
printf("%d",comp(15,20));
}

O valor impresso após a execução desse código é


A) 15
B) 1
C) 5
D) 0
E) 20
User badge image
Aprimorando com Questões

há 2 anos

Respostas

User badge image

Ed Verified user icon

há 4 meses

Vamos analisar o código fornecido. O trecho de código em C implementa uma função chamada `comp`, que parece ser uma versão do algoritmo de Euclides para calcular o máximo divisor comum (MDC) entre dois números. A função `comp` funciona da seguinte maneira: 1. Se `b` é igual a 0, retorna `a`. Isso significa que o MDC foi encontrado, pois o divisor se tornou 0. 2. Caso contrário, chama a função `comp` recursivamente com os parâmetros `b` e `a % b`. No `main`, a função é chamada com `comp(15, 20)`. Vamos calcular passo a passo: - `comp(15, 20)` chama `comp(20, 15 % 20)` → `comp(20, 15)` - `comp(20, 15)` chama `comp(15, 20 % 15)` → `comp(15, 5)` - `comp(15, 5)` chama `comp(5, 15 % 5)` → `comp(5, 0)` - `comp(5, 0)` retorna 5. Portanto, o valor impresso após a execução do código é 5. A alternativa correta é: C) 5.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

User badge image

Ed Verified user icon

há 2 anos

O valor impresso após a execução desse código é C) 5. O código apresentado é uma função recursiva que calcula o máximo divisor comum (MDC) entre dois números inteiros. Na função "comp", o primeiro parâmetro "a" é o maior número e o segundo parâmetro "b" é o menor número. A função é chamada recursivamente até que o valor de "b" seja igual a zero, momento em que o valor de "a" é retornado. No programa principal, a função "comp" é chamada com os valores 15 e 20 como parâmetros. O MDC entre 15 e 20 é 5, portanto, o valor impresso após a execução do código é 5.

Essa resposta te ajudou?

0
Dislike0

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

004 Utilizamos o comando return no final das funções para:

A) interromper o fluxo de execução da função retornando ao estado anterior à chamada da mesma
B) nada, este comando não tem uma função específica
C) cumprir com um requisito obrigatório no uso de funções.
D) determinar o valor das variáveis locais da função
E) voltar algumas linhas de código e executar novamente a função


A) interromper o fluxo de execução da função retornando ao estado anterior à chamada da mesma
B) nada, este comando não tem uma função específica
C) cumprir com um requisito obrigatório no uso de funções.
D) determinar o valor das variáveis locais da função
E) voltar algumas linhas de código e executar novamente a função

008 (NUCEPE-2018) Analise o trecho de código a seguir e marque a única alternativa CORRETA em relação ao que será escrito após a execução do programa.

#include

void impr3()
{
printf("3 ");
}

void impr2()
{
impr3();
printf("2 ");
}

int main()
{
impr2();
printf("1");
return 0;
}



A) 3 2 1
B) 2 3 1
C) 1 2 3
D) 1 3 2
E) 2 1 3

What is the output of the following C code?

The function impr1() is called first.
The function impr3() is called second.
The function impr2() is called last.
A) 1 2 3.
X B) 1 3 2.
C) 3 2 1.
D) 2 3 1.
E) 2 1 3.

Mais conteúdos dessa disciplina