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
23 changes: 23 additions & 0 deletions respExercicio01.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
class Aluno:
def __init__(self, nome, matricula, curso):
self.nome = nome
self.matricula = matricula
self.curso = curso

class Disciplina:
def __init__(self, nome, codigo, carga_horaria):
self.nome = nome
self.codigo = codigo
self.carga_horaria = carga_horaria

aluno1 = Aluno("João Silva", "2023001", "Engenharia de Software")
aluno2 = Aluno("Maria Santos", "2023002", "Ciência da Computação")
aluno3 = Aluno("Feliciano Pinto", "2023003", "computação")

disciplina1 = Disciplina("Programação I", "CS101", 60)
disciplina2 = Disciplina("Cálculo I", "MA101", 80)
disciplina3 = Disciplina("computadoria", "CS101", 60)

print(f"Aluno: {aluno1.nome}, Matrícula: {aluno1.matricula},Curso: {aluno1.curso}" ", " f"Disciplina: {disciplina1.nome}, Código: {disciplina1.codigo}, Carga Horária: {disciplina1.carga_horaria}")
print(f"Aluno: {aluno2.nome}, Matrícula: {aluno2.matricula}, Curso: {aluno2.curso}" ", " f"Disciplina: {disciplina2.nome}, Código: {disciplina2.codigo}, Carga Horária: {disciplina2.carga_horaria}")
print(f"Aluno: {aluno3.nome}, Matrícula: {aluno3.matricula}, Curso: {aluno3.curso}" ", " f"Disciplina: {disciplina3.nome}, Código: {disciplina3.codigo}, Carga Horária: {disciplina3.carga_horaria}")
35 changes: 35 additions & 0 deletions respExercicio02.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
class Aluno:
def __init__(self, nome):
self.nome = nome

def adicionar_nota1(self, nota1):
nota1 = float(nota1)
if 0 <= nota1 <= 10:
self.nota1 = nota1

def adicionar_nota2(self, nota2):
nota2 = float(nota2)
if 0 <= nota2 <= 10:
self.nota2 = nota2

def media (self):
media = (self.nota1 + self.nota2) / 2
return media

def aprovado(self):
if self.media() >= 7:
return True
else:
return False


aluno1 = Aluno("João Silva")
aluno1.adicionar_nota1(8.5)
aluno1.adicionar_nota2(7.0)

aluno2 = Aluno("Maria Santos")
aluno2.adicionar_nota1(6.0)
aluno2.adicionar_nota2(5.5)

print(f"Aluno: {aluno1.nome}, Nota 1: {aluno1.nota1}, Nota 2: {aluno1.nota2}, Média: {aluno1.media()}, Aprovado: {aluno1.aprovado()}")
print(f"Aluno: {aluno2.nome}, Nota 1: {aluno2.nota1}, Nota 2: {aluno2.nota2}, Média: {aluno2.media()}, Aprovado: {aluno2.aprovado()}")
17 changes: 17 additions & 0 deletions respExercicio03.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
class professor():
def __init__(self, nome, disciplina):
self.nome = nome
self.disciplina = disciplina

def salario_professor(self, _salario, departamento):
self.salario = _salario
self.departamento = departamento

if _salario > 1:
print(f"Professor: {self.nome}, Disciplina: {self.disciplina}, Salário: R${self.salario}, Departamento: {self.departamento}")
else:
print("Salário inválido. O valor deve ser positivo.")

professor1 = professor("Carlos Eduardo", "Matemática")
professor1.salario_professor(4500, "Ciências Exatas")

38 changes: 38 additions & 0 deletions respExercicio04.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
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}, Data de Nascimento: {self.data_nascimento}"

p1 = pessoa("João Silva", "123.456.789-00", "01/01/1990")


class funcionario(pessoa):
def __init__(self, nome, cpf, data_nascimento, salario, cargo):
super().__init__(nome, cpf, data_nascimento)
self.salario = salario
self.cargo = cargo

def apresentar_funcionario(self):
info_pessoa = super().apresentar()
return f"{info_pessoa}, Cargo: {self.cargo}, Salário: R${self.salario:.2f}"

