Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 04: Bài tập - Phạm Tú San

Tuần 04:  
Bài tập  
Bài 4.3  
Đối tượng “mảng số nguyên” có 2 thuộc tính là mảng động  
chứa các đối tượng Số Nguyên và số phần tử hiện có trong  
mảng. Xây dựng lớp với các phương thức sao cho thực hiện  
được đoạn code ở slide kế bên.  
Cho khai báo lớp MangSoNguyen như sau:  
Class MangSoNguyen  
{  
 
private:  
 
 
 
int *GiaTri;  
int SoPhanTu;  
 
};  
void main()  
{  
 
 
 
 
 
 
 
 
 
 
 
 
 
MangSoNguyen m1;  
// NULL, 0 phan tu  
MangSoNguyen m2(7);  // 7 phan tu, gia tri 0  
int a[100];  
int n=2; a[0] = 2; a[1] = 5;  
MangSoNguyen m3(a,n);  
MangSoNguyen m4(m2);  
MangSoNguyen m5;  
m5=m2;  
m1.Nhap();  
m1.Xuat();  
cin>>m2;  
 
 
 
 
 
 
 
 
 
 
 
 
}
cout<<m2.LayPhanTuTai(7);  
m3.CapNhatPhanTuTai(7,8);  
// a[7];   
// a[7]=8;  
cout<<m2;  
m3.ThemPhanTu(7,8); // a[7]=8;  
m2.XoaPhanTu(100);  
// Xoa a[100]  
cout<<m4.TimLonNhat();  
cout<<m1.TimNguyenToLonNhat();  
m2.SapTang();  
m4.SapChanTang();  
cout<<m3.TongLe();  
Bài tập 4.4  
Xây dựng lớp Time có những phương thức sau  
(Nhóm tạo hủy)  
Khởi tạo mặc định vào thời điểm 0:0:0.  
Khởi tạo từ giờ, phút, giây cho trước.  
Khởi tạo từ giây tuyệt đối trong ngày.  
Khởi tạo từ một đối tượng Time khác.  
(Nhóm truy xuất thông tin)  
Thông báo giờ, phút, giây.  
Thông báo giây tuyệt đối trong ngày.  
Bài 4.4 (tt)  
Xây dựng lớp Time (tiếp theo)  
(Nhóm xử lý nghiệp vụ)  
So sánh thứ tự với một thời điểm khác.  
Tính khoảng cách đến thời điểm khác (đơn vị giây).  
Cộng giờ, phút, giây.  
(Nhóm toán tử)  
Toán tử so sánh: >, <, ==, >=, <=, !=.  
Toán tử nhập xuất: >>, <<.  
5
Bài 4.5  
Hãy cho biết đoạn  
class A  
{
chương trình trên  
có những lỗi gì khi  
biên dịch? Giải  
thích  
private:  
 
int mI;  
public:  
 
A(int i){  
 
 
 
}
mI = i;    
cout<<”tao A”;  
Đề xuất cách sửa  
lỗi (không sửa hàm  
main)  
 
 
 
~A(){cout<<”huy A”;}  
Giả sử đã sửa hết  
lỗi, cho biết màn  
hình sẽ xuất ra  
những gì khi thực  
thi đoạn lệnh  
};  
void main()  
{
 
 
}
A a;  
cout<<“gia tri: ”<<a.mI<<endl;  
trong hàm main  
Bài 4.6  
Khai báo các lớp và phương thức cần thiết để thực thi đoạn chương trình sau  
void main()  
{
 
 
 
 
 
 
 
 
 
 
 
TamGiac a(2, 3, 4, 5, 6, 7);  
a.Xuat();  
float dt = a.DienTich();  
cout<<“dt tam giac: ”<<dt<<endl;  
Diem O = a.TrongTam();  
cout<<“trong tam: ”<<O<<endl;  
Diem D;  
cout<<“Nhap diem D”;  
D.Nhap();  
float f = D.KhoangCach(O);    
cout<<“Khoang cach tu diem ”<<O<<“toi diem  
”<<D<<“la: ”<<f<<endl;  
}  
Bài 4.7  
Hãy khai báo lớp phân số và viết các hàm cần  
thiết sao cho có thể đếm được số lượng phân  
số được tạo ra  
void main()  
{
 
 
 
 
}
PhanSo a;  
PhanSo b(2, 1);  
int n = PhanSo::SoLuongPhanSoHienTai();  
cout<<n;  
Bài 4.8  
Viết lớp MangPhanSo cho phép quản lý 1 mảng  
các phân số, sử dụng vector và cho phép thực  
hiện các thao tác sau:  
Thêm, xóa, cập nhật phân số tại một vị trí bất kì  
Nhập, xuất mảng phân số  
void main()  
{
 
 
}
a.XoaPSTheoViTri(2);  
a.Xuat();  
 
 
 
 
MangPhanSo a;  
a.Nhap();  
PhanSo b(1, 2);  
a.ThemPhanSo(b);  
Bài 4.9  
Một trang trại nọ chuyên chăn nuôi gà.  
Mỗi con gà có độ tuổi (tháng), cân nặng (kg) và giới tính.  
Cứ ăn 1kg thức ăn thì gà sẽ tăng 0.1 kg.  
Gà mái có độ tuổi trên 3 tháng thì sẽ có khả năng đẻ trứng và mỗi ngày  
đẻ 1 trứng  
Gà mới nở sẽ có cân nặng là 0.1kg, giới tính ngẫu nhiên  
void main()  
{  
 
ConGa a;  
 
for(int i =0;i<3;i++){  
 
 
 
 
a.ChoAn(10);  //cho an 10 kg thuc an  
a.TangTuoi(1);   //tăng tuổi của gà lên 1  
 
}  
 
int a = a.DeTrung(); //trả ra số trứng gà đẻ trong ngày  
}
Bài 4.9 (tt)  
Khai báo lớp NongTrai quản lý một đàn gà (sử  
dụng vector) cho phép thực hiện đoạn code  
sau, biết  
Mỗi ngày nông trại cho 1 con gà ăn 0.05kg thức ăn  
void main()  
{  
 
 
 
 
 
 
NongTrai a;  
ConGa b(3, 2.5, 0);  //gà mái 3 tháng tuổi nặng 2.5kg  
a.Them(b);  
a.NuoiGa(30);   
float kl = a.TongKhoiLuongGa();  
int sotrung = a.ThuTrung();  
//nuôi gà trong 30 ngày  
//thu trứng gà đẻ  
trong 1 ngày  
}
pdf 11 trang baolam 19900 Free
Bạn đang xem tài liệu "Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 04: Bài tập - Phạm Tú San", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phuong_phap_lap_trinh_huong_doi_tuong_tuan_04_bai.pdf