diff --git a/README.md b/README.md index 1646acf..abece06 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/respExercicio01.py b/respExercicio01.py new file mode 100644 index 0000000..a674910 --- /dev/null +++ b/respExercicio01.py @@ -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}") + \ No newline at end of file diff --git a/respExercicio02.py b/respExercicio02.py new file mode 100644 index 0000000..93bf67b --- /dev/null +++ b/respExercicio02.py @@ -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}") + diff --git a/respExercicio03.py b/respExercicio03.py new file mode 100644 index 0000000..4cf455a --- /dev/null +++ b/respExercicio03.py @@ -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 \ No newline at end of file diff --git a/respExercicio04.py b/respExercicio04.py new file mode 100644 index 0000000..2173c07 --- /dev/null +++ b/respExercicio04.py @@ -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()) \ No newline at end of file diff --git a/respExercicio05.py b/respExercicio05.py new file mode 100644 index 0000000..d85505f --- /dev/null +++ b/respExercicio05.py @@ -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()) \ No newline at end of file