f1 = funcionario("Maria Souza", "987.654.321-00", "15/05/1985", 3500.00, "Analista")

class tutor(funcionario):
def __init__(self, nome, cpf, data_nascimento, salario, cargo, area_atucacao):
super().__init__(nome, cpf, data_nascimento, salario, cargo)
self.area_area_atucacao =area_atucacao

def apresentar_tutor(self):
info_funcionario = super().apresentar_funcionario()
return f"{info_funcionario}, Disciplina: {self.area_area_atucacao}"

t1 = tutor("Carlos Pereira", "555.666.777-88", "20/10/1980", 4500.00, "Tutor", "Matemática")

print(p1.apresentar())
print(f1.apresentar_funcionario())
print(t1.apresentar_tutor())
24 changes: 24 additions & 0 deletions respExercicio05.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
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}, Data de Nascimento: {self.data_nascimento}"

p1 = pessoa("João Silva", "123.456.789-00", "01/01/1990")


class funcionario(pessoa):
def __init__(self, nome, cpf, data_nascimento, salario, cargo):
super().__init__(nome, cpf, data_nascimento)
self.salario = salario
self.cargo = cargo

f1 = funcionario("Maria Souza", "987.654.321-00", "15/05/1985", 5000.00, "Analista de Sistemas")

class exibir_dados():
print(p1.apresentar())
print(f"Salário: {f1.salario}, Cargo: {f1.cargo}")
print(f1.apresentar())
30 changes: 30 additions & 0 deletions respExercicio06.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
class Curso():
def __init__(self, nome, codigo, disciplinas):
self.nome = nome
self.codigo = codigo
self.disciplinas = disciplinas

def adicionar_disciplina(self, disciplina):
self.disciplinas.append(disciplina)

def listar_disciplinas(self):
for d in self.disciplinas:
print(f"Nome: {d['nome']}, Código: {d['codigo']}")

def carga_horaria_total(self):
return sum(d['carga_horaria'] for d in self.disciplinas)

class Disciplina():
def __init__(self, nome, codigo, carga_horaria):
self.nome = nome
self.codigo = codigo
self.carga_horaria = carga_horaria

curso = Curso("Engenharia de Software", "ES001", [])
disciplina1 = {"nome": "Programação Orientada a Objetos", "codigo": "POO001", "carga_horaria": 60}
disciplina2 = {"nome": "Banco de Dados", "codigo": "BD001", "carga_horaria": 80}

curso.adicionar_disciplina(disciplina1)
curso.adicionar_disciplina(disciplina2)
curso.listar_disciplinas()
print(f"Carga horária total: {curso.carga_horaria_total()}h")
52 changes: 52 additions & 0 deletions respExercicio07.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
class Aluno:
def __init__(self, nome, matricula, curso):
self.nome = nome
self.matricula = matricula
self.curso = curso
self.disciplinas_inscritas = []

def listar_disciplinas(self):
return [disciplina.nome for disciplina in self.disciplinas_inscritas]


class Disciplina:
def __init__(self, nome, codigo, carga_horaria):
self.nome = nome
self.codigo = codigo
self.carga_horaria = carga_horaria
self.alunos_matriculados = []

def listar_alunos(self):
return [aluno.nome for aluno in self.alunos_matriculados]


class Secretaria:
@staticmethod
def inscrever_aluno(aluno, disciplina):
disciplina.alunos_matriculados.append(aluno)
aluno.disciplinas_inscritas.append(disciplina)

@staticmethod
def listar_disciplinas_aluno(aluno):
return aluno.disciplinas_inscritas

@staticmethod
def listar_alunos_disciplina(disciplina):
return disciplina.alunos_matriculados


aluno1 = Aluno("João Silva", "2023001", "Engenharia de Software")
aluno2 = Aluno("Maria Santos", "2023002", "Ciência da Computação")
disciplina1 = Disciplina("POO", "POO001", 60)
disciplina2 = Disciplina("Banco de Dados", "BD001", 80)

Secretaria.inscrever_aluno(aluno1, disciplina1)
Secretaria.inscrever_aluno(aluno1, disciplina2)
Secretaria.inscrever_aluno(aluno2, disciplina1)

aluno1.listar_disciplinas()
disciplina1.listar_alunos()


print("Disciplinas do aluno João Silva:", aluno1.listar_disciplinas())
print("Alunos matriculados na disciplina POO:", disciplina1.listar_alunos())
29 changes: 29 additions & 0 deletions respExercicio08.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
class Departamento:
def __init__(self, nome, sigla, professores):
self.nome = nome
self.sigla = sigla
self.professores = professores

@classmethod
def criar_departamento_exatas(cls, nome):
return cls(nome, "EXA", [])

@classmethod
def criar_departamento_humanas(cls, nome):
return cls(nome, "HUM", [])

def adicionar_professor(self, professor):
self.professores.append(professor)

def listar_professores(self):
return self.professores


dept_exatas = Departamento.criar_departamento_exatas("Matemática e Computação")
dept_humanas = Departamento.criar_departamento_humanas("Letras e Filosofia")

dept_exatas.adicionar_professor("Professor A")
dept_humanas.adicionar_professor("Professor B")

print(f"Departamento: {dept_exatas.nome} - Sigla: {dept_exatas.sigla} - Professores: {dept_exatas.listar_professores()}")
print(f"Departamento: {dept_humanas.nome} - Sigla: {dept_humanas.sigla} - Professores: {dept_humanas.listar_professores()}")
56 changes: 56 additions & 0 deletions respExercicio09.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
class Departamento:
def __init__(self, nome, sigla, professores):
self.nome = nome
self.sigla = sigla
self.professores = professores


class Pessoa:
def __init__(self, nome):
self.nome = nome

def apresentar(self):
pass


class Aluno(Pessoa):
def __init__(self, nome, matricula, curso):
super().__init__(nome)
self.matricula = matricula
self.curso = curso

def apresentar(self):
return f"Olá, sou o aluno {self.nome} e estudo no curso {self.curso}."


class Professor(Pessoa):
def __init__(self, nome, departamento, salario):
super().__init__(nome)
self.departamento = departamento
self.salario = salario

def apresentar(self):
return f"Olá, sou o professor {self.nome} e leciono no departamento {self.departamento}."


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

def apresentar(self):
return f"Olá, sou o funcionário {self.nome} e meu cargo é {self.cargo}."


# Exemplo de uso
pessoas = [
Aluno("João Silva", "2023001", "Engenharia de Software"),
Professor("Dr. Maria", "Computação", 8000.0),
Funcionario("Carlos Santos", "123.456.789-00", "01/01/1980", "Secretário", 3000.0)
]

for pessoa in pessoas:
print(pessoa.apresentar())
38 changes: 38 additions & 0 deletions respExercicio10.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
class Pessoa: # Corrigido Erro 1
def __init__(self, nome, idade):
self.nome = nome # Corrigido Erro 2
self.idade = idade

def apresentar(self): # Corrigido Erro 4
return f"Olá, sou {self.nome}"

class Estudante(Pessoa): # Corrigido Erro 1
def __init__(self, nome, idade, curso):
super().__init__(nome, idade) # Corrigido Erro 5
self.curso = curso
self.notas = []

def adicionar_nota(self, nota):
if 0 <= nota <= 10:
self.notas.append(nota)

def calcular_media(self):
if self.notas: # Corrigido Erro 6
return sum(self.notas) / len(self.notas)
return 0.0
class Professor(Pessoa): # Corrigido Erro 1
def __init__(self, nome, idade, departamento, salario):
super().__init__(nome, idade)
self.departamento = departamento
self.salario = salario

def apresentar(self):
return f"Olá, sou o professor {self.nome} do departamento {self.departamento}"

# Testando o código
estudante = Estudante("João", 20, "Engenharia")
professor = Professor("Dr. Silva", 45, "Computação", 8000)

print(estudante.apresentar())
print(professor.apresentar())
print(f"Média do estudante: {estudante.calcular_media()}") # Erro 7
Loading