← Questões de Programação

Programação · CONSULPLAN · 2023

Questão comentada de 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

Gabarito: A

Quando voce estuda construção de programas, a primeira dupla que precisa ficar clara é compilador e interpretador. O compilador pega o código-fonte em linguagem de alto nível e o traduz, em regra, para linguagem de máquina ou para um código intermediário, gerando um executável ou algo pronto para execução. Já o interpretador vai executando o programa aos poucos, traduzindo instrução por instrução, durante a execução. E aqui a questão gosta de inverter tudo para testar atenção de vestibular de concurso, um clássico da banca. A afirmativa I esta correta porque descreve justamente a função básica de um compilador: converter o código-fonte em uma forma compreensível pela máquina. Isso pode ocorrer de modo integral antes da execução, o que difere do interpretador. Em linhas gerais, essa é a definição doutrinária usual adotada em Introdução à Programação e Linguagens de Programação. A afirmativa II esta errada porque trocou as características. Quem traduz apenas o que é necessário em tempo de execução é o interpretador, e quem faz a tradução de uma vez só, em tempo de compilação/projeto, é o compilador. Ou seja, a banca virou o jogo exatamente no ponto que mais derruba candidato apressado. A afirmativa III também esta errada. Tipagem forte e estática não significa que os tipos são determinados em tempo de execução; ao contrário, tipagem estática indica verificação e definição dos tipos em tempo de compilação. Além disso, uma linguagem não precisa obrigatoriamente ser compilada só por ter esse tipo de tipagem, porque existem modelos híbridos e diferentes formas de implementação. Por isso, apenas a I esta correta, e o gabarito A faz todo sentido.

Continue treinando

Questões relacionadas