Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. A redefinição de métodos herdados por uma classe para servir a seus próprios interesses é característica de: programação estruturada abstração herança polimorfismo instanciação Explicação: Uma vez que uma classe tenha sido herdada, métodos herdados podem ser redefinidos (nova lógica de implementação interna) na classe que a herdou para servir aos interesses dela, aumentando o reuso e se valendo de técnicas para redução de tempo e custo de desenvolvimento, além do incremento do fator segurança (a classe que serviu de base para a herança já funcionava anteriormente). 2. O não determinismo, ou seja, a capacidade de encontrar mais de uma solução para o problema, é uma característica do paradigma: orientado a objetos lógico funcional concorrente estruturado Explicação: Os programas escritos em LPs lógicas têm duas peculiaridades: · Não determinismo: Podem achar mais de uma solução para o problema; · Backtracking: Mecanismo do compilador da linguagem lógica (como, por exemplo, Prolog), o que permite o não determinismo. 3. Avalie as colunas I e II a seguir, onde na coluna I temos os paradigmas e na coluna II temos linguagens de programação Coluna I: Paradigmas Colina II: Linguagens 1. Lógico a. Haskell 2. Funcional b. prolog 3. Orientado a objeto c. JAVA 4. Multi paradigma d. C++ Assinale a opção que relaciona corretamente as colunas I e II 1-b; 2-d; 3-a; 4-c 1-b; 2-a; 3-c; 4-d 1-c; 2-a; 3-d; 4-b 1-b; 2-a; 3-d; 4-c 1-a; 2-b; 3-d; 4-c Explicação: LOGICO --: Prolog FUNCIONAL - Haskell OO - C++ MULTI PARADIGMA : JAVA 4. Sobre as características do paradigma orientado a objeto e as linguagens de programação (LPs) que impementam tal paradigma, avalie as assertivas a seguir: I. Uma LP que implemente orientação a objeto deve permitir, minimamente: definição de classes, implementação de encapsulamento, herança e polimorfismo II. A visibilidade privada para métodos diz que esses somente podem ser usados pela própria classe e as que deram herdarem III. A visbibilidade pública de atributos, viola o encapsulamento IV. Todas as Lps implementam herança múltipla, onde uma classe pode herdar propriedades (atributos e métodod) de mais de 1 classe. Assinale a UNICA opção que contém TODAS as assertivas CORRETAS I, II e III I, II, III e IV I e IV II e IV I e III Explicação: I. Uma LP que implemente orientação a objeto deve permitir, minimamente: definição de classes, implementação de encapsulamento, herança e polimorfismo --> VERDADE II. A visibilidade privada para métodos diz que esses somente podem ser usados pela própria classe e as que deram herdarem --> FALSO, pois apenas as proprias classes podem acessar métodos privados III. A visbibilidade pública de atributos, viola o encapsulamento --: VERDADE , na medida em que deixa de proteger os atributos, ,deixando-os ser acessados fora da classe. IV. Todas as Lps implementam herança múltipla, onde uma classe pode herdar propriedades (atributos e métodod) de mais de 1 classe. --> FALSO, nem todas as LPs implementam herança múltipla. As LPs OO Eiffel, Java e Smalltalk não implementam herança múltipla. 5. Avalie as assertivas I e II a seguir e a relação de causa e efeito entre elas. I. As LPs que implementam tratamento de exceção produzem código mais confiável PORQUE II. As Lps que implementam tratamento de exceção precisam que o programador preveja e codifique a reação a cada tipo possível de exceção A assertiva I está errada e a assertiva II está correta As assertivas I e II estão corretas e a assertiva II justifica a assertiva I As assertivas I e II estão erradas A assertiva I está correta e assertiva II está errada As assertivas I e II estão corretas e a assertiva II não justifica a assertiva I Explicação: As assertivas I e II estão corretas. Justamente por demandarem trabalho do programador a tratar cada tipo de exceção, tormam o código mais confiável. Por isso, além de corretas, a assertiva II justifica a assertiva I 6. Sobre linguagens de programação e paradigma orientado a objetos I. Objeto é uma instância (elemento específico) de uma classe II. A visibilidade de um atributo definida como público, não fere o princípio fundamental do encapsulamento. III. A implementação do polimorfismo só é possível quando a LP implementa o conceito de herança IV. A linguagem C é das mais usadas linguagens orientadas a objeto. Com base em sua análise, marque a opção que apresenta TODAS as assertivas corretas. I e III I, III e IV I, II e IV II, III e IV III Explicação: I. Objeto é uma instância (elemento específico) de uma classe --> VERDADE II. A visibilidade de um atributo definida como público, não fere o princípio fundamental do encapsulamento. --> FALSO, pois fere sim, na medida em que encapsular significa proteger os atributos de acesso indevido e diz que: os atributos de uma classe somente devem ser acessados por métodos dessa classe. III. A implementação do polimorfismo só é possível quando a LP implementa o conceito de herança --> Verdade, se não herdar, não haverão métodos polimórficos IV. A linguagem C é das mais usadas linguagens orientadas a objeto. --> FALSO, C não é uma linguagem orientada a objeto. Mas C++ sim,
Compartilhar