Prévia do material em texto
Teste de Conhecimento avalie sua aprendizagem PROGRAMAÇÃO RAD Lupa Calc. CCT0769_A5_V1 Aluno: Matr.: Disc.: PROGRAMAÇÃO RAD 2021.1 EAD (GT) / EX 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. Qual dos comandos abaixo define uma relação de herança em Python? class Carro(Veiculo) : class Carro inherits Veiculo class Carro extends Veiculo class Carro is Veiculo Carro is Veiculo Explicação: A resposta é a letra a, que tem a sintaxe correta para definir, em Python, que a classe Carro é uma extensão da classe Veiculo. 2. Qual é a saída do comando abaixo: >>> a='10' >>> print(a*2) 100 1010 `20¿ 20 Erro! Explicação: A variável a contém uma string. Usar o operador "*" vai repeti-la 3. Qual é o objetivo do comando super() na declaração abaixo? class Carro(Veiculo): def __init__(self,vel,marca): super().__init__(vel) self.marca = marca Permite que a classe herde o método da superclasse. Uso de polimorfismo em Python. Apenas a sintaxe normal para a definição de uma classe simples em Python. Inicializa a variável vel. Nenhuma das respostas anteriores está correta. Explicação: A resposta é letra a. É desse modo que se implementa a sobrecarga de métodos em Python, possibilitando extender a funcionalidade da superclasse para as classes filhas. 4. Seja a classe definida como FormaGeométrica em Python, qual das opções abaixo poderia ser uma classe herdada dessa classe? class Animal(FormaGeometrica) class Quadrado(FormaGeometrica) class Pessoa(FormaGeometrica) class Carro(FormaGeometrica) Nenhuma das opções está correta. Explicação: A resposta é class Quadrado(FormaGeometrica), classe Quadrado, porque uma subclasse herda as propriedades da superclasse, e como só existe uma única forma geométrica entre as opções ela é a resposta correta. 5. A função abaixo em Python ilustra um conceito muito importante no paradigma funcional. def fatorial(valor): if valor == 0: return 1 else: return valor * fatorial(valor-1) Qual é esse conceito? Tipagem dinâmica Orientação a objetos Recursividade Multiparadigmas Linguagens de script Explicação: A resposta é a letra c. A função implementa a função fatorial que chama a ela mesma no comando else. Esse conceito de uma função chamar ela mesma é definido por recursividade. 6. Considere a seguinte definição da classe fração: class Fracao: def __init__(self,num,den): self.num = num self.den = den Qual seria um possivel cabeçalho para um método de multiplicar duas frações? def mul(fracao1, fracao2) fracao.multiplicar(f1) def __mul__(self,fracao): Nenhuma das anteriores está correta. f.multiplicar(f) Explicação: A resposta é: def __mul__(self,fracao): onde é passado como parâmetro um objeto da classe Fracao de onde serão retirados o numerador e o denominador. Abaixo o código desse método: def mul(self,fracao): return Fracao(self.num*fracao.num, self.den*fracao.den) 7. O que o código abaixo imprime? class Vendas: def __init__(self, id): self.id = id id = 100 val = Vendas(123) print (val.id) Nenhuma das anteriores Id Nada. Vai dar pau 123 100 Explicação: O construtor vai fazer a atribuição para a variável id do objeto val 8. Qual das opções abaixo contém conceitos apenas do paradigma orientado a objetos? método, classe, herança função, variável atribuição, algoritmo variável, estrutura condicional classe, estrutura de repetição Explicação: A resposta é a letra a, que possui três conceitos que se aplicam a orientação a objetos. Não Respondida Não Gravada Gravada Exercício inciado em 21/05/2021 01:50:21.