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ả.
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:
- 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).pdf