Sobre a construção de programas de computador, analise as af...
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
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