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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ pip install -r requirements.txt
python -m pytest tests/test_exercicio01.py -v

# Para testar apenas o exercício 2
python -m pytest tests/test_exercicio02.py -v
python -m pytest tests/test_exercicio05.py -v
```

#### Executando todos os testes
Expand Down
39 changes: 39 additions & 0 deletions respExercicio01.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
class Aluno:
def __init__ (self,nome, matricula,curso):
self.nome = nome
self.matricula = matricula
self.curso = curso



class Curso:
def __int__(self, nome ,matricula,curso):
self.nome =nome
self.matricula = matricula
self.curso = curso

def ___str___ ( self ):
return f"Nome: {self.nome}, Matrícula: {self.matricula}, Curso: {self.curso}"




class Disciplina():
def __init__(self, nome, codigo, carga_horaria):
self.nome = nome
self.codigo = codigo
self.carga_horaria = carga_horaria
def __str__ ( self ):
return f"Nome: {self.nome}, Código: {self.codigo}, Carga Horária: {self.carga_horaria}"

aluno1 = Aluno("João Silva", "2023001", "Engenharia de Software")
aluno2 = Aluno("Maria Oliveira", "2023002", "Ciência da Computação")
diciplina = Disciplina("Programação Orientada a Objetos", "POO101", 60)
diciplina = Disciplina("Estruturas de Dados", "ED202", 45)

print(Aluno)
print(f"nome: {aluno1.nome}, matricula,{aluno1.matricula} curso, {aluno1.curso}")
print(f"nome: {aluno2.nome}, matricula,{aluno2.matricula} curso, {aluno2.curso}")
print(f"Disciplina: {diciplina.nome}, Código: {diciplina.codigo}, Carga Horária: {diciplina.carga_horaria}")
print(f"Disciplina: {diciplina.nome}, Código: {diciplina.codigo}, Carga Horária: {diciplina.carga_horaria}")

31 changes: 31 additions & 0 deletions respExercicio02.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
class Aluno:
def __init__ (self,nome, matricula,curso):
self.nome = nome
self.matricula = matricula
self.curso = curso
self.notas = []


def adicionar_nota(self,nota):
self.notas.append(float(nota))

def calcular_media(self):
self.media = sum(self.notas) / len(self.notas)
return self.media

def status(self):
if self.media > 7:
print ("Aprovado")
else:
print ("Reprovado")


aluno = Aluno("João Silva", "2023001", "Engenharia de Software")
aluno.adicionar_nota(8.5)
aluno.adicionar_nota(7.0)
aluno.adicionar_nota(9.0)
media = aluno.calcular_media()
aluno.status()

print(f"Media do aluno: {aluno.nome}: {media:.2f}")

39 changes: 39 additions & 0 deletions respExercicio03.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
class Professor:
def __init__(self,nome, departamento,salario):
self.nome =nome
self.departamento = departamento
self._salario = salario


@property
def nome(self):
return self._nome

@nome.setter
def nome (self, valor):
self._nome =valor

@property
def departamento(self):
return self._departamento

@departamento.setter
def departamento(self, valor):
self._departamento = valor


@property
def salario(self):
return self._salario

@salario.setter
def salario(self, valor):
if valor > 0:
self._salario = valor
else:
print("Erro: Salário deve ser um valor positivo!")


prof = Professor ("Dr. Silva", "Matemática", 5000.0)
print(f" salario atual: {prof.salario}")
prof.salario = 6000.0
30 changes: 30 additions & 0 deletions respExercicio04.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
class Pessoa:
def __init__(self, nome,cpf, data_nascimento):
self.nome = nome
self.cpf = cpf
self.data_nacimento = data_nascimento

def apresentar(self):
return f"Nome: {self.nome}, CPF: {self.cpf}"

class Funcionario(Pessoa):
def __init__(self, nome, cpf, data_nascimento,cargo):
super() .__init__(nome, cpf, data_nascimento)
self.cargo = cargo

def apresentar(self):
return f" Nome {self.nome}, Cargo: {self.cargo}"

class Tutor(Pessoa):
def __init__(self, nome,cpf, data_nascimento,area_atuacao):
super() .__init__(nome,cpf, data_nascimento)
self.area_atuacao = area_atuacao

def apresentar(self):
return (f" Área de Atuação: {self.area_atuacao}")

funcionario = Funcionario("João Silva", "123.456.789-00", "01/01/1990", "Secretário")
tutor = Tutor("Maria Santos", "987.654.321-00", "15/05/1985", "Programação")

print(funcionario.apresentar())
print(tutor.apresentar())
35 changes: 35 additions & 0 deletions respExercicio05.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
class Pessoa:
def __init__(self, nome, cpf, data_nascimento):
self.nome = nome
self.cpf = cpf
self.data_nascimento = data_nascimento

def apresentar(self):
return f"Nome: {self.nome}, CPF: {self.cpf}"


class Funcionario(Pessoa):
def __init__(self, nome, cpf, data_nascimento, cargo, salario):
super().__init__(nome, cpf, data_nascimento)
self.cargo = cargo
self._salario = salario

@property
def salario(self):
return self._salario

@salario.setter
def salario(self, valor):
if valor > 0:
self._salario = valor
else:
print("Erro: Salário deve ser positivo!")

def apresentar(self):
return f"Nome {self.nome}, Cargo: {self.cargo}"

def exibir_dados(self):
return f"Nome: {self.nome}, CPF: {self.cpf}, Data de Nascimento: {self.data_nascimento}, Cargo: {self.cargo}, Salário: R$ {self._salario}"

funcionario = Funcionario("Ana Costa", "111.222.333-44", "20/03/1988", "Coordenadora", 4500.0)
print(funcionario.exibir_dados())