Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSO: Análise e desenvolvimento de sistemas TURNO: Noturno DOCENTE: Fábio Gomes TURMA: N1 COMPONENTE CURRICULAR: TAARC DATA: 14/08/2021 ESTUDANTE: Diego Bonfim de Santana Atividade 1 1) O que você entende por compilador e interpretador? Descreva, também, a diferença entre eles. COMPILADOR E INTERPRETADOR: São conversores de linguagens de códigos de alto nível para a linguagem de máquina,(0 e 1). Portanto entende-se que são tradutores de códigos! Esses conversores possibilitam que o computador entenda e execute um código que foi escrito em uma linguagem de programação de alto nível, de forma legível para seres humanos. DIFERENÇA ENTRE COMPILADOR E INTERPRETADOR: 'COMPILAÇÃO'> A compilação, de fato, é uma tradução. Nesse processo, inicialmente, há um código escrito em uma linguagem de programação de alto nível. Este código será enviado ao compilador (que é nada mais nada menos que um programa), que possui a capacidade de traduzir códigos de uma determinada linguagem para outra. Os compiladores, geralmente, possuem dois módulos: "front-end e back-end". {Front-end}, é a primeira etapa do processo de compilação. Neste processo, serão checados possíveis erros de digitação, sintaxe da linguagem e tipos de dados. Caso tudo ocorra como o esperado e sem erros, o compilador continuará para o módulo back-end. {Back-end}, tem como responsabilidade alocar espaço de memória e gerar um arquivo de código-objeto, que é arquivo com o código traduzido da linguagem de programação inicial para a linguagem desejada. OBSERVAÇÃO: (Um código compilado, produzido por um compilador, não necessariamente é binário, em linguagem de máquina. Embora o mais comum seja a compilação diretamente para a linguagem de máquina.) ---------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------- 'INTERPRETAÇÃO'> O processo de interpretação é um pouco diferente, Isso porque, nesse processo, não há necessidade de gerar intermediários, como um código-objeto (arquivo gerado com o código compilado) ou um executável. Na interpretação, ocorre uma tradução instantânea, em tempo de execução. O interpretador irá ler o seu código linha a linha em tempo de execução e irá traduzir cada linha para uma linguagem alvo (que geralmente será bytecode ou linguagem de máquina). No mesmo momento que ele traduz, ele executa o código gerado, sem processos adicionais. O que é bem diferente do processo de compilação, em que você precisa primeiro compilar para somente depois executar. CONCLUSÃO >>> Um código compilado consome menos recursos da CPU, durante as fases de tradução e carregamento. Porém sua execução não é direta. Primeiro é preciso compilar, para somente depois executar (o que tira um pouco da agilidade). Um programa interpretado tem um intervalo menor entre a codificação e a execução do programa. Além disso, costuma também ter mais facilidades na linguagem e os erros são mais fáceis de serem encontrados. Porém, o custo computacional e a execução mais lenta são fatores a serem considerados na escolha. 2) O que é uma máquina virtual e qual é a sua relação com as linguagens de programação? MÁQUNAS VIRTUAIS: São maquinas criadas através de softwares. Uma máquina virtual é um programa que age como um computador completo, com todas as instâncias de um sistema operacional funcional. Em resumo, é um computador funcionando dentro de outro. Utiliza um programa cliente, que age como uma camada de virtualização entre o sistema de um computador e outro que você quer instalar. Uma 'VIRTUAL MACHINE' é um programa que simula um ambiente computacional, capaz de executar sistemas operacionais e aplicativos como se fosse uma máquina física. RELAÇÃO ENTRE MAQUINA VIRTUAL E LINGUAGENS DE PROGRAMAÇÃO: A máquina virtual é utilizada pelos compiladores pra fazer a conversão de linguagem de alto nível para linguagem de máquina; Sem elas, a compilação não seria possível; Com isso, é possível que computadores de arquiteturas diferentes consigam utilizar o mesmo programa; Seguindo esta linha de raciocínio pode-se pensar em máquinas virtuais de vários níveis (1, 2, 3, ..., n); 3) O que você entende por níveis de máquinas? É a organização estruturada para melhoria do desenvolvimento dos processadores, processadores modernos possuem 2 ou mais níveis, sendo que alguns processadores possuem até 6 níveis de maquinas. Cada nivél é voltado para o desenvolvimento ou resolução de um problema específico dentro do processador. 4) Descreva as principais características do nível de sistema operacional; >Fronteira entre o hardware e o software; >Assume as funções de gerenciar os recursos de hardware; >Oferece uma interface simplificada; >A interface pode ser amigável ou não; >O usuário interage nesse nível; 5) Descreva as principais características do nível de linguagem de programação. Conhecida como Nível de Linguagem Orientada ao Problema. É um método padronizado, formado por um conjunto de regras sintáticas e semânticas, de implementação de um código fonte - que pode ser compilado e transformado em um programa de computador, ou usado como script interpretado - que informará instruções de processamento ao computador. Permite que um programador especifique precisamente quais os dados que o computador irá atuar, como estes dados serão armazenados ou transmitidos e, quais ações devem ser tomadas de acordo com as circunstâncias. Linguagens de programação podem ser usadas para expressar algoritmos com precisão. A máquina virtual oferecida é criada para que o programador a use com conhecimentos básicos de algoritmos; A compilação é muito usada neste nível. 6) O que é uma linguagem de máquina? O que a diferencia de uma linguagem de alto nível? LINGUAGEM DE MÁQUINA É Compilação entre a linguagem Assembly e outra qualquer de alto nível. É composta pela combinação dos dígitos 1 (um) e 0 (zero) dispostos em blocos de oito unidades. O nome, linguagem de máquina, deve-se ao fato de ser a única capaz de ser “compreendida” diretamente pelos computadores. As demais linguagens de programação, em particular as de alto nível, são representações estruturadas do idioma humano de modo a permitir que o indivíduo possa fazer um computador executar tarefas específicas. Á diferença entre a linguagem de máquina e a linguagem de alto nível é que a linguagem de máquina é voltada para o entendimento do computador e a linguagem de alto nível é voltada para entendimento humano. 7) Cite pelo menos 3 linguagens de alto nível. >Java; >C++; >Python;
Compartilhar