Considere o seguinte procedimento recursivo p, escrito na li...

Próximas questões
Com base no mesmo assunto
Q871517 Programação
    Para a questão, considere a existência de uma linguagem de programação fictícia, chamada “K”, que possui os seguintes comandos:

• comando de atribuição, que atribui um valor a uma variável. Por exemplo, na linha “v1 = v2 + v3”, o comando está sendo usado para atribuir um valor para a variável v1, sendo esse valor o resultado da soma dos valores das variáveis v2 e v3;
• comando de seleção, que executa um comando caso o valor de uma expressão seja verdadeiro. Por exemplo, na linha “se (v1 == 5) {v2 = 7}”, o comando de atribuição será executado somente se a expressão “v1 == 5” for verdadeira, ou seja, se o valor da variável v1 for igual a 5;
• comando de repetição, que executa um comando exatamente N vezes. Por exemplo, na linha “repita 5 vezes {v1 = v1 + 3}”, o comando de atribuição será executado cinco vezes;
• comando de repetição, que executa um comando enquanto uma expressão for verdadeira. Por exemplo, na linha “enquanto (v1 <= 6 E v2 == 3) {v1 = v1 - 3}”, o comando de atribuição será executado enquanto as expressões “v1 <= 6” e “v2 == 3” forem verdadeiras, ou seja, enquanto o valor da variável v1 for menor ou igual a 6 e o valor da variável v2 for igual a 3.

Considere o seguinte procedimento recursivo p, escrito na linguagem K:


procedimento p (n) {

se (n < 5)

retorne n

retorne p(n - 3)

}


v1 = p(3)

v2 = p(8)


Sabendo que o valor de v1 é 3, qual é o valor de v2?

Alternativas