Bài 35.3. Hệ thống Hình học Đa hình - [Độ khó: Khá]
Bài 35.3. Hệ thống Hình học Đa hình - [Độ khó: Khá]
Mô tả bài tập:
Trong lĩnh vực thiết kế đồ họa hoặc kỹ thuật xây dựng, việc xử lý các hình học khác nhau nhưng có chung các thuộc tính như diện tích và chu vi là rất phổ biến. Bạn được yêu cầu phát triển một hệ thống đơn giản để tính toán các thuộc tính này cho nhiều loại hình khác nhau một cách linh hoạt. Hệ thống của bạn cần định nghĩa một lớp cơ sở chung Shape
cho tất cả các hình, và các lớp dẫn xuất cụ thể cho hình chữ nhật (Rectangle
) và hình tròn (Circle
). Điều quan trọng là bạn phải có khả năng thao tác với các hình này thông qua con trỏ hoặc tham chiếu đến lớp cơ sở (Shape
) mà vẫn đảm bảo tính toán đúng diện tích và chu vi cho từng loại hình cụ thể (đây là ứng dụng của tính đa hình).
INPUT FORMAT:
Dòng đầu tiên chứa một số nguyên N
(1 <= N
<= 100), là số lượng hình cần xử lý.
N
dòng tiếp theo, mỗi dòng mô tả một hình:
- Nếu là hình chữ nhật:
R [Chieu_dai] [Chieu_rong]
R
: ký tự 'R' biểu thị hình chữ nhật.Chieu_dai
,Chieu_rong
: Hai số thực dươngL, W
(0 <L, W
<= 1000).
- Nếu là hình tròn:
C [Ban_kinh]
C
: ký tự 'C' biểu thị hình tròn.Ban_kinh
: Một số thực dươngR
(0 <R
<= 1000).
OUTPUT FORMAT:
Đối với mỗi hình được nhập, in ra một dòng theo định dạng:
[Loai_hinh]: Dien tich = [Dien_tich], Chu vi = [Chu_vi]
Loai_hinh
: "Hinh chu nhat" hoặc "Hinh tron".Dien_tich
,Chu_vi
: Các giá trị được làm tròn đến 2 chữ số thập phân. Sử dụng giá trị PI xấp xỉ 3.14159265358979323846.
Ví dụ: Input:
3
R 5.0 10.0
C 3.5
R 0.5 2.0
Output:
Hinh chu nhat: Dien tich = 50.00, Chu vi = 30.00
Hinh tron: Dien tich = 38.48, Chu vi = 21.99
Hinh chu nhat: Dien tich = 1.00, Chu vi = 5.00
Giải thích:
- Hình đầu tiên là hình chữ nhật với chiều dài 5.0 và chiều rộng 10.0.
- Diện tích = 5.0 * 10.0 = 50.00.
- Chu vi = 2 * (5.0 + 10.0) = 30.00.
- Hình thứ hai là hình tròn với bán kính 3.5.
- Diện tích = PI 3.5 3.5 = 3.14159265358979323846 * 12.25 = 38.4845... Làm tròn 2 chữ số là 38.48.
- Chu vi = 2 PI 3.5 = 2 3.14159265358979323846 3.5 = 21.9911... Làm tròn 2 chữ số là 21.99.
- Hình thứ ba là hình chữ nhật với chiều dài 0.5 và chiều rộng 2.0.
- Diện tích = 0.5 * 2.0 = 1.00.
- Chu vi = 2 * (0.5 + 2.0) = 5.00.
Comments