O algoritmo a seguir mostra o uso de um procediment...
algoritmo "MDA"
var
N : inteiro
C : caractere
L : logico
procedimento P14(var PN:inteiro;var PC:caractere;PL:logico)
inicio
PN <-65
PL <- FALSO
se (PN MOD 4 = 3) entao
PC < - "FLASH"
senao
PC < - "PHOTOSHOP"
fimse
fimprocedimento
inicio
N <-17
C<-"INDESIGN"
L <- FALSO
P14(N,C,L)
N <- N MOD 13
se L = VERDADEIRO entao
C<-"ILLUSTRATOR"
fimse
escreval(N:5,C:-10," ",L)
fimalgoritmo
Após a execução, o algoritmo ira gerar a seguinte saida:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: B - 0 PHOTOSHOP VERDADEIRO
Esse algoritmo aborda o conceito de passagem de parâmetros por valor e por referência, além da manipulação de variáveis dentro de um procedimento. Para resolvê-lo, é necessário compreender como cada tipo de passagem de parâmetro afeta os valores das variáveis originais e como as operações dentro do procedimento impactam esses valores.
Explicação:
1. Inicialização das Variáveis:
No início do algoritmo, temos as seguintes inicializações:
- N é inicializado com 17
- C é inicializado com "INDESIGN"
- L é inicializado com FALSO
2. Execução do Procedimento P14:
O procedimento P14 é chamado com os parâmetros por referência N e C, e por valor L. Dentro do procedimento ocorre o seguinte:
- PN (referência para N) recebe 65
- PL (cópia do valor de L) recebe FALSO
- Como PN MOD 4 (65 MOD 4) não é igual a 3, PC (referência para C) recebe "PHOTOSHOP"
Portanto, após a execução de P14, temos:
- N = 65
- C = "PHOTOSHOP"
- L = FALSO (o valor de L fora do procedimento não foi alterado)
3. Continuação do Algoritmo Principal:
Voltando ao algoritmo principal, a variável N é modificada para N MOD 13:
- 65 MOD 13 é igual a 0
Portanto, agora temos:
- N = 0
- C = "PHOTOSHOP"
O algoritmo verifica se L é VERDADEIRO, mas como L é FALSO, a variável C não é alterada.
Finalmente, o comando escreval gera a saída:
- N: 0
- C: "PHOTOSHOP"
- L: FALSO
Assim, a saída correta é 0 PHOTOSHOP FALSO, confirmando que a alternativa correta é a B.
Justificativa das Alternativas Incorretas:
- A - 0 INDESIGN VERDADEIRO: Incorreto porque N e C foram modificados, e L continua FALSO.
- C - 0 PHOTOSHOP FALSO: Incorreto. Embora N e C estejam corretos, L é FALSO.
- D - 4 PHOTOSHOP FALSO: Incorreto. N não é 4; após a operação MOD, N é 0.
- E - 4 INDESIGN FALSO: Incorreto. Além de N estar incorreto, C foi alterado para "PHOTOSHOP".
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Não entendi, alguém poderia explicar?
A resposta é a letra "C".
Não é a letra B. A variável booleana é iniciada com Falso e em nenhum momento é atribuído o valor Verdadeiro. Gabarito: letra C.
Força Guerreiro!!!!!!
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo