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 reports/Bosak/lab2/rep/СПП(лаб2).pdf
Binary file not shown.
37 changes: 37 additions & 0 deletions reports/Bosak/lab2/src/1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
class Rectangle:
def __init__(self, side_a, side_b):
self.side_a = side_a
self.side_b = side_b

def area(self):
return self.side_a * self.side_b

def perimeter(self):
return 2 * (self.side_a + self.side_b)

def is_square(self):
return self.side_a == self.side_b

def exists(self):
return self.side_a > 0 and self.side_b > 0

def __str__(self):
return f"Rectangle({self.side_a}, {self.side_b})"

def __eq__(self, other):
return self.area() == other.area()


def main():
a = float(input("Side a: "))
b = float(input("Side b: "))
rect = Rectangle(a, b)
print(rect)
print(f"Area: {rect.area()}")
print(f"Perimeter: {rect.perimeter()}")
print(f"Is square: {rect.is_square()}")
print(f"Exists: {rect.exists()}")


if __name__ == "__main__":
main()
47 changes: 47 additions & 0 deletions reports/Bosak/lab2/src/2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
class Abiturient:
def __init__(self, name):
self.name = name
self.grades = []

def add_grade(self, grade):
self.grades.append(grade)

def avg_grade(self):
return sum(self.grades) / len(self.grades) if self.grades else 0

def is_admitted(self, passing_score=60):
return self.avg_grade() >= passing_score


class Faculty:
def __init__(self, name):
self.name = name
self.abiturients = []

def register(self, abiturient):
self.abiturients.append(abiturient)


def main():
faculty = Faculty(input("Faculty name: "))
num = int(input("Number of abiturients: "))

for _ in range(num):
name = input("Abiturient name: ")
ab = Abiturient(name)
faculty.register(ab)

exam_count = int(input(f"Number of exams for {name}: "))
for _ in range(exam_count):
exam_name = input("Exam name: ")
teacher = input("Teacher: ")
grade = float(input("Grade: "))
ab.add_grade(grade)

print("\nResults:")
for ab in faculty.abiturients:
print(f"{ab.name}: average = {ab.avg_grade():.2f}, admitted: {ab.is_admitted()}")


if __name__ == "__main__":
main()
Loading