Buscar

TESTE PROGRAMAÇAO RAD 05


Continue navegando


Prévia do material em texto

Qual das opções abaixo contém conceitos apenas do paradigma orientado a objetos?
	
	
	
	atribuição, algoritmo
	
	
	variável, estrutura condicional
	
	
	classe, estrutura de repetição
	
	
	método, classe, herança
	
	
	 função, variável
	
Explicação:
A resposta é a letra a, que possui três conceitos que se aplicam a orientação a objetos.
	
	
	
	 
		
	
		2.
		Qual dos comandos abaixo define uma relação de herança em Python?
	
	
	
	class Carro extends Veiculo 
	
	
	class Carro is Veiculo
	
	
	class Carro inherits Veiculo
	
	
	Carro is Veiculo 
	
	
	class Carro(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.
	
	
	
	 
		
	
		3.
		Qual é a saída do comando abaixo: >>> a='10' >>> print(a*2)
	
	
	
	`20¿
	
	
	100
	
	
	20
	
	
	Erro!
	
	
	1010
	
Explicação: A variável a contém uma string. Usar o operador "*" vai repeti-la
	
	
	
	 
		
	
		4.
		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.
	
	
	Nenhuma das respostas anteriores está correta.
	
	
	Uso de polimorfismo em Python.
	
	
	Inicializa a variável vel.
	
	
	Apenas a sintaxe normal para a definição de uma classe simples em Python.
	
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.
	
	
	
	 
		
	
		5.
		Seja a classe definida como FormaGeométrica em Python, qual das opções abaixo poderia ser uma classe herdada dessa classe?
	
	
	
	class Pessoa(FormaGeometrica)
	
	
	class Carro(FormaGeometrica)
	
	
	Nenhuma das opções está correta.
	
	
	class Quadrado(FormaGeometrica) 
	
	
	class Animal(FormaGeometrica) 
	
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. 
	
	
	
	 
		
	
		6.
		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?
	
	
	
	Linguagens de script 
	
	
	Orientação a objetos 
	
	
	Tipagem dinâmica
	
	
	Multiparadigmas
	
	
	Recursividade
	
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.
	
	
	
	 
		
	
		7.
		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?
	
	
	
	fracao.multiplicar(f1)
	
	
	f.multiplicar(f)
	
	
	Nenhuma das anteriores está correta.
	
	
	def mul(fracao1, fracao2) 
	
	
	def __mul__(self,fracao):
	
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)
	
	
	
	 
		
	
		8.
		O que o código abaixo imprime?
class Vendas:
    def __init__(self, id):
        self.id = id
        id = 100
val = Vendas(123)
print (val.id)
	
	
	
	123
	
	
	Id
	
	
	Nada. Vai dar pau
	
	
	100
	
	
	Nenhuma das anteriores
	
Explicação: O construtor vai fazer a atribuição para a variável id do objeto val