SóProvas


ID
1340152
Banca
CESPE / CEBRASPE
Órgão
BACEN
Ano
2013
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Julgue o  item  a seguir, referente  à arquitetura de computadores.

Um programa em linguagem de alto nível deve ser compilado para se transformar em linguagem de montagem e, posteriormente, montado para se transformar em linguagem de máquina.

Alternativas
Comentários
  • Gabarito: ERRADO


    Um programa em linguagem de alto nível deve ser compilado para se transformar em linguagem de montagem (Certo);

    e, posteriormente, montado para se transformar em linguagem de máquina (Código-Objeto). (Errada)


    O montador gera o Código-Objeto ou Código de Máquina. Quem gera a LINGUAGEM DE MÁQUINA (Programa Executável - .EXE) é o Ligador ou Linkeditor, que "junta" o código-objeto às bibliotecas necessárias para gerar o programa executável (Linguagem de Máquina).


    Fonte: https://www.inf.pucrs.br/~gustavo/disciplinas/pli/material/paradigmas-aula08.pdf


  • E porque a mesma banca CESPE julgou essa afirmativa como certa????


    Instruções em linguagem de máquina são apresentadas na forma de padrões de bits utilizados para representar as operações internas ao computador. A linguagem de montagem constitui uma versão da linguagem de máquina; cada instrução é representada por uma cadeia de texto que descreve o que a instrução faz. Nesse processo, o montador é o elemento que converte instruções em linguagem de montagem para linguagem de máquina. "


    Que total falta de nexo...

  • Para quem ficou boiando, vejam essa discussão no itnerante e principalmente o comentário do professor Gustavo Vilar:


    http://www.itnerante.com.br/group/arq_so/forum/topics/cespe-2013-bacen-rea-1-quest-o-51?commentId=1867568%3AComment%3A285375&groupId=1867568%3AGroup%3A10048

  • Essa questao foi dada como CERTA depois a CESPE alterou para E. Vejam a justificativa:

    Existem arquiteturas em que o programa em alto nível é transformado diretamente em linguagem de máquina. Por essa razão, opta‐se pela alteração do gabarito.

  • A palavra "DEVE" no meio da assertiva indica que nao existe outra possibilidade de sequencia. Na verdade é possivel sim um fluxo diferente do apresentado, sem passar por exemplo pela fase de liguagem de montagem. Questão difîcil!

     

    Gabarito, ERRADO.

     

    FFF

  • Discordo do comentário do colega que fala que o que sai do montador é o Código-Objeto.

    Conforme descrito no livro do Stalling "Um montador é um programa que traduz a linguagem de montagem em código de máquina.". E logo em seguida ele cita "Um linker (ligador) é usado para resolver quaisquer referências entre os módulos carregados.".

    Acredito que o erro está na palavra DEVE, pois um programa em linguagem de alto nível pode passar pelo INTERPRETADOR não necessitando de passar pelo ASSEMBLER.

  • "Não precisa ser compilada muito menos montada, apenas interpretada." prof.Gustavo Vilar

  • A questão toda é o DEVE.

    Linguagens como C++ são compiladas (gerando arquivos de montagem), montadas (o que gera código-objeto) e ligadas (que gera código executável. em linguagem de máquina).

    Já linguagens como o Python são interpretadas, tendo runtime libraries resolvidas em tempo de execução.

    E linguagens como Java não são nem uma coisa nem outra, uma que que passa pelo processo de compilação e interpretação.

    Fontes:

    http://www2.hawaii.edu/~takebaya/ics111/process_of_programming/process_of_programming.html

    https://oop-cpp.netlify.app/06-the-compilation-process/#the-c-compilation-process