Questão de Algoritmos e Estrutura de Dados — Algoritmos — FUMARC 2018
Algoritmos e Estrutura de Dados›Algoritmos
Código
qq343287
Banca
FUMARC
Órgão
Câmara de Pará de Minas - MG
Ano
2018
Nível
Médio
Cargo
Técnico em Informática
Analise as seguintes afirmativas sobre as sub-rotinas (procedimentos e funções) da programação modularizada:I. As variáveis declaradas dentro das sub-rotinas são chamadas de variáveis locais e aquelas declaradas fora de qualquer sub-rotina são chamadas de variáveis globais.II. Um parâmetro passado por valor para uma sub-rotina se comportará como uma variável local, isto é, qualquer modificação no valor desta variável não será visível fora da sub-rotina.III. Um parâmetro passado por referência para uma sub-rotina se comportará como uma variável global, isto é, qualquer modificação no valor desta variável será visível também fora da sub-rotina.Estão CORRETAS as afirmativas:
AI e II, apenas.
BI e III, apenas.
CII e III, apenas.
DI, II e III.
Revelar gabarito e comentário▾
GabaritoD — I, II e III.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Sub-rotinas: variáveis locais, globais e passagem de parâmetros
Gabarito: letra D. Todas as três afirmativas estão corretas: variáveis locais são declaradas dentro de sub-rotinas e globais fora delas; parâmetros passados por valor agem como locais (alterações não refletem fora); parâmetros passados por referência permitem que alterações sejam visíveis externamente, comportando-se de forma análoga a variáveis globais nesse aspecto.
Sub-rotinas (procedimentos/funções)
1Variáveis
Locais (dentro da sub-rotina)
Globais (fora de qualquer sub-rotina)
2Passagem de parâmetros
Por valor
Cópia do argumento
Alteração não reflete fora
Comporta-se como variável local
Por referência
Alias da variável original
Alteração reflete fora
Comporta-se como variável global
LEVEL · soulevel.com.br
Afirmativa I — ✅ Correta
A definição está correta. Em programação modularizada, variáveis declaradas dentro de uma sub-rotina (função/procedimento) são chamadas de locais, pois seu escopo se limita àquele bloco. Aquelas declaradas fora de qualquer sub-rotina são globais, acessíveis em todo o programa.
Afirmativa II — ✅ Correta
Na passagem por valor (call by value), o parâmetro recebe uma cópia do argumento. Qualquer modificação feita no parâmetro dentro da sub-rotina altera apenas a cópia, não a variável original. O parâmetro se comporta exatamente como uma variável local da sub-rotina.
Afirmativa III — ✅ Correta
Na passagem por referência (call by reference), o parâmetro é um alias (referência) para a variável original. Modificações no parâmetro alteram diretamente a variável externa. Embora tecnicamente o parâmetro não seja uma variável global (seu escopo é o bloco), ele se comporta como se fosse global no sentido de que as alterações são visíveis fora da sub-rotina. A banca considera essa analogia correta.
Conclusão: I, II e III estão corretas → gabarito: letra D.