Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Impresso por Ano, CPF 165.185.597-80 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser
reproduzido ou repassado para terceiros. 05/09/2020 15:36:52
 Paradigmas de Linguagens de Programação 
 Aula 02 Conceitos Preliminares –
 
 Exercícios de Fixação: 
 1. Por que é útil para um programador ter alguma experiência no projeto de linguagens, 
 mesmo que ele nunca projete uma linguagem de programação? 
 ● Aumento da capacidade de expressar ideias, maior conhecimento para a escolha de 
 linguagem apropriadas, capacidade aumentada para aprender novas linguagens, 
 entender melhor a importância da implementação, aumento da capacidade de 
 projetar novas linguagens e avanço global da computação. 
 
 2. Como o conhecimento de linguagens de programação pode beneficiar toda a comunidade 
 da computação? 
 ● O conhecimento aprofundado das linguagens de programação pode bene�ciar nas 
 novas linguagens que estão surgindo, para que essas sejam melhores e mais eficazes 
 que as antigas. 
 
 3. Que linguagem de programação tem dominado a computação cien�fica nos úl�mos 60 
anos? 
 ● Na área da computação cien�fica tem sido usado a Fortran. 
 
 4. Que linguagem de programação tem dominado as aplicações de negócios nos últimos 60 
anos? 
 ● Na área de aplicações de negócios tem sido usado a COBOL. 
 
 5. Que linguagem de programação tem dominado a inteligência ar�ficial nos últimos 60 
anos? 
 ● Na área de inteligência ar�ficial tem sido usado a Lisp. 
 
 6. Em que linguagem a maior parte do UNIX é escrito? 
 ● Inicialmente foi escrita em Assembly, posteriormente foi reescrita usando a linguagem 
C. 
 
 
 
Impresso por Ano, CPF 165.185.597-80 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser
reproduzido ou repassado para terceiros. 05/09/2020 15:36:52
 7. Qual é a desvantagem de ter recursos demais em uma linguagem? 
 ● Overhead (processamento ou armazenamento em excesso) e a falta de flexibilidade da 
 linguagem. 
 
 8. Como a sobrecarga de operador de�nida pelo usuário pode prejudicar a legibilidade de 
 um programa? 
 ● Quando o usuário cria suas próprias sobrecargas. 
 
 9. Cite um exemplo da falta de ortogonalidade no projeto da linguagem C. 
 ● A falta de ortogonalidade acarreta exceções às regras da linguagem. Quanto mais 
 ortogonal é o projeto de uma linguagem, menos exceções as regras da linguagem 
 exigirão. Um exemplo é quando, em C, se possui dois tipos de dados estruturados, 
 arrays e registros. Registros podem ser retornados de funções, arrays não. 
 
 10. Qual linguagem usou a ortogonalidade como principal critério de projeto? 
 ● A linguagem de programação que mais se u�lizou da ortogonalidade foi o ALGOL 68. 
 
 11. Que sentença de controle primitiva é usada para construir sentenças de controle mais 
 complicadas em linguagens que não as têm? 
 ● Em grande parte dos casos são usados vetores e ponteiros para se construir sentenças 
 mais complexas. 
 
 12. O que signi�ca para um programa ser con�ável? 
 ● Programas con�áveis tem como base Verificação de Tipos e Tratamento de Exceções. 
 Quando o mesmo está de acordo com todas as suas especificações ele é considerado 
 confiável. 
 
 13. Por que veri�car os tipos dos parâmetros de um subprograma é importante? 
 ● Quando o ambiente não oferece um tipo de veri�cação de dados você poderá ter uma 
 inconsistência de dados no final do programa. 
 
 14. O que são apelidos? 
 ● São identi�cadores utilizados quando se é possível ter um ou mais nomes defi nidos 
 para acessar a mesma célula de memória. 
 
Impresso por Ano, CPF 165.185.597-80 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser
reproduzido ou repassado para terceiros. 05/09/2020 15:36:52
 15. O que é o tratamento de exceções? 
 ● É a habilidade de um programa de detectar um erro em tempo de execução e resolvê-
 los. 
 
 16. Por que a legibilidade é importante para a facilidade de escrita? 
 ● Pois é o quão fácil uma linguagem é de se programar. Quanto maior a sua legibilidade, 
 maior será seu nível de abstração e ela será considerada uma linguagem de alto nível. 
 
 17. Como o custo de compiladores para uma linguagem está relacionado ao projeto dela? 
 ● Dependendo do projeto da linguagem, o compilador pode ou não ter uma grande 
 quantidade de checagens. Essa quan�dade de checagens que definirá se será terá 
 eficiência ou não. 
 
 18. Qual foi a influência mais forte no projeto de linguagens de programação nos últimos 60 
 anos? 
 ● A influência mais forte nos úl�mos 60 anos vem da Arquitetura de Von Neumann. A 
 mesma consiste em uma arquitetura de computador que possibilita uma máquina 
 armazene seus programas no mesmo espaço de memória que os dados, desse jeito 
 podendo manipular tais programas. 
 
 19. Qual é o nome da categoria de linguagens de programação cuja estrutura é ditada pela 
 arquitetura de computadores von Neumann? 
 ● São linguagens nomeadas como imperativas. Essas linguagens descrevem a 
 computação como ações ou comandos que mudam o estado de um programa. 
 
 20. Quais são os três recursos fundamentais de uma linguagem orientada a objetos? 
 ● Encapsulamento, herança e polimorfismo. 
 
 21. Qual foi a primeira linguagem a oferecer suporte aos três recursos fundamentais da 
 programação orientada a objetos? 
 ● Smalltalk. Nesta linguagem tudo é objeto, uma vez que não existem tipos primi�vos e 
 por isso ela é considerada puramente orientada a objetos. 
 
 22. Dê um exemplo de dois critérios de projeto de linguagens que estão em con�ito direto 
um com o outro. 
 ● Legibilidade e facilidade de escrita. 
Impresso por Ano, CPF 165.185.597-80 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser
reproduzido ou repassado para terceiros. 05/09/2020 15:36:52
 
 23. Quais são os três métodos gerais de implementar uma linguagem de programação? 
 ● Compilação, interpretação pura e Métodos Híbridos. 
 
 24. Qual produz uma execução de programas mais rápida: um compilador ou um 
 interpretador puro? 
 ● Os Compiladores terão uma resposta mais rápido. Isso se dá pela sua rotina que usa a 
 técnica de Just in Time, essa que carrega somente módulos que são necessários no 
 instante. 
 
 25. Que papel a tabela de símbolos tem em um compilador? 
 ● Serve como uma base de dados para o processo de compilação. 
 
 26. O que faz um ligador? 
 ● O linker é um programa que conecta o programa de sistema aos programas de 
 usuário. Também conhecido por imagem executável. 
 
 27. Por que o gargalo de von Neumann é importante? 
 ● A disputa entre dados e instruções pelo tempo da unidade central de processamento.O gargalo aparece quando o processador tem que decidir entre executar um grande 
 número de instruções por segundo e ler um grande volume de dados ao mesmo 
 tempo. Isso desencadeou pesquisas no campo da computação paralela, que consiste 
 em pegar essa grande massa de instruções e dividi-las em problemas menores para 
 serem realizados ao mesmo tempo, em paralelo. 
 
 28. Quais são as vantagens de implementar uma linguagem com um interpretador puro? 
 ● Correções são feitas de forma rápida e não se perde tempo de compilação já que a 
 linguagem implementada seria lida e executada simultaneamente.

Mais conteúdos dessa disciplina