Na programação empregando uma linguagem de alto nível, a uti...

Próximas questões
Com base no mesmo assunto
Q91107 Arquitetura de Computadores
Acerca dos conceitos de informática, julgue os seguintes itens.

Na programação empregando uma linguagem de alto nível, a utilização de um compilador implica o uso de um ligador e de um carregador para a correta execução do programa; por outro lado, a utilização de um interpretador, que simula a existência de um processador cujas instruções são aquelas da linguagem de alto nível empregada, torna desnecessárias as etapas de ligação e carga.
Alternativas

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