Baixe o app para aproveitar ainda mais
Prévia do material em texto
Durante o desenvolvimento do projeto, foi necessário criar um método construtor para a classe Empregado. Assinale a opção que apresenta a criação do método construtor. _empregado_(self, matricula, cargo): def _construtor_(self, matricula, nome, cargo): def _init_(self, matricula, nome, cargo): def _empregado_(self, matricula, nome, cargo): _init_(self, matricula, cargo): Explicação: O método construtor é criado através da sintaxe: def _init_(): 2. Toda linguagem orientada a objetos permite a especificação de métodos construtores na classe, os quais são responsáveis pela inicialização do objeto recém-alocado na memória. Na linguagem Python este método recebe o seguinte nome: def this __init__ constructor self Explicação: O método construtor é denominado __init__, sendo definido, como os demais métodos, através de def __init__(self, parâmetros...). Quanto aos demais, def serve para criar uma função ou método e self é o ponteiro de auto-referência implícito do Python. O this e o constructor não pertencem à sintaxe Python. 3. Assinale a alternativa que implementa a função IMC. Esta função recebe como parâmetro de entrada o peso e a altura de uma pessoa e retorna com o valor do IMC. def IMC(peso, altura): calculo = float(peso) / float(altura) * float (altura)) return calculo IMC(): calculo = float(peso) / float(altura) * float (altura)) return calculo https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp IMC(peso, altura): calculo = float(peso) / float(altura) * float (altura)) return calculo def IMC(peso, altura): calculo = float(peso) / float(altura) * float (altura)) print(calculo) IMC(peso, altura): calculo = float(peso) / float(altura) * float (altura)) print(calculo) Explicação: Estrutura de uma função em Pyhton: 1. Toda função em Python começa com o comando def. 2. Depois do def, há o nome da função. 3. Em seguida, aparece a lista de parâmetros, que pode estar vazia, mas os parênteses são obrigatórios. 4. Após essa lista, estão os dois pontos (¿:¿). 5. Todo o código que estiver indentado fará parte do corpo da função. A indentação é muito importante na definição de funções. 6. Toda função termina com o comando return, que pode ser seguido ou não de uma variável de retorno. 4. Ao definirmos uma classe Carro em Python, qual seria um possível método para ela? define plantar(lugar): define fechar(): def somar(a,b): define acender(valor): def acelerar(vel): Explicação: A resposta é a letra b, porque um método é uma ação a ser executado pelo objeto, no caso, um carro possui como uma ação possível a aceleração, as letras c, d e e estão com uma palavra chave define que não é do python, e a letra a, somar dois parâmetros não se encaixa no objeto carro. 5. Durante o desenvolvimento de um programa em Pyhton foi criada a função cadastro, a qual recebe como parâmetros o nome e a https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp idade de uma pessoa, respectivamente. Assinale a alternativa que executa a função corretamente. cadastro() cadastro (20, "Paulo") cadastro("Paulo", 20) def cadastro ("Paulo", 20) def cadastro(20, "Paulo") Explicação: Para chamarmos uma função devemos usar a seguinte sintaxe: Nome da função (parâmetros de entrada) 6. Em orientação a objetos, a característica que determina a possibilidade de um descendente alterar a funcionalidade de um método herdado é deominada: polimorfismo abstração composição encapsulamento herança Explicação: Através da herança é possível criar uma nova classe a partir de outra já existente, aproveitando suas características, mas algumas funcionalidades podem não ser adequadas, podendo ser modificadas através da sobrescrita destes métodos, segundo um processo denominado polimorfismo. 7. Para acessar o atributo de um objeto Python, pode ser utilizado, alternativamente ao acesso direto, a seguinte função: hasattr delattr setattr getattr expattr Explicação: https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp Funções: getattr - retorna o valor do atributo, hasattr - testa se existe o atributo, setattr - seta o valor do atributo, delattr - remove o atributo, expattr - não existe. Qual das opções abaixo contém conceitos apenas do paradigma orientado a objetos? atribuição, algoritmo método, classe, herança função, variável classe, estrutura de repetição variável, estrutura condicional 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 is Veiculo class Carro inherits Veiculo class Carro extends Veiculo class Carro(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. 3. Qual é a saída do comando abaixo: >>> a='10' >>> print(a*2) 20 1010 `20¿ 100 Erro! Explicação: A variável a contém uma string. Usar o operador "*" vai repeti-la https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp 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. Apenas a sintaxe normal para a definição de uma classe simples em Python. Inicializa a variável vel. 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 Carro(FormaGeometrica) class Animal(FormaGeometrica) Nenhuma das opções está correta. class Quadrado(FormaGeometrica) class Pessoa(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): https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp https://simulado.estacio.br/bdq_simulados_exercicio.asp if valor == 0: return 1 else: return valor * fatorial(valor-1) Qual é esse conceito? Tipagem dinâmica Multiparadigmas Orientação a objetos Linguagens de script 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 seguintedefiniçã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) f.multiplicar(f) Nenhuma das anteriores está correta. fracao.multiplicar(f1) 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. https://simulado.estacio.br/bdq_simulados_exercicio.asp
Compartilhar