Sobre a construção de programas de computador, analise as af...

Próximas questões
Com base no mesmo assunto
Q2287871 Programação
Sobre a construção de programas de computador, analise as afirmativas a seguir.
I. Um compilador realiza a tradução de um código-fonte escrito em linguagem de alto nível para instruções em linguagem de máquina.
II. A diferença entre um compilador e um interpretador é que o primeiro traduz apenas as instruções demandadas em tempo de execução, enquanto o segundo faz a tradução de todas as instruções, de uma só vez, em tempo de projeto.
III. As linguagens de programação que possuem tipagem forte e estática; obrigatoriamente são traduzidas por compiladores, pois, neste caso, os tipos das variáveis são determinados em tempo de execução.
Está correto o que se afirma apenas em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A

Vamos esclarecer os pontos abordados na questão e o porquê da alternativa A ser a correta.

Primeiramente, a afirmativa I está correta e afirma que um compilador realiza a tradução de um código-fonte escrito em linguagem de alto nível para instruções em linguagem de máquina. Isso significa que o compilador converte o código que os programadores escrevem, que é mais legível para humanos, em código que o computador pode executar diretamente.

Quanto à afirmativa II, ela contém uma informação incorreta. A verdadeira diferença entre um compilador e um interpretador é que o compilador traduz todo o código-fonte de uma vez, gerando um arquivo executável que pode ser rodado a qualquer momento. Já o interpretador, executa o código-fonte instrução por instrução, traduzindo-as em tempo de execução. Portanto, as funções de compiladores e interpretadores são opostas às descritas na afirmativa II.

Em relação à afirmativa III, ela também está incorreta. A tipagem forte e estática de uma linguagem de programação significa que os tipos das variáveis são verificados (e muitas vezes fixados) em tempo de compilação, e não de execução. Além disso, linguagens com tipagem forte e estática podem ser tanto compiladas quanto interpretadas. A escolha entre usar um compilador ou interpretador não depende exclusivamente do sistema de tipos da linguagem, mas de diversos outros fatores como a arquitetura alvo, performance desejada, portabilidade, entre outros.

Com base nessas explicações, a alternativa correta é a A, que confirma apenas a afirmativa I como verdadeira.

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

RESPOSTA : LETRA A

Algumas linguagens de programação têm algo chamado "tipagem estática", que verifica os tipos de dados (como números, texto, etc.) durante a criação do programa. Isso ajuda a encontrar erros antes de executar o programa. Por exemplo, o Java verifica os tipos antes de rodar o programa.

Outras linguagens têm "tipagem dinâmica", que verifica os tipos de dados enquanto o programa está sendo executado. Por exemplo, o Python faz isso, verificando os tipos quando o programa está em ação.

A ideia de que linguagens com tipagem estática sempre precisam de um compilador nem sempre é verdadeira. Algumas, como Java, usam um compilador para transformar o código em algo chamado "bytecode", que é executado por uma "máquina virtual". Não é uma conversão direta para código que o computador entenda.

Por outro lado, linguagens interpretadas, como o Python, não precisam de um processo de compilação - elas são lidas linha por linha e executadas diretamente por um interpretador.

Em resumo, a conexão entre tipagem estática ou forte e o uso de compiladores não é sempre direta - algumas linguagens usam compiladores, outras não, mas isso não está diretamente ligado ao tipo de verificação de dados que elas fazem.

Questão para ser anulada, pois veja:

Compilador: Transforma código-fonte escrito em uma linguagem de alto nível (como C, C++ ou Java) em código de baixo nível, geralmente em linguagem Assembly.

Montador: Transforma o código Assembly em código de máquina, ou seja, o código binário que o processador pode executar diretamente.

Quem efetivamente transforma o código ainda legível por humanos (assembly) em binário é o MONTADOR.

Fonte: Livro Arquitetura e Organização de Computadores 8ª edição (William Stallings).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo