Baixe o app para aproveitar ainda mais
Prévia do material em texto
Referência Base da Disciplina de LP VAREJÃO, Flávio Miguel. Linguagens de Programação Java, C, C++ e outras. Elsevier Editora Ltda. Rio de Janeiro. 2004. Sítios na Web http://www.inf.ufes.br/~fvarejao/livroLP.html Versão digital da bibliografia base da disciplina: http://www.inf.ufes.br/%7Efvarejao/lp/LivroLP.zip Erratas da bibliografia base da disciplina http://www.inf.ufes.br/%7Efvarejao/lp/Erratas.pdf Questões Relativas ao Capítulo 6 1. Na época em que surgiram os primeiros computadores, os programadores eram forçados a buscar o máximo de eficiência nos seus programas por causa das limitações dos recursos computacionais. Em cima desta conjuntura explique como eram feitos os primeiros programas. 2. Explique quando a programação em bloco monolítico tornou-se pouco viável? 3. No início da programação, qual era o principal fator inibidor do desenvolvimento e disseminação dos computadores? 4. O que é abstração? 5. A abstração possibilita o desenvolvimento de programas em nível. Explique o que seria isso? 6. Cite e explique alguns exemplos do uso do conceito de abstração em computação. 7. Em LPs, especificamente, o conceito de abstração é utilizado segundo duas perspectivas. Quais seriam estas perspectivas? 8. Para atender a necessidades, uma LP deve fornecer mecanismos para permitir ao programador a criação de novas formas de expressões, comandos ou representações de dados. Nesse sentido, os mecanismos de abstrações fornecidos pelas LPs podem ser classificados em: 9. O que seriam abstrações de processos? 10. O que seriam abstrações de dado? 11. Qual é o mecanismo mais comum em LPs para provimento de abstrações de processos? 12. O que os subprogramas definem? 13. De onde os subprogramas podem ser chamados? 14. Quais são os tipos de subprogramas? 15. Porque as técnicas de modularização foram desenvolvidas (o propósito principal)? 16. O que caracterizam os sistemas de grande porte e pequeno porte? 17. O que um módulo bem projetado deve identificar? 18. Explique o que vem a ser subprogramas? 19. Um subprograma deve ser responsável por realizar uma determinada funcionalidade, mantendo sempre correspondência com uma abstração de processo. Qual é conseqüência disso? 20. Suponha o código de uma função que calcula o fatorial de um número inteiro não negativo. A função recebe como parâmetro o valor inteiro, calcula o fatorial e retorna um intero resultado do cálculo do fatorial. Explique as visões do usuário e do implementador. 21. Suponha o código de um procedimento que ordena o conteúdo de um vetor. O procedimento recebe como parâmetro o vetor a ser ordenado. Explique as visões do usuário e do implementador. 22. Sabe-se que os parâmetros facilitam o processo de aplicação de dados diferenciados a chamadas distintas de um subprograma. Quais seriam as conseqüências sem a utilização de parâmetros? 23. O que é em LP um parâmetro formal? 24. O que é em LP o termo parâmetro real? 25. O que é um argumento? 26. Ilustre por meio de um fragmento de código fonte os seguintes itens: parâmetro formal, parâmetro real e argumento. 27. O que é passagem de parâmetros? 28. O que é uma passagem de parâmetros unidirecional de entrada? 29. O que é uma passagem de parâmetros unidirecional de saída? 30. O que é uma passagem de parâmetros bidirecional de entrada e saída? 31. Explique os tipos de mecanismos de implementação da passagem de parâmetros? 32. As LPs podem definir diferentes momentos nos quais se deve avaliar o parâmetro formal real a ser usado no subprograma. Quais são os modos de se realizar isso? 33. Algumas LPs não verificam se o número e o tipo dos parâmetros na chamada do subprograma são compatíveis com o número e tipo dos parâmetros declarados no cabeçalho do subprograma e utilizados no seu corpo. Nessas LPs só se pode verificar se uma determinada operação do subprograma pode ser executada no momento em que ela for realizada. Tal postura implica em problemas, quais seriam estes problemas? 34. Quais são os tipos de dados que se podem definir em uma LP? 35. Conceitualmente o que são tipos abstratos de dados (TADs)? 36. O que são TADs quando se refere a uma LP? 37. Quais são os quatro diferentes tipos de operações que podem ser realizadas sobre um TAD? 38. O que são pacotes? 39. Como as LPs utilizam o conceito de pacotes? 40. Explique o aspecto interessante a respeito do conceito de pacotes na linguagem Java é a sua relação com a organização do programa em diretórios do sistema de arquivos. 41. Quais seriam os benefícios obtidos pela modularização? Explique cada um deles. 42. Qual é a proposta do processo top-down (orientado a funcionalidades)? 43. Qual é a proposta do processo bottom-up (orientado a dados)?
Compartilhar