Lập trình hướng đối tượng (oop)

Quản lý sinh viên (lập trình hướng đối tượng)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Viết một lớp Student với các thuộc tính: id, name, age, score. Nhập danh sách n sinh viên và in ra thông tin sinh viên có điểm cao nhất.


Định dạng đầu vào: Dòng đầu tiên nhập n là số lượng sinh viên; các dòng tiếp theo lần lượt nhập thông tin của n sinh viên


Định dạng đầu ra: In ra thông tin sinh viên có điểm cao nhất theo định dạng như Output


Input 01:
3
S001
Alice
20
85.5
S002
Bob
22
90.0
S003
Charlie
21
88.0
Output 01:
ID: S002, Name: Bob, Age: 22, Score: 90.0
Input 02:
2
S101
David
19
78.0
S102
Emma
20
95.0
Output 02:
ID: S102, Name: Emma, Age: 20, Score: 95.0

Hình chữ nhật (lập trình hướng đối tượng)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Tạo lớp Rectangle với thuộc tính chiều dài và chiều rộng. Tính diện tích và chu vi.


Định dạng đầu vào: Dòng đầu tiên nhập chiều dài, dòng thứ 2 nhập chiều rộng của hình chữ nhật


Định dạng đầu ra: In theo định dạng như trong Output


Input 01:
5
3
Output 01:
Length: 5.0, Width: 3.0
Area: 15.0, Perimeter: 16.0
Input 02:
10
4
Output 02:
Length: 10.0, Width: 4.0
Area: 40.0, Perimeter: 28.0

Quản lý địa chỉ (lập trình hướng đối tượng)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Tạo lớp Contact có các thuộc tính: name, phone, email. Nhập danh sách liên lạc và tìm liên lạc theo tên.



Định dạng đầu vào: Dòng đầu tiên nhập n là số lượng bản ghi; các dòng tiếp theo lần lượt nhập thông tin của người (gồm name, phone và email); dòng cuối cùng nhập tên người cần tìm


Định dạng đầu ra: In ra thông tin người cần tìm, nếu không tìm được in ra -1


Input 01:
3
Alice
123456789
alice@example.com
Bob
987654321
bob@example.com
Charlie
555666777
charlie@example.com
Bob
Output 01:
Name: Bob, Phone: 987654321, Email: bob@example.com
Input 02:
2
David
111222333
david@example.com
Emma
444555666
emma@example.com
John
Output 02:
-1

Quản lý điểm (lập trình hướng đối tượng)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Tạo lớp Student có thuộc tính: name, mathScore, englishScore, physicsScore. Viết phương thức tính điểm trung bình. Nhập danh sách n sinh viên và in ra danh sách cùng điểm trung bình tương ứng.


Định dạng đầu vào: Nhập n, sau đó là n dòng gồm tên và 3 điểm.


Định dạng đầu ra: In ra Thông tin sinh viên và điểm trung bình, làm tròn đến 2 chữ số thập phân, chú ý in theo định dạng trong Output.


Input 01:
2
Alice
8.5
7.0
9.0
Bob
6.0
5.5
7.0
Output 01:
Name: Alice, Average Score: 8.17
Name: Bob, Average Score: 6.17
Input 02:
3
Charlie
7.0
7.0
7.0
David
7.0
7.0
7.0
Eve
7.0
7.0
7.0
Output 02:
Name: Charlie, Average Score: 7.0
Name: David, Average Score: 7.0
Name: Eve, Average Score: 7.0

Đồng hồ đơn giản

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Tạo lớp Clock với thuộc tính hour, minute, second. Viết phương thức tick() để tăng 1 giây và cập nhật giờ/phút nếu cần.


Định dạng đầu vào: Giờ phút giây ban đầu và số lần gọi tick().


Định dạng đầu ra: Thời gian sau n lần tick, ở dạng HH:MM:SS. Chú ý in theo đúng định dạng trong Output


Input 01:
10
15
30
20

Giải thích: 10 là giờ ban đầu, 15 là phút ban đầu, 30 là giây ban đầu, 20 là số lần gọi tick()

Output 01:
Time after 20 ticks: 10:15:50
Input 02:
10
15
50
15
Output 02:
Time after 15 ticks: 10:16:05

Quản lý điểm danh (lập trình hướng đối tượng)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Lớp Student gồm id, name, presentCount. Viết phương thức markPresent() để tăng điểm danh. Cho phép điểm danh theo id và in ra danh sách điểm danh.


Định dạng đầu vào: Danh sách sinh viên, danh sách id được điểm danh.


Định dạng đầu ra: Danh sách sinh viên và số lần điểm danh.


Input 01:
3
S001
Alice
S002
Bob
S003
Charlie
5
S001
S001
S001
S002
S003

Giải thích: 3 là số lượng sinh viên, tiếp theo là thông tin của 3 sinh viên; 5 là số lượt điểm danh, tiếp theo là những mã sinh viên được điểm danh

Output 01:
ID: S001, Name: Alice, Present Count: 3
ID: S002, Name: Bob, Present Count: 1
ID: S003, Name: Charlie, Present Count: 1

Giải thích: In ra thông tin sinh viên được điểm danh bao gồm tổng số lần được điểm danh

Input 02:
2
S101
David
S102
Emma
0
Output 02:
ID: S101, Name: David, Present Count: 0
ID: S102, Name: Emma, Present Count: 0

Quản lý xe (lập trình hướng đối tượng)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Lớp Car với brand, model, year. Nhập danh sách xe và in ra tất cả xe sản xuất sau năm x.


Định dạng đầu vào: Danh sách xe, giá trị x.


Định dạng đầu ra: Danh sách xe thỏa điều kiện. Nếu không có in ra số 0


Input 01:
3
Toyota
Corolla
2015
Honda
Civic
2018
Ford
Focus
2012
2014
Output 01:
Brand: Toyota, Model: Corolla, Year: 2015
Brand: Honda, Model: Civic, Year: 2018
Input 02:
2
BMW
X5
2010
Audi
A4
2012
2015
Output 02:
0

Chương trình máy tính (lập trình hướng đối tượng)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Mô tả: Lớp Calculator với phương thức cộng, trừ, nhân, chia. Gọi phương thức tùy theo yêu cầu từ input.


Định dạng đầu vào: Hai số và phép toán.


Định dạng đầu ra: Kết quả phép tính.


Input 01:
10
5
+
Output 01:
15.0
Input 02:
10
0
/
Output 02:
div/0
Input 03:
15
3
^
Output 03:
Invalid