Na programação empregando uma linguagem de alto nível, a uti...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
Para compreender o porquê de esta alternativa ser a correta, é fundamental entender algumas etapas no desenvolvimento e execução de programas utilizando linguagens de alto nível:
Compilador: Um compilador é um programa que traduz o código-fonte escrito em uma linguagem de programação de alto nível para uma linguagem de máquina, que é diretamente executável pelo processador. No entanto, a geração do código executável em si não é suficiente para a execução do programa. Existem outras etapas importantes que precisam ser realizadas: a ligação (linking) e a carga (loading) do programa.
Ligador (Linker): O ligador é o programa que combina diferentes módulos de programa (como bibliotecas e outros objetos compilados) em um único arquivo executável. Além disso, resolve referências a variáveis e funções entre os módulos para que o programa possa funcionar corretamente como um todo.
Carregador (Loader): O carregador é o programa que coloca o arquivo executável na memória do computador para que ele possa ser executado pelo processador. É essa etapa que de fato "carrega" o programa para que ele possa ser executado.
Interpretador: Diferentemente de um compilador, um interpretador analisa e executa o código-fonte linha por linha, sem a necessidade de compilar o programa inteiro antecipadamente. Portanto, o processo de ligação e carga é desnecessário, já que não existe um arquivo executável sendo criado. O interpretador faz essa "simulação" da execução do programa em tempo real, tratando cada instrução individualmente conforme é necessária durante a execução do programa.
Portanto, a alternativa está correta ao afirmar que a utilização de um compilador implica a necessidade de uso de um ligador e de um carregador para a correta execução do programa. Por outro lado, a utilização de um interpretador dispensa as etapas de ligação e carga, pois ele executa o programa diretamente a partir do código-fonte de alto nível, atuando como se fosse um processador virtual que compreende diretamente essa linguagem de alto nível.
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
Correto. Na compilação, um programa precisa primeiro ser convertido para código objeto pelo compilador; depois, passa pelo ligador. Ex.: Pascal e C.
Já na interpretação essas três etapas são executadas comando por comando, em tempo de execução(Não há fases distintas nem se produzem códigos intermediários). Ela é mais lenta que a execução de um programa compilado, uma vez que precisa examinar cada instrução no programa-fonte, à medida que ela ocorre, e desviar para a rotina que executa a instrução.
Ex.: BASIC, linguagens de programas como Word, Excel.
Não precisa de ligação nem carga, pois não existem códigos intermediários
bem, quando cespe fala de interpretador ele se refere ao interpretador puro, pois se vc incluísse interpretador híbrido na questão, ela estaria errada.
Se o termo "Carga" for o mesmo que Carregador (loader)
Carregador (loader)
- tarefa do sistema operacional para carregar o executável em memória, para o espaço de endereçamento de um novo processo, e executá-lo;
O gabarito da questão não deveria ser errado, visto que uma das desvantagens do interpretador e que ele requer muita memória, segue a questão abaixo.
Em relação à interpretação pura, das opções seguintes aquela que apresenta suas DESVANTAGENS em relação à compilação é:
Alternativas
A
lentidão na execução e necessidade de mais espaço em memória
B
necessidade de código intermediário e lentidão na execução
C
difícil de aplicação em linguagens procedurais e necessidade de código intermediário;
D
dificuldade de análise léxica e semântica no código objeto e necessidade de mais espaço em memória;
E
necessidade de interpretador específico para cada linguagem e necessidade de código intermediário.
Gabarito A)
Se minha interpretação estiver errada, por favor, me corrijam.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo