Buscar

questionario-cap-6

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)?

Outros materiais