SóProvas


ID
2614564
Banca
COPERVE - UFSC
Órgão
UFSC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere o código abaixo, escrito na linguagem Java:


public int procedimentoMisterioso(int num) {

if (num >= 10) {

return 10;

} else {

return procedimentoMisterioso(num + 3) + num;

}

}


Assinale a alternativa que especifica o resultado produzido por três execuções do método procedimentoMisterioso(), usando em cada uma os argumentos 3, 5 e 7, respectivamente.

Alternativas
Comentários
  • Questão envolvendo método RECURSIVO.

     

    Basta achar procedimentoMisterioso(  3  )  para acertar a questão.

     

    >>>>Considere procedimentoMisterioso = P <<<<

     

    P(3) = 28

    P ( 3 + 3 )  + 3

    P (6) + 3 = 28

     

    P(6) = 25

    P(6 + 3) + 6

    P( 9 ) + 6 = 25

     

     

    P( 9 ) = 19

    P( 9 + 3) + 9

    P(12) + 9 = 19

     

     

    12 é > = 10 ? Sim. LOGO, procedimentoMisterioso(12) = 10

     

     

    Letra D

     

     

    Fonte:

    Qcom - Questão comentada :

    https://youtu.be/kjbr8uQYYv0

  • basta construirmos a árvore de iterações com o qual conseguimos chegar no resultado da primeira saída, que já mata o resto da questão.

    Num=3
    1º IT = 3
    2º IT= 6

    3º IT = 9 

    4º It 12>=10 retorna 10
    3it = 10+9 = 19

    2it = 19+6 = 25

    1it = 25+3 = 28

    *it = iterações ou recursões, como queiram.

    única resposta com 28 no começo é a letra D