Para cada exercício abaixo crie um arquivo Python distinto e poste nesta tarefa
Modele um funcionário. Ele deve ter o nome do funcionário, o departamento onde trabalha, seu salário, a data de entrada no banco e seu RG. Defina alguns métodos de acordo com sua necessidade. Além deles, defina um método recebe_aumento que aumenta o salário do funcionário de acordo com o parâmetro passado como argumento. Crie também um método calcula_ganho_anual, que não recebe parâmetro algum, devolvendo o valor do salário multiplicado por 13.]

Passo 1

O enunciado pede para modelar um funcionário usando programação orientada a objetos em Python. Os conteúdos envolvem definição de classe, atributos de instância, métodos de instância, e operações sobre atributos (como atualizar salário e calcular ganho anual).

Passo 2

Definimos a classe Funcionario com um método construtor __init__ que recebe e armazena os atributos obrigatórios: nome, departamento, salário, data de entrada e RG.
Implementamos o método \(recebe\_aumento\)(self, valor) que recebe um valor e o adiciona ao atributo salario. Assim conseguimos atualizar o salário do funcionário.
Implementamos o método \(calcula\_ganho\_anual\)(self) que não recebe parâmetros e retorna o salário multiplicado por , conforme especificado.

Passo 3

Para facilitar uso e depuração, adicionamos um método \(exibir_dados\)(self) que formata e imprime os principais dados do funcionário.

Resposta

Crie um arquivo chamado funcionario.py com o seguinte conteúdo:
class Funcionario:
    def __init__(self, nome, departamento, salario, \(data\_entrada\), rg):
        """
        Inicializa um objeto Funcionario.

        :param nome: str, nome completo do funcionário
        :param departamento: str, nome do departamento
        :param salario: float, salário mensal
        :param \(data\_entrada\): str, data de entrada (formato dd/mm/aaaa)
        :param rg: str, número do RG
        """
        self.nome \(=\) nome
        self.departamento \(=\) departamento
        self.salario \(=\) float(salario)
        self.\(data\_entrada = data\_entrada\)
        self.rg \(=\) rg

    def \(recebe\_aumento\)(self, valor):
        """
        Aplica um aumento ao salário do funcionário.

        :param valor: float, valor do aumento a ser adicionado ao salário
        """
        if valor < \(0\):
            raise ValueError("O valor do aumento deve ser não-negativo.")
        self.salario \(+=\) valor

    def \(calcula\_ganho\_anual\)(self):
        """
        Calcula o ganho anual considerando \(13\) salários.

        :return: float, salário mensal vezes \(13\)
        """
        return self.salario * \(13\)

    def \(exibir\_dados\)(self):
        """
        Exibe os dados do funcionário de forma legível.
        """
        print(f"Nome: {self.nome}")
        print(f"Departamento: {self.departamento}")
        print(f"Salário atual: R$ {self.salario:.\(2\)f}")
        print(f"Data de entrada: {self.\(data\_entrada\)}")
        print(f"RG: {self.rg}")
# Exemplo de uso:
if __name__ \(==\) "__main__":
    f \(=\) Funcionario("Ana Silva", "Recursos Humanos", \(3500.00\), "\(15\)/\(03\)/\(2018\)", "\(12.345\).\(678\)-\(9\)")
    f.\(exibir\_dados\)()
    f.\(recebe\_aumento\)(\(500.00\))
    print("\nApós aumento:")
    f.\(exibir\_dados\)()
    print(f"\nGanho anual: R$ {f.\(calcula\_ganho\_anual\)():.\(2\)f}")

Exercícios relacionados