O algoritmo a seguir mostra o uso de um procediment...

Próximas questões
Com base no mesmo assunto
Ano: 2014 Banca: FUNCAB Órgão: MDA Prova: FUNCAB - 2014 - MDA - Analista de Negócios |
Q499287 Algoritmos e Estrutura de Dados
O algoritmo a seguir mostra o uso de um procedimento com passagem de parâmetro por valor de L para PL e por referência de N para PN e de C para PC.

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:
Alternativas

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?

Redigi o código no visualg e sanei minha dúvida, esse gabarito está errado ou a banca que errou e manteve seu gabarito errado.

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