Maria, analista de TI, observou que o tipo mais primitivo de...
Nesse contexto, Maria pretende converter para linguagem de máquina um programa escrito em linguagem de mais alto nível do que o da linguagem de montagem e que gera o código-objeto.
Para tal Maria utilizará o método:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Maria, analista de TI, observou que o tipo mais primitivo de linguagem de programação é a linguagem que o computador entende diretamente, isto é, as instruções que podem ser diretamente executadas pelo hardware, ou seja, pela UCP (processador). Para criar um programa em linguagem de máquina, Maria deve conhecer todas as instruções disponíveis para aquela máquina e seus respectivos códigos de operação e formatos, assim como os registradores da UCP disponíveis e os endereços das células de memória onde serão armazenadas as instruções e os dados.
Nesse contexto, Maria pretende converter para linguagem de máquina um programa escrito em linguagem de mais alto nível do que o da linguagem de montagem e que gera o código-objeto.
Para tal Maria utilizará o método:
Alternativa correta: C - compilação
Justificativa:
A alternativa correta é a compilação. Compilação é o processo pelo qual um programa escrito em uma linguagem de alto nível é traduzido para a linguagem de máquina (código-objeto), que pode ser executada diretamente pelo hardware. O compilador é o software responsável por essa tradução, analisando o código-fonte e gerando o código-objeto correspondente.
Por que as outras alternativas estão incorretas:
A - execução: Esta alternativa está incorreta porque execução se refere ao ato de rodar um programa já traduzido para a linguagem de máquina. Não é o processo de conversão de um programa de uma linguagem de alto nível para a linguagem de máquina.
B - montagem: A montagem (ou assembly) é o processo pelo qual um programa escrito em linguagem de montagem (ou assembly) é traduzido para a linguagem de máquina. A linguagem de montagem está apenas um nível acima da linguagem de máquina, sendo mais primitiva que as linguagens de alto nível mencionadas na questão.
D - interpretação: Interpretação é o processo pelo qual um programa em uma linguagem de alto nível é executado diretamente por um interpretador, sem a necessidade de ser compilado para a linguagem de máquina previamente. Durante a interpretação, o código é traduzido e executado linha a linha em tempo de execução, o que é diferente do processo de compilação.
E - linkedição ou ligação: Linkedição (ou linkage) é o processo de unir múltiplos módulos de código-objeto e bibliotecas em um único executável. Apesar de ser uma parte importante do ciclo de desenvolvimento de software, a linkedição ocorre após a compilação e não é o método pelo qual Maria traduziria um programa de alto nível para a linguagem de máquina.
Espero que esta explicação tenha ajudado a compreender melhor o processo de compilação e a distinguir entre as diferentes etapas e métodos envolvidos na criação de um programa executável. Caso tenha mais dúvidas, estou à disposição para ajudar!
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
Para abordar a questão apresentada, é fundamental entender os diferentes níveis de linguagens de programação e os métodos utilizados para converter um programa de uma linguagem de alto nível para um código que possa ser executado diretamente pelo processador (linguagem de máquina).
Níveis de Linguagens de Programação
- Linguagem de Máquina: O tipo mais primitivo de linguagem, diretamente entendida pelo processador. Cada instrução é um código binário que realiza uma operação específica no hardware.
- Linguagem de Montagem (Assembly): Um nível acima da linguagem de máquina, onde as instruções são representadas por mnemonics legíveis, mas ainda muito próximas do código de máquina.
- Linguagens de Alto Nível: Incluem linguagens como C, Java, Python, etc., que são mais abstratas, mais próximas da linguagem humana e facilitam a programação complexa.
Processos de Conversão Quando se escreve um programa em uma linguagem de alto nível, ele precisa ser convertido para linguagem de máquina para ser executado pelo processador. Existem diferentes métodos para essa conversão:
A. Execução
- Esse termo é usado para descrever o ato de rodar um programa, não um método de conversão de código. Portanto, não é aplicável à questão.
B. Montagem
- Refere-se ao processo de converter código escrito em linguagem de montagem para linguagem de máquina. Embora relacionado, não se aplica à conversão de linguagens de alto nível diretamente.
C. Compilação
- Compilação é o processo pelo qual um compilador traduz o código-fonte de uma linguagem de alto nível para linguagem de máquina (ou linguagem intermediária). O resultado da compilação é um código-objeto ou executável que pode ser diretamente executado pelo processador. Portanto, este é o método que Maria utilizará para converter um programa escrito em uma linguagem de mais alto nível para linguagem de máquina.
D. Interpretação
- Um interpretador traduz e executa o código-fonte linha por linha, em tempo de execução, sem gerar um código-objeto intermediário. Embora útil para algumas linguagens e cenários, não é o método descrito no contexto da questão.
E. Linkedição ou Ligação
- Este é o processo de combinar vários módulos de código-objeto em um único programa executável. O linking vem após a compilação e não é o método de conversão inicial.
Conclusão Maria pretende converter um programa escrito em uma linguagem de alto nível para linguagem de máquina. O processo correto para essa conversão é a compilação, que traduz o código-fonte para código-objeto que pode ser executado pelo hardware.
Gabarito C
Fonte: ChatGPT
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo