Questão de Programação — Conceitos básicos de programação — FGV 2024
Programação›Conceitos básicos de programação
Código
fg097498
Banca
FGV
Órgão
TCE-PA
Ano
2024
Nível
Superior
Cargo
Auditor de Controle Externo - Área de Informática - Analista de Sistemas
Analisadores estáticos são particularmente importantes para determinadas linguagens de programação. A análise estática pode descobrir um grande número de erros potenciais e reduzir bastante os custos de teste.Assinale a opção que contém a relação correta entre possíveis problemas encontrados pela análise estática de código e sua respectiva classe de defeitos.
AVariáveis não declaradas são da classe defeitos de controle.
BFunções e procedimentos não chamados são da classe defeitos de dados.
CPonteiros não atribuídos são da classe de defeitos de gerenciamento de armazenamento.
DCódigo inacessível é da classe de defeitos de interface.
EPossíveis violações de limites de vetor são da classe de defeitos de entrada/saída.
Revelar gabarito e comentário▾
GabaritoC — Ponteiros não atribuídos são da classe de defeitos de gerenciamento de armazenamento.
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”.
Análise Estática e Classificação de Defeitos
Gabarito: letra C. Ponteiros não atribuídos (não inicializados) são um clássico defeito de gerenciamento de armazenamento (storage management), pois podem levar a acesso inválido à memória ou vazamentos. As demais alternativas associam incorretamente os problemas às classes de defeitos.
A análise estática examina o código-fonte sem executá-lo, identificando potenciais erros. A engenharia de software classifica os defeitos em categorias como: dados, controle, interface, gerenciamento de armazenamento, etc. A questão testa essa taxonomia.
Análise estática (defeitos): Dados (Variáveis não declaradas, Tipos errados); Controle (Código inacessível, Loops infinitos); Interface (Parâmetros errados, Protocolos); Gerenciamento de armazenamento (Ponteiros não atribuídos, Estouro de pilha, Violação de limites de vetor)
Alternativa A — ❌ Incorreta
Variáveis não declaradas são defeitos de dados (a variável não existe), não de controle. Defeitos de controle envolvem fluxo de execução (ex.: loops infinitos).
Alternativa B — ❌ Incorreta
Funções e procedimentos nunca chamados são exemplos de código morto (defeito de lógica/implementação), não de dados. Defeitos de dados referem-se a erros em tipos, valores iniciais ou escopo.
Alternativa C — ✅ Correta ⟵ GABARITO
Ponteiros não atribuídos (ou não inicializados) são defeitos de gerenciamento de armazenamento (storage management), pois podem resultar em acesso a regiões de memória inválidas, vazamentos, ou corrupção. É um dos problemas mais comuns detectados por analisadores estáticos.
Alternativa D — ❌ Incorreta
Código inacessível (código morto) é um defeito de controle ou lógica, não de interface. Defeitos de interface envolvem comunicação entre componentes (parâmetros errados, protocolos).
Alternativa E — ❌ Incorreta
Violar limites de vetores (array index out of bounds) é um defeito de gerenciamento de armazenamento (acesso fora da área alocada) ou de lógica, não de entrada/saída. Defeitos de E/S relacionam-se a dispositivos externos (arquivos, rede).
PEGA ESSA DICA!
Ao estudar análise estática, memorize a classificação comum de defeitos: dados (variáveis não declaradas, tipos errados), controle (código inacessível, loops infinitos), interface (parâmetros errados), armazenamento (ponteiro nulo, estouro de pilha). Questões como essa cobram a associação correta.