Xây dựng một lớp Complex mô tả các đối tợng số phức, lớp gồm các thành phần: - Các thuộc tính a, b là các số thực mô tả phần thực và phần ảo của số phức.. Tạo lớp Vector để mô tả các đối
Trang 1đề cơng ôn tập môn lập trình hớng đối tợng với c++
Phần 1: đối tợng và lớp Câu 1.1: a Xây dựng một lớp Complex mô tả các đối tợng số phức, lớp gồm các thành phần:
- Các thuộc tính a, b là các số thực mô tả phần thực và phần ảo của số phức
- Hàm thiết lập
- Hàm nhập số phức
- Hàm in số phức dạng a+ib
- Khai báo toán tử + là hàm bạn của lớp số phức
- Khai báo toán tử - là hàm bạn của lớp số phức
b Viết toán tử + để tính tổng 2 số phức, toán tử - để tính hiệu 2 số phức
c Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo hai đối tợng số phức x, y Tính và in ra tổng, hiệu 2 số phức đó
Câu 1.2: a Xây dựng một lớp Complex mô tả các đối tợng số phức, lớp gồm các thành phần:
- Các thuộc tính a, b là các số thực mô tả phần thực và phần ảo của số phức
- Hàm thiết lập
- Hàm nhập số phức
- Hàm in số phức dạng a+ib
- Toán tử = để gán 2 số phức
- Toán tử + để cộng 2 số phức
b Viết chơng trình nhập một mảng n số phức, tính và in ra màn hình tổng các số phức đã nhập
Câu 1.3: a Xây dựng 1 lớp Mydate mô tả thông tin ngày, tháng, năm Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm thiết lập
- Hàm nhập ngày, tháng, năm (không cần biện luận dữ liệu)
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: ngày-tháng-năm
- Khai báo toán tử >= là hàm bạn với lớp dùng để so sánh 2 đối tợng Mydate
b Viết hàm tự do định nghĩa toán tử >= để so sánh hai đối tợng Mydate
c Viết chơng trình nhập dữ liệu để tạo một mảng 5 đối tợng kiểu Mydate Tìm và hiển thị đối tợng
có thời gian lớn nhất
Câu 1.4: a Tạo lớp Vector để mô tả các đối tợng vector, lớp gồm các thành phần:
- Số phần tử: n
- Một con trỏ *v trỏ đến các phần tử dữ liệu
- Hàm thiết lập một tham số dùng để cấp phát bộ nhớ cho các phần tử dữ liệu
- Hàm thiết lập sao chép
- Hàm huỷ bỏ
- Hàm nhập các phần tử của véc tơ
- Hàm hiển thị các phần tử dữ liệu của vector
- Toán tử = để gán một vector cho một vector
- Khai báo toán tử + là hàm bạn của lớp Vector, dùng để cộng hai vector
b Viết toán tử + để cộng hai vector, kết quả trả về là một vector
c Viết chơng trình nhập vào hai vector a, b In ra màn hình các phần tử dữ liệu của vector a, vector b
và vector a+b
Câu 1.5: a Xây dựng 1 lớp PS mô tả các đối tợng phân số, lớp gồm các thành phần:
- Các thuộc tính mô tả tử số và mẫu số của phân số
- Hàm thiết lập
- Hàm nhập phân số
- Hàm in phân số dạng tử số/mẫu số
- Hàm rút gọn phân số
- Toán tử + dùng để tính tổng 2 phân số, kết quả trả về một phân số tối giản
b Viết chơng trình nhập một mảng n đối tợng phân số, tính và in ra màn hình tổng của mảng đã nhập
Trang 2Câu 1.6: a Xây dựng 1 lớp PS mô tả các đối tợng phân số, lớp gồm các thành phần:
- Các thuộc tính mô tả tử số và mẫu số của phân số
- Hàm thiết lập
- Hàm nhập phân số
- Hàm in phân số dạng tử số/mẫu số
- Toán tử > để so sánh 2 đố tợng phân số
b Viết chơng trình nhập một mảng n phân số, sắp xếp mảng phân số tăng dần và in ra mảng đã sắp
Câu 1.7: a Xây dựng 1 lớp PS mô tả các đối tợng phân số, lớp gồm các thành phần:
- Các thuộc tính mô tả tử số và mẫu số của phân số
- Hàm thiết lập
- Hàm nhập phân số
- Hàm in phân số dạng tử số/mẫu số
- Khai báo toán tử >= là hàm bạn của lớp phân số dùng để so sánh 2 phân số
b Viết các toán tử >= để so sánh 2 phân số
c Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo một mảng 5 phân số Tìm và in ra phân số lớn nhất, phân số bé nhất
Câu 1.8: a Tạo lớp Vector để mô tả các đối tợng vector, lớp gồm các thành phần:
- Số phần tử: n
- Một con trỏ *v trỏ đến các phần tử dữ liệu
- Hàm thiết lập
- Hàm thiết lập sao chép
- Hàm huỷ bỏ
- Hàm nhập các phần tử của véc tơ
- Hàm hiển thị các phần tử dữ liệu của vector
- Toán tử = để gán một vector cho một vector
- Khai báo toán tử * là hàm bạn của lớp Vector, dùng để nhân một số thực k với 1 vector
b Viết toán tử * để nhân một số thực k với một vector, kết quả trả về là một vector
c Viết chơng trình nhập vào một số thực k và một vector a In ra màn hình các phần tử dữ liệu của vector a và vector k*a
Câu 1.9: a.Xây dựng 1 lớp MyDate mô tả thông tin ngày, tháng, năm Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm thiết lập
- Hàm nhập ngày, tháng, năm
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: ngày-tháng-năm
- Toán tử > so sánh 2 đối tợng Mydate
b Viết chơng trình tạo một mảng n đối tợng kiểu MyDate, hiển thị các đối tợng đã nhập, sắp xếp các đối tợng tăng dần và in ra các đối tợng đã sắp
Câu 1.10: a Tạo lớp Vector để mô tả các đối tợng vector, lớp gồm các thành phần:
- Số phần tử: n
- Một con trỏ *v trỏ đến các phần tử dữ liệu
- Hàm thiết lập một tham số dùng để khởi tạo n và cấp phát bộ nhớ cho các phần tử dữ liệu
- Hàm thiết lập sao chép
- Hàm huỷ bỏ
- Hàm nhập các phần tử của véc tơ
- Hàm hiển thị các phần tử dữ liệu của vector
- Toán tử = để gán một vector cho một vector
- Viết hàm kiểm tra để kiểm tra xem hai vector có cùng số phần tử hay không?
- Khai báo toán tử + là hàm bạn của lớp Vector, dùng để cộng hai vector cùng số phần tử
b Viết toán tử + để cộng hai vector có cùng số phần tử, kết quả trả về là một vector
c Viết chơng trình nhập vào hai vector a và b Dùng hàm kiểm tra để kiểm tra xem hai vector a, b có cùng số phần tử hay không, nếu đúng thì tính tổng hai vector và hiển thị vector tổng, nếu không thì
có thông báo ra màn hình hai vector a, b không cộng đợc với nhau
Câu 1.11: a Xây dựng 1 lớp PS mô tả các đối tợng phân số, lớp gồm các thành phần:
- Các thuộc tính mô tả tử số và mẫu số của phân số
- Hàm thiết lập phân số
Trang 3- Hàm nhập phân số.
- Viết hàm ớc cung lớn nhất là bạn của lớp PS để tìm ớc chung lớn nhất của hai số nguyên dơng
a, b
- Viết hàm rút gọn phân số
- Hàm in phân số dạng tử số/mẫu số
b Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo 1 mảng 5 phân số In ra màn hình danh sách các phân số dới dạng đã rút gọn
Câu 1.12: a Xây dựng 1 lớp MyTime mô tả các đối tợng thời gian, lớp gồm các thành phần:
- Các thuộc tính mô tả giờ, phút, giây
- Hàm thiết lập
- Hàm nhập dữ liệu
- Hàm hiển thị dữ liệu dạng: gio : phut : giay
- Khai báo toán tử >= là hàm bạn của lớp MyTime dùng để so sánh 2 đối tuợng MyTime
b Viết các toán tử >= để so sánh 2 đối tuợng MyTime
c Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo một mảng 5 đối tợng MyTime Tìm và in ra
đối tợng có thời gian lớn nhất, bé nhất
Câu 1.13: a Xây dựng 1 lớp Student mô tả các sinh viên của một lớp học, lớp gồm các thành phần:
- Các thuộc tính mô tả họ tên, điểm kỳ 1, điểm kỳ 2, điểm trung bình cả năm (điểm trung bình cả năm = (điểm kỳ 1 + 2*điểm kỳ 2)/3)
- Hàm thiết lập
- Hàm nhập dữ liệu
- Hàm hiển thị dữ liệu
- Định nghĩa toán tử > để so sánh hai sinh viên theo tiêu chuẩn điểm trung bình cả năm
b Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo một mảng 5 sinh viên Hiển thị danh sách những sinh viên vừa nhập Sắp xếp danh sách sinh viên theo thứ tự giảm dần của điểm trung bình cả năm Hiển thị danh sách sinh viên sau khi sắp xếp
Câu 1.14: a Xây dựng 1 lớp Mydate mô tả thông tin ngày, tháng, năm Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm thiết lập
- Hàm nhập ngày, tháng, năm (không cần biện luận dữ liệu)
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: ngày-tháng-năm
- Xây dựng toán tử = = dùng để so sánh 2 đối tợng Mydate
b Viết chơng trình nhập dữ liệu để tạo 1 mảng 5 đối tợng kiểu Mydate và nhập dữ liệu để tạo 1 đối tợng x có kiểu Mydate Tìm kiếm và thông báo ra màn hình phần tử x có trong mảng hay không?
Câu 1.15: a Tạo lớp Vector để mô tả các đối tợng vector, lớp gồm các thành phần:
- Số phần tử: n
- Một con trỏ *v trỏ đến các phần tử dữ liệu
- Hàm thiết lập một tham số dùng để khởi tạo n và cấp phát bộ nhớ cho các phần tử dữ liệu
- Hàm thiết lập sao chép
- Hàm huỷ bỏ
- Hàm nhập các phần tử của véc tơ
- Hàm hiển thị các phần tử dữ liệu của vector
- Toán tử = để gán một vector cho một vector
- Khai báo toán tử + là hàm bạn của lớp Vector, dùng để cộng 2 vector
b Viết toán tử + để cộng 2 vector, kết quả trả về là một vector
c Viết chơng trình nhập vào 2 vector, tính và hiển thị tổng của chúng ra màn hình
Câu 1.16: a Xây dựng 1 lớp mô tả các đối tợng phân số, lớp gồm:
- Các thuộc tính mô tả tử số và mẫu số của phân số
- Hàm thiết lập
- Hàm hiển thị phân số
- Toán tử = = để so sánh 2 đối tợng phân số
b Viết chơng trình tạo một mảng n đối tợng phân số Nhập tiếp một phân số, tìm kiếm phân số đã nhập có trong mảng hay không ?
Trang 4Câu 1.17: a Xây dựng một lớp Complex mô tả các đối tợng số phức, lớp gồm các thành phần:
- Các thuộc tính a, b là các số thực mô tả phần thực và phần ảo của số phức
- Hàm thiết lập
- Hàm nhập số phức
- Hàm in số phức dạng a+ib
- Toán tử = = để so sánh 2 số phức
b Viết chơng trình nhập một mảng n số phức Nhập tiếp một số phức và tìm số phức đã nhập có trong mảng số phức hay không ? Nếu có thì hiển thị vị trí của nó có trong mảng
Câu 1.18: a Xây dựng 1 lớp Student mô tả các sinh viên của một lớp học, lớp gồm các thành phần:
- Các thuộc tính mô tả họ tên, điểm kỳ 1, điểm kỳ 2
- Hàm thiết lập
- Hàm nhập dữ liệu
- Hàm hiển thị dữ liệu
- Hàm kiểm tra để kiểm tra xem sinh viên có đạt điểm trung bình cả năm>=5 hay không? (điểm trung bình cả năm=điểm kỳ 1 + 2*điểm kỳ 2)/3)
b Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo một mảng 5 sinh viên Hiển thị danh sách những sinh viên vừa nhập Sau đó, hiển thị danh sách những sinh viên có điểm trung bình cả năm
>=5
Câu 1.19: a Xây dựng 1 lớp PS mô tả các đối tợng phân số, lớp gồm các thành phần:
- Các thuộc tính mô tả tử số và mẫu số của phân số
- Hàm thiết lập phân số
- Hàm nhập phân số
- Hàm in phân số dạng tử số/mẫu số
- Xây dựng toán tử >= dùng để so sánh 2 phân số
c Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo một mảng 5 phân số Tìm và in ra phân số lớn nhất
Câu 1.20 a Xây dựng một lớp Complex mô tả các đối tợng số phức, lớp gồm các thành phần:
- Các thuộc tính a, b là các số thực mô tả phần thực và phần ảo của số phức
- Hàm thiết lập
- Hàm thiết lập sao chép
- Hàm nhập số phức
- Hàm in số phức dạng a+ib
- Xây dựng toán tử + dùng để tính tổng 2 số phức
- Xây dựng toán tử - dùng để tính hiệu 2 số phức
b Viết chơng trình nhập dữ liệu vào từ bàn phím để tạo hai đối tợng số phức x, y Tính và in ra tổng, hiệu 2 số phức đó
Trang 5Phần 2: kế thừa Câu 2.1: a Xây dựng 1 lớp MyAttr mô tả các thuộc tính của tệp Lớp gồm các thành phần:
- Thuộc tính Attr mô tả số hiệu thuộc tính của tệp là một số nguyên
- Hàm thiết lập
- Hàm hiển thị số hiệu thuộc tính tệp
b Xây dựng 1 lớp Mydate mô tả thông tin ngày, tháng, năm Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm thiết lập
- Toán tử > để so sánh 2 đôi tợng Mydate
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: ngày-tháng-năm
c Xây dựng 1 lớp Myfile kế thừa từ 2 lớp MyAttr và Mydate và đồng thời bổ sung thêm các thành
phần:
- filename: Mô tả tên tệp, là một xâu không quá 255 ký tự
- filesize: Mô tả kích thớc tệp, là một số nguyên
- Hàm thiết lập
- Hàm hiển thị thông tin, kích thớc, thời gian và số hiệu thuộc tính tệp
d Viết chơng trình khai báo một mảng 4 con trỏ đối tợng kiểu Myfile, nhập dữ liệu vào để tạo 4 con trỏ đối tợng Myfile Sắp xếp các đối tợng tăng dần theo ngày tháng và in ra các đối tợng đã sắp xếp
Câu 2.2: a.Xây dựng 1 lớp MyDate mô tả thông tin ngày, tháng, năm Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm thiết lập
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: ngày-tháng-năm
- Toán tử > so sánh 2 đối tợng Mydate
b.Xây dựng 1 lớp Person mô tả thông tin về một ngời, lớp kế thừa từ lớp MyDate và bổ sung thêm:
- Name: Mô tả tên của ngời
- Address: Mô tả địa chỉ của ngời
- Phone: Mô tả số điện thoại
- Hàm thiết lập
- Hàm hiển thị thông tin về 1 ngời
c Xây dựng một lớp Officer mô tả các thông về một cán bộ viên chức, lớp kế thừa từ lớp Person và
bổ sung thêm:
- Salary: Mô tả lơng của cán bộ, là một số thực
- Hàm thiết lập
- Hàm hiển thi thông tin về một cán bộ viên chức
d Viết chơng trình khai báo một mảng 4 con trỏ đối tợng kiểu Officer, nhập dữ liệu vào để tạo 4 đối
tợng này, sắp xếp theo ngày tháng tăng dần và hiển thị ra màn hình
Câu 2.3: a Xây dựng một lớp SV để mô tả các sinh viên trong một Khoa của một Trờng Đại học,
lớp SV gồm các thành phần sau:
- Lop: Mô tả lớp học của sinh viên
- Hoten: Mô tả họ tên của sinh viên
- Hàm thiết lập
- Hàm huỷ bỏ
- Hàm hiển thị thông tin về một SV
b Xây dựng một lớp SVSP để mô tả các sinh viên thuộc hệ s phạm Lớp đợc kế thừa từ lớp SV và
bổ sung thêm các thành phần sau:
- Dtb: Mô tả điểm trung bình của sinh viên
- Hocbong: Mô tả học bổng của sinh viên
- Hàm thiết lập
- Hàm hiển thị thông tin về một SVSP
c Xây dựng một lớp SVCN để mô tả các sinh viên thuộc hệ cử nhân Lớp đợc kế thừa từ lớp SVSP
và bổ sung thêm các thành phần sau:
- Hocphi: Mô tả học phí của sinh viên cử nhân
- Hàm thiết lập
- Hàm hiển thị thông tin về một SVCN
Trang 6d Viết chơng trình khai báo một mảng 3 con trỏ đối tợng kiểu SVCN, nhập dữ liệu vào để tạo 3 đối tợng SVCN Gọi hàm hiển thị của lớp SVCN thông qua các con trỏ này để in thông tin về một SVCN ra màn hình
Câu 2.4: Xây dựng chơng trình quản lý sách và băng video của một cửa hàng, chơng trình gồm:
a Xây dựng 1 lớp Media mô tả các đối tợng phơng tiện truyền thông, lớp gồm:
- Thuộc tính tên gọi, giá bán
- Hàm thiết lập hai tham số
- Hàm nhập dữ liệu
- Hàm hiển thị dữ liệu
b Xây dựng lớp Book mô tả các đối tợng sách Lớp đợc kế thừa từ lớp Media và bổ sung thêm:
- Thuộc tính mô tả số trang, tác giả
- Hàm thiết lập
- Hàm nhập dữ liệu
- Hàm hiển thị dữ liệu
c Xây dựng lớp Video mô tả các đối tợng băng video, lớp kế thừa từ lớp Media và bổ sung thêm:
- Thuộc tính thời gian chạy, giá bán
- Hàm thiết lập
- Hàm nhập dữ liệu
- Hàm hiển thị dữ liệu
d Viết chơng trình khai báo 2 mảng con đối tợng, một mảng gồm các đối tợng sách, một mảng gồm các đối tợng băng video Nhập dữ liệu cho các mảng đối tợng, hiển thị dữ liệu của các
đối tợng sách và băng video ra màn hình
Câu 2.5: a Xây dựng 1 lớp MyAddress mô tả thông tin về địa chỉ của một con ngời Lớp gồm các
thành phần:
- Các thuộc tính mô tả Tĩnh và Huyện
- Hàm thiết lập
- Hàm hủy bỏ
- Hàm hiển thị thông tin về Tĩnh và Huyện
b Xây dựng một lớp Person mô tả các thông tin về ngời Lớp đợc kế thừa từ lớp MyAddress và bổ
sung thêm các thành phần:
- Name: Mô tả tên của ngời
- Phone: Mô tả số điện thoại
- Hàm thiết lập
- Hàm hủy bỏ
c Xây dựng một lớp Officer mô tả các thông về một cán bộ viên chức, lớp kế thừa từ lớp Person và
bổ sung thêm các thành phần:
- Salary: Mô tả lơng của cán bộ
- Hàm thiết lập
- Hàm hiển thị thông tin về một đối tợng Officer ra màn hình.
- Toán tử > để so sánh 2 đối tợng Officer dựa trên Salary
d Viết chơng trình khai báo một mảng 4 con trỏ đối tợng kiểu Officer, nhập dữ liệu, sắp xếp tăng
dần theo lơng của các đối tợng và hiển thị các đối tợng ra màn hình
Câu 2.6: a Xây dựng một lớp Printer mô tả các đối tợng máy in, lớp gồm các thành phần:
- Thuộc tính Name mô tả tên máy in
- Thuộc tính Soluong mô tả số lợng trong kho
- Hàm nhapkho(int q) để nhập vào kho q số lợng mặt hàng
- Hàm xuatkho(int q) để xuất ra khỏi kho q số lợng mặt hàng
b Xây dựng lớp Laser mô tả các máy in Laser, lớp đợc kế thừa từ lớp Printer và có thêm thuộc tính Dpi.
c Xây dựng lớp ColorPrinter mô tả các máy in màu, lớp đợc kế thừa từ lớp Printer và có thêm
thuộc tính Color
d Xây dựng lớp ColorLaser mô tả các máy in Laser màu, lớp đợc kế thừa từ lớp Laser và lớp ColorPrinter.
e Viết chơng trình tạo 3 đối tợng kiểu ColorLaser Gọi các hàm nhập, xuất và in ra số lợng có
trong kho
Trang 7Câu 2.7: a Xây dựng một lớp SV để mô tả các sinh viên trong một Khoa của một Trờng Đại học,
lớp SV gồm các thành phần sau:
- Lop: Mô tả lớp học của sinh viên
- Hoten: Mô tả họ tên của sinh viên
- Hàm thiết lập
- Hàm huỷ bỏ
- Hàm hiển thị thông tin về một SV
b Xây dựng một lớp SVTC để mô tả các sinh viên thuộc hệ tại chức Lớp đợc kế thừa từ lớp SV và
bổ sung thêm các thành phần sau:
- Hocphi: Mô tả học phí
- Hàm thiết lập
- Hàm hiển thị thông tin về một SVTC
c Xây dựng một lớp SVCN để mô tả các sinh viên thuộc hệ cử nhân Lớp đợc kế thừa từ lớp SVTC
và bổ sung thêm các thành phần sau:
- Dtb: Mô tả điểm trung bình của sinh viên cử nhân
- Hocbong: Mô tả học bổng của sinh viên cử nhân
- Hàm thiết lập
- Hàm hiển thị thông tin về một SVCN
- Toán tử > so sánh 2 đối tợng SVCN theo Dtb
d Viết chơng trình khai báo một mảng 3 con trỏ đối tợng kiểu SVCN, nhập dữ liệu vào để tạo 3 đối tợng SVCN, sắp xếp các đối tợng SVCN theo điểm trung bình giảm dần và in ra màn hình
Câu 2.8: a Xây dựng 1 lớp Mytime mô tả thông tin về giờ, phút, giây Lớp gồm các thành phần:
- Các thuộc tính mô tả giờ, phút, giây
- Hàm nhập giờ, phút, giây (không cần biện luận dữ liệu nhập)
- Hàm hiển thị thông tin về giờ, phút, giây theo dạng: Giờ : phút : giây
b Xây dựng 1 lớp Mydate mô tả thông tin ngày, tháng, năm Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm nhập ngày, tháng, năm (không cần biện luận dữ liệu nhập)
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: Ngày-tháng-năm
c Xây dựng 1 lớp Myfile kế thừa từ 2 lớp Mydate và Mytime đồng thời bổ sung thêm các thành
phần:
- filename: Mô tả tên tệp, là một xâu không quá 255 ký tự
- filesize: Mô tả kích thớc tệp, là một số nguyên
- Hàm nhập dữ liệu
- Hàm hiển thị tên tệp, kích thớc, ngày tháng năm và giờ phút giây
- Toán tử > để so sánh 2 đối tợng Myfile dựa trên filesize
d Viết chơng trình khai báo một mảng 5 con trỏ đối tợng kiểu Myfile, nhập dữ liệu vào để tạo các
đối tợng Myfile Sắp xếp các đối tợng theo kích thuớc tệp giảm dần và in ra cac đối tợng đã sắp Câu 2.9: a Xây dựng 1 lớp MyColor mô tả các thông tin về màu Lớp gồm các thành phần:
- Thuộc tính Color mô tả số hiệu màu là một số nguyên
- Hàm thiết lập
- Hàm hiển thị số hiệu màu
b Xây dựng 1 lớp Point mô tả các đối tợng điểm trên mặt phẳng Lớp gồm các thành phần:
- Các thuộc tính x, y mô tả toạ độ của điểm
- Hàm thiết lập
- Hàm tịnh tiến điểm đến toạ độ x+dx, y+dy
- Hàm hiển thị toạ độ của điểm trong mặt phẳng
c Xây dựng 1 lớp Triangle mô tả các đối tợng tam giác Lớp đợc kế thừa từ lớp MyColor và bổ
sung thêm các thành phần:
- Ba đỉnh của tam giác là 3 điểm A, B, C
- Hàm thiết lập tam giác tại 3 điểm X, Y, Z và màu bằng k
- Hàm move(dx, dy) để tịnh tiến tam giác đến vị trí mới:
A.x=A.x+dx; A.y=A.y+dy; B.x=B.x+dx; B.y=B.y+dy; C.x=C.x+dx; C.y=C.y+dy;
- Hàm hiển thị toạ độ đỉnh của tam giác, màu của tam giác
Trang 8d Viết chơng trình nhập vào 4 cặp số thực (x1,y1), (x2,y2), (x3,y3), (dx,dy) và một số k Tạo tam giác với 3 đỉnh A(x1,y1), B(x2,y2), C(x3,y3) có màu bằng k Tịnh tiến tam giác theo dx, dy Hiển thị toạ độ và màu của tam giác trớc và sau khi tịnh tiến
Câu 2.10: a Xây dựng 1 lớp MyColor mô tả các thông tin về màu Lớp gồm các thành phần:
- Thuộc tính Color mô tả số hiệu màu
- Hàm nhập số hiệu màu
- Hàm hiển thị số hiệu màu
b Xây dựng 1 lớp Point mô tả các điểm trên mặt phẳng Lớp gồm các thành phần:
- Các thuộc tính x, y mô tả toạ độ của điểm
- Hàm nhập toạ độ của điểm
- Hàm hiển thị toạ độ của điểm trong mặt phẳng
- Khai báo một hàm tự do tính khoảng cách giữa hai điểm là bạn với lớp Point
c Viết một hàm tự do tính khoảng cách giữa 2 điểm
d Xây dựng 1 lớp Line mô tả các đối tợng đoạn thẳng Lớp đợc kế thừa từ lớp MyColor và bổ sung
thêm các thành phần:
- Hai điểm A, B xác định đoạn thẳng
- Hàm nhập toạ độ của 2 điểm xác định đoạn thẳng và màu đoạn thẳng
- Hàm tính khoảng cách giữa hai điểm xác định đoạn thẳng
- Hàm hiển thị toạ độ của hai điểm xác định đoạn thẳng, màu của đoạn thẳng và khoảng cách giữa hai điểm xác định đoạn thẳng
đ Viết chơng trình nhập dữ liệu để tạo đoạn thẳng xác định bởi hai điểm A, B và màu bằng k Hiển thị toạ độ của 2 điểm xác định đoạn thẳng, màu của đoạn thẳng và chiều dài của đoạn thẳng
Câu 2.11: a Xây dựng 1 lớp MyColor mô tả các thông tin về màu Lớp gồm các thành phần:
- Thuộc tính Color mô tả số hiệu màu
- Hàm thiết lập
- Hàm hiển thị số hiệu màu
b Xây dựng 1 lớp Point mô tả các điểm trên mặt phẳng Lớp gồm các thành phần:
- Các thuộc tính x, y mô tả toạ độ của điểm
- Hàm thiết lập
- Hàm hiển thị toạ độ của điểm trong mặt phẳng
c Xây dựng 1 lớp Circle mô tả các đối tợng đờng tròn Lớp đợc kế thừa từ lớp MyColor và bổ sung
thêm các thành phần:
- Thuộc tính tâm là 1 điểm O
- Thuộc tính r mô tả bán kính của đờng tròn
- Hàm tính diện tích
- Hàm thiết lập
- Hàm hiển thị diện tích, toạ độ tâm, bán kính và màu của đờng tròn
- Toán tử > so sánh 2 đối tợng đờng tròn dựa trên diện tích
d Viết chơng trình nhập dữ liệu và tạo một mảng n con trỏ đối tợng đờng tròn Tìm và in ra màn hình đờng tròn có diện tích lớn nhất
Câu 2.12: a Xây dựng 1 lớp MyColor mô tả các màu Lớp gồm các thành phần:
- Thuộc tính Color mô tả số hiệu màu
- Hàm thiết lập
- Hàm hiển thị số hiệu màu
b Xây dựng 1 lớp Point mô tả các điểm trên mặt phẳng Lớp gồm các thành phần:
- Các thuộc tính x, y mô tả toạ độ của điểm
- Hàm thiết lập
- Khai báo một hàm tự do tính khoảng cách giữa hai điểm là bạn với lớp
- Hàm hiển thị toạ độ của điểm
c Viết một hàm tự do tính khoảng cách giữa 2 điểm
d Xây dựng 1 lớp Triangle mô tả các tam giác Lớp đợc kế thừ từ lớp MyColor và bổ sung thêm
các thành phần:
- Ba đỉnh của tam giác là 3 điểm A, B, C
- Hàm thiết lập tam giác tại 3 điểm
- Hàm tính chu vi của tam giác
- Hàm hiển thị toạ độ đỉnh của tam giác, màu và chu vi của tam giác
- Toán tử > để so 2 đối tợng Triangle dựa trên chu vi tam giác
đ Viết chơng trình nhập dữ liệu một mảng n tam giác Hiển thị toạ độ, màu và chu vi của tam giác của các đối tợng đã tạo Tìm và in ra màn hình tam giác có diện tích lớn nhất
Câu 2.13: a Xây dựng một lớp Printer mô tả các đối tợng máy in Lớp gồm các thành phần:
Trang 9- Các thuộc tính Sohieu và Soluong mô tả số hiệu máy in và số lợng máy in có trong kho.
- Hàm thiết lập
- Hàm Nhapkho(int q) để nhập vào kho q số lợng mặt hàng
- Hàm Xuatkho(int q) để xuất ra khỏi kho q số lợng mặt hàng
- Hàm hiển thị thông tin về một đối tợng máy in gồm: Số liệu, số lợng
b Xây dựng lớp Laser mô tả các đối tợng máy in Laser Lớp đợc kế thừa từ lớp Printer in và bổ
sung thêm:
- Thuộc tính dpi mô tả số điểm in trên 1 đơn vị in của máy in Laser.
- Hàm in thông tin về một đối tợng Laser gồm: Số hiệu, số lợng, dpi
c Xây dựng lớp ColorLaser mô tả các đối tợng máy in Laser màu Lớp đợc kế thừa từ lớp Laser và
bổ sung thêm:
- Thuộc tính Somau mô tả số màu của máy in màu.
- Hàm in thông tin về một đối tợng ColorLaser gồm: Số hiệu, số lợng, dpi, số màu.
d Viết chơng trình nhập dữ liệu để tạo 2 đối tợng kiểu ColorLaser In thông tin về các đối tợng đã
nhập
Câu 2.14: a Xây dựng 1 lớp Mytime mô tả thông tin về giờ, phút, giây Lớp gồm các thành phần:
- Các thuộc tính mô tả giờ, phút, giây
- Hàm thiết lập
- Hàm nhập thông tin về giờ, phút, giây
- Hàm hiển thị giờ theo 24 giờ dạng: Giờ : phút : giây
b Xây dựng 1 lớp Mydate mô tả thông tin ngày, tháng, năm Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm thiết lập
- Hàm nhập thông tin về ngày, tháng, năm
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: ngày-tháng-năm
c Xây dựng 1 lớp Datetime kế thừa từ 2 lớp Mydate và Mytime để mô tả thông tin đồng thời về
ngày, tháng, năm, giờ, phút, giây Lớp gồm các hàm thành phần:
- Hàm thiết lập
- Hàm nhập ngày, tháng, năm, giờ, phút, giây
- Hàm hiển thị thời gian gồm: ngày-tháng-năm giờ : phút : giây
d Viết chơng trình nhập dữ liệu vào để tạo 3 đối tợng kiểu Datetime Gọi hàm hiển thị thời gian của
đối tợng đã tạo
Câu 2.15: a Xây dựng một lớp SV để mô tả các sinh viên trong một Khoa của một Trờng Đại học,
lớp SV gồm các thành phần sau:
- Lop: Mô tả lớp học của sinh viên
- Hoten: Mô tả họ tên của sinh viên
- Hàm thiết lập
- Hàm huỷ bỏ
- Hàm hiển thị dữ liệu
b Xây dựng một lớp SVTC để mô tả các sinh viên thuộc hệ tại chức Lớp đợc kế thừa từ lớp SV và
bổ sung thêm các thành phần sau:
- Hocphi: Mô tả học phí phải nộp của sinh viên, là một số nguyên
- Hàm thiết lập
- Hàm hiển thị dữ liệu
- Toán tử > để so sánh 2 đối tợng SVTC dựa trên Hocphi
c Xây dựng một lớp SVCN để mô tả các sinh viên thuộc hệ cử nhân Lớp đợc kế thừa từ lớp SVTC
và bổ sung thêm các thành phần sau:
- Dtb: Mô tả điểm trung bình của sinh viên cử nhân
- Hocbong: Mô tả học bổng của sinh viên cử nhân
- Hàm thiết lập
- Hàm hiển thị dữ liệu
d Viết chơng trình khai báo một mảng 5 con trỏ đối tợng kiểu SVCN, nhập dữ liệu vào để tạo các
đối tợng SVCN Hiển thị các đối tợng đã tạo ra màn hình, sắp xếp các đối tợng theo học phí giảm dần và hiển thị các đối tợng sau khi sắp xếp
Trang 10
Câu 2.16: a.Xây dựng 1 lớp MyAddress mô tả thông tin về địa chỉ của một con ngời Lớp gồm các
thành phần:
- Các thuộc tính mô tả Tĩnh và Huyện
- Hàm thiết lập
- Hàm huỷ bỏ
- Hàm hiển thị dữ liệu
b.Xây dựng 1 lớp MyDate mô tả thông tin ngày, tháng, năm Lớp MyDate gồm có các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm
- Hàm thiết lập
- Hàm hiển thị dữ liệu
- Toán tử > so sánh 2 đối tợng MyDate
c.Xây dựng 1 lớp Person mô tả thông tin về một ngời Lớp đợc kế thừa từ 2 lớp MyDate, MyAddress và bổ sung thêm các thành phần:
- Name: Mô tả tên của ngời, là một xâu không quá 30 ký tự
- Phone: Mô tả số điện thoại, là một số nguyên
- Hàm thiết lập
- Hàm huỷ bỏ
- Hàm hiển thị dữ liệu
d Viết chơng trình khai báo một mảng 4 con trỏ đối tợng kiểu Person Nhập dữ liệu và sắp xếp dữ
liệu tăng dần theo ngày, tháng, năm Hiển thị dữ liệu đã sắp ra màn hình
Câu 2.17: a Xây dựng một lớp Printer mô tả các đối tợng máy in, lớp gồm các thành phần:
- Các thuộc tính số hiệu và số lợng trong kho
- Hàm nhapkho(int q) để nhập vào kho q số lợng mặt hàng
- Hàm xuatkho(int q) để xuất ra khỏi kho q số lợng mặt hàng
b Xây dựng lớp Laser mô tả các máy in Laser, lớp đợc kế thừa từ lớp Printer và có thêm thuộc tính Dpi.
c Xây dựng lớp ColorPrinter mô tả các máy in màu, lớp đợc kế thừa từ lớp Printer và có thêm
thuộc tính Color
d Xây dựng lớp ColorLaser mô tả các máy in Laser màu, lớp đợc kế thừa từ lớp Laser và lớp ColorPrinter.
e Viết chơng trình tạo 3 đối tợng kiểu ColorLaser Gọi các hàm nhập, xuất và in ra số lợng có
trong kho