Lập trình hướng đối tượng - Chương 3: Lập trình hướng đối tượng với C++ (Bài tập)

Bài 1: Viết chương trình nhập

vào một phân số. Hãy cho biết

phân số đó là phân số âm hay

dương hay bằng không.

 Bài 2: Viết chương trình nhập

vào một ngày. Tìm ngày kế tiếp

và xuất kết quả.

 Bài 3: Viết chương trình nhập tọa

độ hai điểm trong không gian.

Tính khoảng cách giữa chúng và

xuất kết quả.

pdf71 trang | Chuyên mục: Lập Trình Hướng Đối Tượng | Chia sẻ: dkS00TYs | Lượt xem: 4964 | Lượt tải: 1download
Tóm tắt nội dung Lập trình hướng đối tượng - Chương 3: Lập trình hướng đối tượng với C++ (Bài tập), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
CNTT
Chương 03 - 39
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
Bài 6: Viết chương
trình nhập vào 2 số
phức. Tính tổng,
hiệu, tích và xuất
kết quả.
LTHĐTKhoa CNTT
Chương 03 - 40
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
11.#include 
12.#include 
13.class CSoPhuc
14.{
15. private:
16. float thuc;
17. float ao;
18. public:
19. void Nhap();
20. void Xuat(S);
21. CSoPhuc Tong(CSoPhuc);
22. CSoPhuc Hieu(CSoPhuc);
23. CSoPhuc Tich(CSoPhuc);
24.};
LTHĐTKhoa CNTT
Chương 03 - 41
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
1. void main()
2. {
3. CSoPhuc a,b,kq;
4. printf(“\n Nhap…:”);
5. a.Nhap();
6. printf(“\n Nhap…:”);
7. b.Nhap();
8. kq = a.Tong(b);
9. printf(“\n Tong…:”);
10. kq.Xuat();
11. kq = a.Hieu(b);
12. printf(“\n Hieu…:”);
13. kq.Xuat();
14. kq = a.Tich(b);
15. printf(“\n Tich…:”);
16. kq.Xuat();
17.}
LTHĐTKhoa CNTT
Chương 03 - 42
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
 Định nghĩa hàm
1. Void CSoPhuc::Nhap()
2. {
3. float temp;
4. printf("Nhap thuc: ");
5. scanf("%f",&temp);
6. thuc = temp;
7. printf("Nhap ao: ");
8. scanf("%f",&temp);
9. ao = temp;
10.}
LTHĐTKhoa CNTT
Chương 03 - 43
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
 Định nghĩa hàm
