Object Oriented Programming

Bài 2: Bài tập về toán tử

Bài tập 2.1

Yêu cầu: Tạo class Angle và lập trình theo yêu cầu sau:

Nhập vào 1 góc bất kỳ cho biết góc đó thuộc phần thư thứ mấy

InputOutput
421
982
1973
2934
3691

Bài tập 2.2

Yêu cầu: Tạo class ChangeMoney và lập trình theo yêu cầu sau:

Nhập vào số tiền (m) cần đổi, in ra kết quả số tờ đổi được bao gồm các loại tiền 50đ, 20đ, 10đ, 5đ, 2đ, 1đ

InputOutput
19950đ20đ10đ
320120

Bài tập 2.3

Yêu cầu: Tạo class Time và lập trình theo yêu cầu sau:

Nhập vào giờ phút giây, in ra kết quả cộng thêm 1 giây

hms
348
+1
349
hms
3459
+1
350
hms
35959
+1
400
hms
235959
+1
000

Mở rộng, nhập vào giờ phút giây, in ra kết quả cộng thêm k (k ≥ 1) giây

Bài tập 2.4

Yêu cầu: Tạo class Date và lập trình theo yêu cầu sau:

Qui ước

Chủ nhậtThư haiThứ baThứ tưThư nămThứ sáuThứ bảy
1234567

Nhập vào cho biết hôm nay là thứ mấy, nhập vào số k. In ra sau k ngày sẽ là thứ mấy

InputOutput
Cho biết hôm nay là thứ mấyNhập kSau k ngày là thứ
294
261

Bài tập 2.5

Yêu cầu: Tạo class Round05 và lập trình theo yêu cầu sau:

Nhập vào số thực bất kỳ, in ra kết quả làm tròn theo qui tắc

Nửa KhoảngLàm tròn
[0, 0.5)0
[0.5, 1)1
Ví dụ
InputOutput
7.37
9.610

Bài tập 2.6

Yêu cầu: Tạo class Round025 và lập trình theo yêu cầu sau:

Nhập vào số thực bất kỳ, in ra kết quả làm tròn theo qui tắc sau

Nửa KhoảngLàm tròn
[0, 0.25)0
[0.25, 0.75)0.5
[0.75, 1)1
Ví dụ
InputOutput
7.237
9.69.5
8.789

Bài tập 2.7: Tính số trang

Yêu cầu: Tạo class Pagging và lập trình theo yêu cầu sau:

Nhập vào số dòng rows, nhập kích thước dòng trên một trang size, tính số trang pages

Ví dụ
Input Output
Nhập số dòng: rows = 30
Nhập số dòng trên trang: size = 10
Số trang là: pages = 3
Nhập số dòng: rows = 32
Nhập số dòng trên trang: size = 10
Số trang là: pages = 4

Bài tập 2.8: Tính số lượng padding

Yêu cầu: Tạo class Padding thực hiện theo yêu cầu sau

Một chuỗi có chiều là dài n, người ta cần chia chuỗi thành từng block có kích thước k, tính chiều dài cần padding để thêm vào cho đủ chiều dài 1 block

Ví dụ
Input Output
n k padding
20 15 10
15 20 5