ProgramaçãoLinguagens de programação
- (COPERVE - UFSC 2018)
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 ?
A) 3
B) 2
C) 4
D) 8
E) 5
Próximo:
EXERCÍCIOS - Exercício 15
Vamos para o Anterior: Exercício 13
Tente Este: Exercício 27
Primeiro: Exercício 1
VOLTAR ao índice: Programação