So sánh 2 phân số trong java năm 2024

Đề bài: Xây dựng lớp phân số với hai thuộc tính riêng xác định tử số và mẫu số của phân số và xây dựng các phương thức:

  • Các hàm khởi tạo [constructor] trong trường hợp không có tham số và trường hợp có 2 tham số tử số và mẫu số
  • Các hàm thực hiện phép toán cộng, trừ, nhân, chia các phân số
  • Hàm thực hiện kiểm tra một phân số có phải tối giản hay không
  • Hàm tìm tìm dạng tối giản của phân số
  • Hàm tìm ước số chung lớn nhất của 2 số nguyên.

Viết chương trình ứng dụng, trong đó khai báo 3 đối số phân số là sp1, sp2 và spTong để tương tác với các hàm có trong lớp phân số trên.

Note: Source code mình đã đính kèm ở mục Documents, xem tại đây

Thiết kế lớp PhanSo [ Phân số ] gồm:

Các thuộc tính : tử số và mẫu số kiểu int.

Các hàm xây dựng gồm :

+ Hàm xây dựng mặc nhiên : PhanSo[];

+ Hàm xây dựng gồm nhiều đối số : PhanSo[int tu , int mau];

Các hàm thành viên gồm :

+ Hàm nhập giá trị cho 1 phân số. Nếu phân số vừa nhập có mẫu số = 0 thì yêu cầu nhập lại.

+ Hàm hiển thị phân số theo dạng tu / mau hoặc -tu/mau.

Yêu cầu: nếu tử số =0 thì chỉ in ra số 0, nếu mẫu số =1 thì chỉ in ra tử số.

+ Hàm nghịch đảo bản thân phân số void NghichDao[];

+ Hàm tìm ra phân số nghịch đảo của 1 phân số PhanSo GiaTriNghichDao[];

+ Hàm tính giá trị thực của phân số. Chẳng hạn phân số 1/2 có giá trị là 0.5

+ Hàm so sánh giá trị phân số với phân số a . int SoSanh[PhanSo a];

Kết quả = 0: nếu 2 phân số bằng nhau,

\> 0: nếu phân số đang xét lớn hơn a.

< 0: nếu phân số đang xét nhỏ hơn a.

+ Hàm cộng, trừ, nhân, chia phân số với 1 phân số a. Kết quả của hàm là 1 phân số.

Chẳng hạn: PhanSo Cong[PhanSo a]; …

Viết hàm main[] sử dụng lớp PhanSo :

+ Tạo phân số a = 3/7 , b = 4/9 . In giá trị chúng ra màn hình.

+ Tạo 2 phân số x và y . Nhập giá trị cho x và y từ bàn phím.

+ In giá trị nghịch đảo của phân số x ra màn hình [không làm thay đổi giá trị của x].

+ Tính tổng của x + y và in kết quả ra màn hình.

+ Nhập vào 1 danh sách gồm n phân số [ n : nhập từ bàn phím ].

+ Tính tổng n phân số đó.

+ Tìm phân số lớn nhất trong danh sách phân số trên.

+ Sắp xếp danh sách phân số theo thứ tự tăng dần.

include

include

class PhanSo{

int tu, mau;

int UCLN[int, int];

void RutGon[];

public:

PhanSo[]{ //Ham xay dung mac nhien

tu=0;

mau=1;

}

PhanSo[int t, int m]{ //Ham xay dung nhieu tham so

tu=t;

mau=m;

}

PhanSo[const PhanSo & ps]{ //Ham xay dung sao chep

tu=ps.tu;

mau=ps.mau;

}

void Nhap[];

void In[];

void NghichDao[];

PhanSo GTND[];

float GTthuc[];

PhanSo Cong[PhanSo];

PhanSo Tru[PhanSo];

PhanSo Nhan[PhanSo];

PhanSo Chia[PhanSo];

int SoSanh[PhanSo];

};

int PhanSo::UCLN[int a, int b]{

int uc;

if [a tu;

cout > mau;

if [mau!=0] break;

cout

Chủ Đề