Questão de Engenharia de Software — Análise Essencial — FCC 2018
Engenharia de Software›Análise Essencial
Código
fc042316
Banca
FCC
Órgão
Câmara Legislativa do Distrito Federal
Ano
2018
Cargo
Analista de Sistemas - Área 2
Considere que um Analista de Sistemas da Câmara Legislativa do Distrito Federal, em sua rotina de trabalho ao longo dos meses, realizou as tarefas listadas abaixo.I. Criou uma aplicação web utilizando linguagem de script em condições ideais.II. Desenvolveu uma aplicação em uma linguagem de programação, utilizou um programa que traduziu o código para linguagem de máquina e disponibilizou o arquivo com o código executável para diversos funcionários utilizarem. Como havia computadores com sistemas operacionais diferentes, ele teve que criar versões do código executável para cada uma das plataformas.III. Utilizou um navegador para fazer pesquisas em diversos websites disponíveis em páginas WWW, usando um computador conectado à internet.IV. Desenvolveu uma aplicação em uma linguagem de programação, utilizou um programa que traduziu o código para uma linguagem intermediária e fez o download de uma máquina virtual para executar e testar a sua aplicação.Em relação às linguagens de programação utilizadas para criar as aplicações e à linguagem na qual se baseia o navegador, conclui-se, corretamente que
Aem todas as tarefas as linguagens são interpretadas ou passam por uma fase de interpretação.
Bna tarefa II a linguagem é orientada a objetos e na tarefa I a linguagem não permite acesso a banco de dados.
Cem duas das tarefas as linguagens são normalmente interpretadas, em uma tarefa a linguagem é compilada e em uma tarefa a linguagem baseia-se em um modelo híbrido.
Dna tarefa IV a linguagem é orientada a objetos e a tarefa III utiliza linguagem compilada.
Eem duas das tarefas as linguagens são normalmente interpretadas, em uma tarefa a linguagem baseia-se em um modelo híbrido e em uma tarefa utiliza-se uma linguagem de marcação.
Revelar gabarito e comentário▾
GabaritoC — em duas das tarefas as linguagens são normalmente interpretadas, em uma tarefa a linguagem é compilada e em uma tarefa a linguagem baseia-se em um modelo híbrido.
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”.
Classificação de linguagens quanto à execução (compilada, interpretada, híbrida)
Gabarito: letra C. As tarefas descritas envolvem diferentes modelos de execução: tarefa I (script) → interpretada; tarefa II (código executável nativo) → compilada; tarefa III (navegador interpreta páginas web) → interpretada; tarefa IV (bytecode + máquina virtual) → híbrida. Portanto, duas interpretadas (I e III), uma compilada (II) e uma híbrida (IV), exatamente o que afirma a alternativa C.
Tarefa
Descrição
Modelo de Execução
Característica
I
Aplicação web com linguagem de script
Interpretada
Código executado diretamente sem compilação prévia
II
Código compilado para executável nativo (múltiplas plataformas)
Compilada
Tradução completa para linguagem de máquina
III
Navegador acessa páginas WWW
Interpretada
HTML/CSS/JS interpretados pelo navegador
IV
Código traduzido para linguagem intermediária (bytecode)
Híbrida
Compilação para bytecode + interpretação por máquina virtual
Modelos de execução: Interpretada (Tarefa I (script), Tarefa III (navegador)); Compilada (Tarefa II (executável nativo)); Híbrida (Tarefa IV (bytecode + VM))
Alternativa A — ❌ Incorreta
Afirma que "todas as tarefas as linguagens são interpretadas ou passam por uma fase de interpretação". Erro: na tarefa II, o código é compilado diretamente para linguagem de máquina, gerando executável nativo — não há fase de interpretação.
Alternativa B — ❌ Incorreta
Diz que na tarefa II a linguagem é orientada a objetos e que na tarefa I a linguagem não permite acesso a banco de dados. Erro: não há relação entre o modelo de execução e orientação a objetos, e a afirmação sobre banco de dados não se sustenta (linguagens de script podem acessar banco de dados).
Alternativa C — ✅ Correta ⟵ GABARITO
Tarefa I: Linguagem de script → normalmente interpretada.
Tarefa II: Código compilado para executável nativo → compilada.
Tarefa IV: Código traduzido para linguagem intermediária e executado em máquina virtual → híbrida (compila para bytecode, interpreta na VM).
Assim, duas interpretadas, uma compilada, uma híbrida — descrição exata.
Alternativa D — ❌ Incorreta
Afirma que na tarefa IV a linguagem é orientada a objetos e que a tarefa III utiliza linguagem compilada. Erro: a tarefa III, no contexto do navegador, envolve interpretação de linguagens web, não compilação. Além disso, não é necessário que a linguagem da tarefa IV seja orientada a objetos (existem linguagens híbridas não OO, como Go? mas o importante é o modelo de execução).
Alternativa E — ❌ Incorreta
Diz que duas tarefas são interpretadas, uma é híbrida e uma utiliza linguagem de marcação. Erro: linguagens de marcação (como HTML) não são linguagens de programação; a tarefa III usa o navegador que interpreta linguagens como JavaScript (linguagem de programação), não apenas linguagem de marcação. Portanto, a classificação correta é interpretada, não "linguagem de marcação".
PEGA ESSA DICA!
Para questões sobre classificação de linguagens, lembre-se: (1) linguagens de script → interpretadas; (2) compiladas para executável nativo → compiladas; (3) bytecode + VM → híbridas; (4) navegadores interpretam páginas, mas o software navegador em si é compilado. A banca frequentemente testa a associação correta entre o cenário de desenvolvimento e o modelo de execução.