Universidade do Estado de Santa Catarina - UDESC Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação - DCC Prof.: Claudinei Dias Disciplina: Data_____ Aluno: ______________________________________________________ 1. Qual a motivação para integrar paradigmas de programação e que cuidados se deve ter no projeto de linguagens multi-paradigmas? 2. Apresente argumentos contra e a favor com relação a Orientação a Objetos ser considerado paradigma de programação. 3. Linguagens cujo projeto é uniforme tendem a oferecer maior poder de expressão e a ser mais facilmente aprendidas por programadores. Apresente exemplos de decisões de projeto de linguagens que limitam desnecessariamente certas construções e mencione possíveis soluções. 4. [Poscomp, 2005] Considere as seguintes afirmações: O paradigma da programação funcional é baseado em funções matemáticas e composição de funções. II. PROLOG é uma linguagem de programação cuja sintaxe é uma versão simplificada do cálculo de predicados e seu método de inferência é uma forma restrita de Resolução. III. O conceito de Classe foi primeiramente introduzido por Simula67. IV. O paradigma orientado a objeto surgiu em paralelo ao desenvolvimento de Smalltalk. V. No paradigma declarativo, programas são expressos na forma de lógica simbólica e usam um processo de inferência lógica para produzir resultados. Quais são as afirmações VERDADEIRAS? a) somente I e V. b) somente II e V. c) somente I, II e V. d) somente I e II. e) todas as afirmações são verdadeiras. I. 5. [Poscomp, 2008] Com respeito ao projeto de linguagens de programação, assinale a afirmativa CORRETA. a) A forma dos programas construídos com uma determinada linguagem, definida por regras formais que expressam restrições que definem como são os programas bem formados, é um problema de carácter sintático. b) O significado de programas bem construídos com uma determinada linguagem, a qual define o efeito da execução desses programas, é um problema de carácter semântico. c) Sistemas de tipos apresentam três propósitos principais em uma linguagem de programação: a segurança, a abstração e a modularidade. d) A segurança de uma linguagem de programação está diretamente relacionada com a capacidade de identificação estática e/ou dinâmica de programas mal formados que não podem ser dentificados somente por meio de mecanismos de análise sintática, como gramáticas livres do contexto. e) Todas as alternativas anteriores. 6. [Poscomp, 2009] Considere as afirmativas abaixo: I Fortran, Pascal e Java são linguagens de terceira geração. II C++ e Java permitem a criação de classes e o uso de herança múltipla. III Prolog é uma linguagem funcional pura. IV PHP, Perl e Ruby são linguagens de sexta geração. Assinale a alternativa CORRETA: a) apenas a afirmativa I é verdadeira. b) apenas a afirmativa II é verdadeira. c) apenas a afirmativa III é verdadeira. d) apenas as afirmativas I e IV são verdadeiras. e) apenas as afirmativas II e III são verdadeiras. 7. (2,5 pontos) Qual a diferença entre a instrução “for” da linguagem C++ ao da linguagem Java? Considerando o algoritmo ao lado reescreva-o usando estrutura de laço na linguagem C e na linguagem Java. Suponha que todas as variáveis sejam inteiro. Discuta qual linguagem, para esse código, tem a melhor legibilidade, capacidade de escrita e confiabilidade. Considerando os critérios e as características de avaliação da tabela a seguir: k := 0 laço: if k > 10 then goto fora k := k + 1 a := 2*k goto laço fora: …