Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Guia2/src/__pycache__/__init__.cpython-314.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
55 changes: 52 additions & 3 deletions Guia2/src/folha_pagamento/desenvolvedor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,55 @@
from folha_pagamento.funcionario import Funcionario

# Desenvolva a classe Desenvolvedor aqui.
class Desenvolvedor(Funcionario):

class Desenvolvedor:
pass
def __init__(self, nome, matricula, salario_base, linguagem, senioridade):
super().__init__(nome, matricula, salario_base)
self._linguagem = linguagem
self._senioridade = senioridade

@property
def linguagem(self):
return self._linguagem

@linguagem.setter
def linguagem(self, valor):
self._linguagem = valor

@property
def senioridade(self):
return self._senioridade

@senioridade.setter
def senioridade(self, valor):
self._senioridade = valor

def calcular_bonus(self):

if self.senioridade == 'junior':
return self.salario_base * 0.05

elif self.senioridade == 'pleno':
return self.salario_base * 0.10

elif self.senioridade == 'senior':
return self.salario_base * 0.15

return 0

def calcular_descontos(self):
return self.salario_base * 0.08

def calcular_adicionais(self):

if self.linguagem == 'Python':
return 500

elif self.linguagem == 'Java':
return 400

elif self.linguagem == 'JavaScript':
return 350

else:
return 200

43 changes: 41 additions & 2 deletions Guia2/src/folha_pagamento/estagiario.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,44 @@

# Desenvolva a classe Estagiario aqui.

class Estagiario:
pass
class Estagiario(Funcionario):
def __init__(self, nome, matricula, salario_base, curso, carga_horaria):
super().__init__(nome, matricula, salario_base)
if not curso:
raise ValueError("Curso invalido")

if not carga_horaria:
raise ValueError("Carga horária inválida")

@property
def curso(self):
return self._curso

@curso.setter
def curso(self, valor):
self._curso = valor

@property
def carga_horaria(self):
return self._carga_horaria

@carga_horaria.setter
def carga_horaria(self, valor):
if valor <= 0:
raise ValueError("Quantidade de horas da carga horaria invalida")
self._carga_horaria = valor


def calcular_bonus(self):
return self.salario_base * 0.03

def calcular_descontos(self):
return self.salario_base * 0.02

def calcular_adicionais(self):
if self.carga_horaria <= 20:
return 150
elif self.carga_horaria <= 30:
return 250
return 350

55 changes: 53 additions & 2 deletions Guia2/src/folha_pagamento/gerente.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,56 @@

# Desenvolva a classe Gerente aqui.

class Gerente:
pass
class Gerente(Funcionario):
def __init__(self, nome, matricula, salario_base, setor, qtd_equipe):
super().__init__(nome, matricula, salario_base)

# Verificação do setor
if not setor:
raise ValueError("Setor Invalido")

# Verificação da quantidade da equipe
if not qtd_equipe:
raise ValueError("Quantidade de membros da equipe inválida")

@property
def setor(self):
return self._setor

@setor.setter
def setor(self, valor):
self._setor = valor

@property
def qtd_equipe(self):
return self._qtd_equipe

@qtd_equipe.setter
def qtd_equipe(self, valor):
if valor <= 0:
raise ValueError("Quantidade invalida de membros da equipe")
self._qtd_equipe = valor

def calcular_bonus(self):
if self.qtd_equipe <= 5:
return self.salario_base * 0.10

elif self.qtd_equipe <= 10:
return self.salario_base * 0.15

else:
return self.salario_base * 0.20

def calcular_descontos(self):
return self._salario_base * 0.12

def calcular_adicionais(self):
if self.qtd_equipe > 10:
return 2000
elif self.qtd_equipe > 5:
return 1000
else:
return 500



Binary file added Guia2/tests/__pycache__/__init__.cpython-314.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.