Alternativa C - 7
Para encontrar a resposta correta, precisamos simular a execução do algoritmo passo a passo, acompanhando as alterações nos valores das variáveis.
Análise do Algoritmo
O código inicia definindo duas variáveis principais no algoritmo principal e depois chama uma sub-rotina (função) passando esses valores.
1. Inicialização Principal
Antes de entrar na função, o programa define:
A chamada valor(x, y) transfere esses valores para os parâmetros da função:
- Parâmetro formal u recebe o valor de x (u = 4)
- Parâmetro formal v recebe o valor de y (v = 2)
2. Execução da Sub-rotina valor
Dentro da função, as linhas são executadas sequencialmente. Vamos acompanhar a evolução das variáveis em uma tabela:
| Passo | Operação | Descrição | Valor de u | Valor de v |
|---|
| Início | Entrada | Recebimento dos parâmetros | 4 | 2 |
| 1º | u <- u * 2 | Multiplica u por 2 | $4 \times 2 = \mathbf{8}$ | 2 |
| 2º | v <- v + u | Soma o novo u a v | 8 | $2 + 8 = \mathbf{10}$ |
| 3º | u <- u - 1 | Diminui 1 do valor atual de u | $8 - 1 = \mathbf{7}$ | 10 |
| 4º | escreva(u) | Exibe o valor final | 7 | 10 |
Pontos Importantes
- Ordem de execução: A linha
v <- v + u utiliza o novo valor de u (que já foi multiplicado), não o original. - Variável Impressa: A pergunta pede especificamente o valor exibido na última linha (
escreva(u)), que é o resultado da subtração final.
Portanto, o valor exibido é 7.