Lista de Exercícios 1
1. Quais são as características principais do paradigma imperativo?
R: Variáveis que modelam as células de memória; comandos de atribuição
que são baseados nas operações de transferências de dados e instruções; a
execução sequencial de instruções; e a forma iterativa de repetição que é o
método mais eficiente desta arquitetura.
2. É possível afirmar que o paradigma orientado a objetos não tem qualquer
ligação com o paradigma estruturado? Justifique.
R: Não. As linguagens mais populares que suportam a orientação a objetos
cresceram a partir de linguagens imperativas (estruturadas), ou seja, o
paradigma orientado a objetos não é um paradigma no sentido estrito: é uma
subclassificação do imperativo. A diferença é mais de metodologia quanto a
concepção e modelagem do sistema.
3. De acordo com Bjarne Stroustrup, quais as vantagens e desvantagens do
paradigma orientado a objetos? Pesquisa outras vantagens e desvantagens
em livros ou na Internet.
R: De acordo com Stroustrup, o uso de hierarquias fornece comportamento
polimórfico por meio de algum equivalente aproximado às funções virtuais. No
entanto, nem todo conceito se encaixa na hierarquia de classes e os
mecanismos que suportam o Paradigma Orientado a Objetos podem impor
sobrecargas significativas se comparadas com outras alternativas.
Outra vantagem é a possibilidade de se construir sistemas mais complexos
pela incorporação de funções prontas. Por outro lado, há uma dependência de
funcionalidades já implementadas em superclasses, no caso da herança,
implementações espalhadas em classes diferentes.
4. Aponte as quatro características fundamentais para uma linguagem ser
classificada no paradigma Orientado a Objetos.
R: Abstração, encapsulamento, herança e polimorfismo.
5. Ainda de acordo com Bjarne Stroustrup, qual o paradigma de programação
suportado na linguagem C++.
R: C++ suporta linguagens multiparadigmas.