1. void CSoPhuc::Xuat()
2. {
3. printf("\nThuc=%f“, thuc);
4. printf("\nAo = %f“, ao);
5. }
LTHĐTKhoa CNTT
Chương 03 - 44
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
 Ví dụ: 3+5i
 7+10i
 Tổng: 10+15i
 Định nghĩa hàm
1. CSoPhuc CSoPhuc::Tong(CSoPhuc x)
2. {
3. CSoPhuc temp;
4. temp.thuc = thuc + x.thuc;
5. temp.ao = ao + x.ao;
6. return temp;
7. }
a
b
temp
kq = a.Tong(b);
LTHĐTKhoa CNTT
Chương 03 - 45
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
 Ví dụ: 3 + 5i
 7 + 10i
 Hiệu: -4 - 5i
 Định nghĩa hàm
1. CSoPhuc CSoPhuc::Hieu(CSoPhuc x)
2. {
3. CSoPhuc temp;
4. temp.thuc = thuc - x.thuc;
5. temp.ao = ao - x.ao;
6. return temp;
7. }
LTHĐTKhoa CNTT
Chương 03 - 46
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 6
 Ví dụ: a + bi
 c + di
 Tích (a+bi)*(c+di)
 a(c+di)+bi(c+di)
 ac+adi+bci+bdi2
 (ac-bd)+(ad+bc)i
 Định nghĩa hàm
1. CSoPhuc CSoPhuc::Tich(CSoPhuc x)
2. {
3. CSoPhuc temp;
4. temp.thuc=thuc*x.thuc-ao*x.ao;
5. temp.ao = thuc*x.ao+ao*c.tjic;
6. return temp;
7. }
LTHĐTKhoa CNTT
Chương 03 - 47
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
Bài 7: Viết chương
trình nhập toạ độ 3
đỉnh A,B,C của 1
tam giác trong mặt
phẳng Oxy. Tính
chu vi, diện tích và
tìm tọa độ trọng
tâm.
LTHĐTKhoa CNTT
Chương 03 - 48
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
1. #include 
2. #include 
3. class CDiem
4. {
5. private:
6. float x;
7. float y;
8. public:
9. void Nhap();
10. void Xuat();
11. float KhoangCach(CDiem);
12.};
LTHĐTKhoa CNTT
Chương 03 - 49
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
1. class CTamGiac
2. {
3. private:
4. CDiem A;
5. CDiem B;
6. CDiem C;
7. public:
8. void Nhap();
9. void Xuat();
10. float ChuVi();
11. float DienTich();
12. CDiem TrongTam();
13.};
LTHĐTKhoa CNTT
Chương 03 - 50
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
1. void main()
2. {
3. CTamGiac tg;
4. tg.Nhap();
5. tg.Xuat();
6. float cv = tg.ChuVi();
7. printf(“\n …:%f”,cv);
8. float dt=tg.DienTich();
9. printf(“\n …:%f”,dt);
10. CDiem G = tg.TrongTam();
11. printf(“\n…:”);
12. G.Xuat();
13.}
LTHĐTKhoa CNTT
Chương 03 - 51
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
 Định nghĩa hàm
1. void CDiem::Nhap()
2. {
3. float temp;
4. printf("Nhap x: ");
5. scanf("%f",&temp);
6. x = temp;
7. printf("Nhap y: ");
8. scanf("%f",&temp);
9. y = temp;
10.}
A
B
C
LTHĐTKhoa CNTT
Chương 03 - 52
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
 Định nghĩa hàm
1. void CTamGiac::Nhap()
2. {
3. printf("Nhap A: ");
4. A.Nhap();
5. printf("Nhap B: ");
6. B.Nhap();
7. printf("Nhap C: ");
8. C.Nhap();
9. }
A
B
C
LTHĐTKhoa CNTT
Chương 03 - 53
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
 Định nghĩa hàm
11.void CDiem::Xuat()
12.{
13. printf(“\n x=%f“, x);
14. printf(“\n y=%f“, y);
15.}
16.void CTamGiac::Xuat()
17.{
18. printf("\n A: ");
19. A.Xuat();
20. printf("\n B: ");
21. B.Xuat();
22. printf("\n C: ");
23. C.Xuat();
24.}
A
B
C
LTHĐTKhoa CNTT
Chương 03 - 54
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
 Định nghĩa hàm
1. float CDiem::KhoangCach(CDiem P)
2. {
3. return sqrt((x-P.x)*(x-P.x)
+(y-P.y)*(y-P.y));
4. }
5. float CTamGiac::ChuVi()
6. {
7. float a=B.KhoangCach(C);
8. float b=C.KhoangCach(A);
9. float c=A.KhoangCach(B);
10. return (a+b+c);
11.}
A
B
C
b
a
c
LTHĐTKhoa CNTT
Chương 03 - 55
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
 Định nghĩa hàm
1. float CDiem::KhoangCach(CDiem P)
2. {
3. return sqrt((x-P.x)*(x-P.x)
+(y-P.y)*(y-P.y));
4. }
5. float CTamGiac::DienTich()
6. {
7. float a=B.KhoangCach(C);
8. float b=C.KhoangCach(A);
9. float c=A.KhoangCach(B);
10. float p=(a+b+c)/2;
11. return sqrt(p*(p-a)*(p-b)*(p-c));
12.}
A
B
C
b
a
c
LTHĐTKhoa CNTT
Chương 03 - 56
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 7
 Định nghĩa hàm
1. CDiem CTamGiac::TrongTam()
2. {
3. CDiem temp;
4. temp.x = (A.x+B.x+C.x)/3;
5. temp.y = (A.y+B.y+C.y)/3;
6. return temp;
7. }
A
B
C
G
LTHĐTKhoa CNTT
Chương 03 - 57
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
Bài 8: Viết chương
trình nhập tọa tâm
và bán kính của
một đường tròn.
Tính diện tích và
chu vi của đường
tròn.
LTHĐTKhoa CNTT
Chương 03 - 58
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
11.#include 
12.#include 
13.class CDiem
14.{
15. public:
16. float x;
17. float y;
18. public:
19. void Nhap();
20. void Xuat();
21.};
LTHĐTKhoa CNTT
Chương 03 - 59
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
1. class CDuongTron
2. {
3. private:
4. CDiem I;
5. float R;
6. public:
7. void Nhap();
8. void Xuat();
9. float ChuVi();
10. float DienTich();
11.};
LTHĐTKhoa CNTT
Chương 03 - 60
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
1. void main()
2. {
3. CDuongTron c;
4. c.Nhap();
5. c.Xuat();
6. float cv = c.ChuVi();
7. printf(“\n …:%f”,cv);
8. float dt = c.DienTich();
9. printf(“\n …:%f”,dt);
10.}
LTHĐTKhoa CNTT
Chương 03 - 61
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
 Định nghĩa hàm
1. void CDiem::Nhap()
2. {
3. float temp;
4. printf("Nhap x: ");
5. scanf("%f",&temp);
6. x = temp;
7. printf("Nhap y: ");
8. scanf("%f",&temp);
9. y = temp;
10.}
LTHĐTKhoa CNTT
Chương 03 - 62
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
 Định nghĩa hàm
1. void CDuongTron::Nhap()
2. {
3. float temp;
4. printf("Nhap tam: ");
5. I.Nhap();
6. printf("Nhap ban kinh: ");
7. scanf("%f",&temp);
8. R = temp;
9. }
LTHĐTKhoa CNTT
Chương 03 - 63
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
 Định nghĩa hàm
1. void CDiem::Xuat()
2. {
3. printf(“\n x=%f“, x);
4. printf(“\n y=%f", y);
5. }
6. void CDuongTron::Xuat()
7. {
8. printf("\n Tam: ");
9. I.Xuat();
10. printf("Ban kinh:%f“,R);
11.}
LTHĐTKhoa CNTT
Chương 03 - 64
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
 Định nghĩa hàm
1. float CDuongTron::ChuVi()
2. {
3. return 2*3.14*R;
4. }
LTHĐTKhoa CNTT
Chương 03 - 65
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 8
 Định nghĩa hàm
1. float CDuongTron::DienTich()
2. {
3. return 3.14*R*R;
4. }
LTHĐTKhoa CNTT
Chương 03 - 66
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 9
Bài 9: Viết chương
trình nhập vào hai
phân số. Tính tổng,
hiệu, tích, thương
giữa chúng và xuất
kết quả.
LTHĐTKhoa CNTT
Chương 03 - 67
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 9
1. #include 
2. #include 
3. class CPhanSo
4. {
5. private:
6. int tu;
7. int mau;
8. public:
9. void Nhap();
10. void Xuat();
11. CPhanSo Tong(CPhanSo);
12. CPhanSo Hieu(CPhanSo);
13. CPhanSo Tich(CPhanSo);
14. CPhanSo Thuong(CPhanSo);
15.};
LTHĐTKhoa CNTT
Chương 03 - 68
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 9
1. void main()
2. {
3. CPhanSo a,b,kq;
4. printf(“\n Nhap…:”);
5. a.Nhap();
6. printf(“\n Nhap…:”);
7. b.Nhap();
8. kq = a.Tong(b);
9. printf(“\n Tong…:”);
10. kq.Xuat();
11. kq = a.Hieu(b);
12. printf(“\n Hieu…:”);
13. kq.Xuat();
14. kq = a.Tich(b);
15. printf(“\n Tich…:”);
16. kq.Xuat();
17.}
LTHĐTKhoa CNTT
Chương 03 - 69
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 9
 Định nghĩa hàm nhập phân số
1. void CPhanSo::Nhap()
2. {
3. printf("Nhap tu: ");
4. scanf("%d",&tu);
5. printf("Nhap mau: ");
6. scanf("%d",&mau);
7. }
LTHĐTKhoa CNTT
Chương 03 - 70
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang
HƯỚNG DẪN BÀI 9
 Định nghĩa hàm xuất phân số
1. void CPhanSo::Xuat()
2. {
3. printf("\n Tu: %d“, tu);
4. printf("\n Mau: %d“,mau);
5. }
LTHĐTKhoa CNTT
Chương 03 - 71
GV. Nguyễn Sơn Hoàng Quốc
ThS. Nguyễn Tấn Trần Minh Khang


 Định nghĩa hàm
1. CPhanSo CPhanSo::Tong(CPhanSo x)
2. {
3. CPhanSo temp;
4. temp.tu= 
5. temp.mau=
6. return temp;
7. }
mau * x.mau;
tu*x.mau + mau*x.tu;
a c ad bc
b d bd

 
u v temp
HƯỚNG DẪN BÀI 9
kq = a.Tong(b);

File đính kèm:

  • pdfLập trình hướng đối tượng - Chương 3 Lập trình hướng đối tượng với C++ (Bài tập).pdf