BÀI TẬP CHƯƠNG 2
1. Viết chương trình tính diện tích và chu vi hình tròn có bán kính r.
2. Viết chương trình đổi một ký tự chữ hoa thành ký tự chữ thường.
3. Viết chương trình đọc vào một số nguyên trong khoảng [0, 1000], tính tổng các chữ số của số đó. Ví dụ: nhập vào số 467, kết quả sẽ là 17 (= 4 + 6 + 7).
BÀI TẬP CHƯƠNG 3
4. Giải phương trình bậc 2: ax2 + bx + c = 0 (a 0).
5. Viết chương trình nhập vào độ dài 3 cạnh của một tam giác. Nếu hợp lệ thì cho biết tính chất của tam giác (tam giác thường, cân, vuông, vuông cân, đều).
6. Viết chương trình nhập vào 3 số, sắp xếp 3 số này theo chiều tăng dần.
7. Viết chương trình nhập vào tháng và năm dương lịch. Cho biết tháng trong năm đó có bao nhiêu ngày.
BÀI TẬP MÔN HỌC LẬP TRÌNH JAVA BÀI TẬP CHƯƠNG 2 Viết chương trình tính diện tích và chu vi hình tròn có bán kính r. Viết chương trình đổi một ký tự chữ hoa thành ký tự chữ thường. Viết chương trình đọc vào một số nguyên trong khoảng [0, 1000], tính tổng các chữ số của số đó. Ví dụ: nhập vào số 467, kết quả sẽ là 17 (= 4 + 6 + 7). BÀI TẬP CHƯƠNG 3 Giải phương trình bậc 2: ax2 + bx + c = 0 (a ¹ 0). Viết chương trình nhập vào độ dài 3 cạnh của một tam giác. Nếu hợp lệ thì cho biết tính chất của tam giác (tam giác thường, cân, vuông, vuông cân, đều). Viết chương trình nhập vào 3 số, sắp xếp 3 số này theo chiều tăng dần. Viết chương trình nhập vào tháng và năm dương lịch. Cho biết tháng trong năm đó có bao nhiêu ngày. Viết chương trình tính gần đúng số p theo công thức: Viết chương trình tính gần đúng số e theo công thức dưới đây với độ chính xác e nhập vào từ bàn phím. Viết chương trình tìm ước số chung lớn nhất của hai số nguyên dương a, b. Viết chương trình tìm số nguyên lớn nhất n sao cho n3 < 12000. Viết chương trình tạo ngẫu nhiên 10 số nằm trong khoảng [0,1000) rồi tính trung bình (tb) và độ lệch chuẩn (dlc) theo công thức: BÀI TẬP CHƯƠNG 4 Viết chương trình nhập vào một chữ in thường, đưa ra màn hình chữ in hoa tương ứng. Trong chương trình có khai báo và sử dụng phương thức đổi một ký tự chữ in hoa thành ký tự chữ in thường. Viết chương trình nhập vào một số nguyên dương, đưa ra màn hình tổng các chữ số của số nguyên đó. Trong chương trình có khai báo và sử dụng phương thức tính tổng của các chữ số trong một số nguyên. Ví dụ: sumDigits(234) trả về 9. Viết chương trình nhập vào hai số số nguyên dương, đưa ra màn hình ước số chung lớn nhất của hai số nguyên đó. Trong chương trình có khai báo và sử dụng phương thức tìm ước số chung lớn nhất của 2 số nguyên dương. Ví dụ: USCLN(24,16) trả về 8. Viết chương trình thực hiện các yêu cầu sau: - Định nghĩa phương thức đổi từ độ C sang độ F và phương thức đổi từ độ F sang độ C có dòng tiêu đề như sau: //Đổi từ độ C sang độ F static double C2F(double celcius) //Đổi từ độ F sang độ C public static double F2C(double fahrenheit) - Công thức đổi: F = (9.0/5) * C + 32. Viết chương trình gọi các phương thức trên để hiển thị bảng như sau: Celcius Fahrenheit | Fahrenheit Celcius 40.0 104.0 | 120.0 48.89 39.0 102.2 | 110.0 43.33 32.0 89.6 | 40.0 4.44 31.0 87.8 | 30.0 -1.11 Viết chương trình thực hiện các yêu cầu sau: - Định nghĩa một phương thức xác định xem một số nguyên có phải là số nguyên tố hay không có dòng tiêu đề như sau: public static boolean isPrime(int num) - Sử dụng phương thức trên để đưa ra các số nguyên tố nhỏ hơn một số nguyên n nhập vào từ bàn phím. Viết chương trình thực hiện các yêu cầu sau: - Định nghĩa phương thức đệ quy tính tổng: - Đưa ra màn hình bảng sau: i m(i) 1 0.5 2 1.1667 19 15.4523 20 16.4023 Viết chương trình thực hiện các yêu cầu sau: - Định nghĩa phương thức đệ quy USCLN(m, n) tìm ước số chung lớn nhất của hai số nguyên dương m, n theo công thức sau: Nếu m % n = 0 thì USCLN(m, n) = n Trái lại, USCLN(m, n) = USCLN(n, m % n) - Sử dụng phương thức trên để tìm ước số chung lớn nhất của hai số nguyên dương a, b nhập vào từ bàn phím. Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp MyUtils chứa các phương thức sau: 1. Phương thức tính gần đúng ex với độ chính xác eps theo công thức: Phương thức này có dòng tiêu đề như sau: public static float exp(float x,float esp) 2. Phương thức tính gần đúng số e với độ chính xác eps theo công thức: Phương thức này có dòng tiêu đề như sau: public static float tinhE(float esp) 3. Phương thức tính gần đúng số p với n số hạng đầu tiên theo công thức: Phương thức này có dòng tiêu đề như sau: public static float tinhPI(int n) - Để lớp MyUtils trong một tệp và đóng gói lớp này với tên là: TênSV.fita.MyUtils trong đó TênSV lấy chữ cái đầu tiên của họ và đệm ghép với tên, ví dụ Nguyễn Thanh Bình thì TênSV là ntbinh. - Viết chương trình có sử dụng thử các phương thức trong lớp MyUtils. BÀI TẬP CHƯƠNG 5 Viết chương trình nhập vào một dãy có n số. Tính trung bình của dãy số, đưa trung bình và các số lớn hơn trung bình ra màn hình. Viết chương trình tạo ra 100 số nguyên ngẫu nhiên nằm giữa 0 và 9. Đếm số lần xuất hiện của từng số. Viết chương trình nhập vào một dãy gồm n số nguyên, lưu dãy số này trong một mảng, truyền mảng cho một phương thức, phương thức trả về một mảng chứa các số theo thứ tự ngược với dãy số ban đầu. Đưa dãy số nhập vào ban đầu và dãy số trả về từ phương thức ra màn hình. Viết chương trình thực hiện các yêu cầu sau: - Định nghĩa phương thức cộng hai ma trận có cùng kích thước có đối số là 2 ma trận cần tính tổng và trả về ma trận tổng. - Định nghĩa phương thức in một ma trận ra màn hình theo hàng và cột. Ma trận cần in được truyền cho phương thức qua đối số. - Từ chương trình chính nhập vào hai ma trận có kích thước m´n. Gọi phương thức để tính tổng hai ma trận. Gọi phương thức để đưa hai ma trận đã nhập và ma trận tổng ra màn hình. Viết chương trình thực hiện các yêu cầu sau: - Định nghĩa phương thức nhân hai ma trận Am´n và Bn´p có đối số là 2 ma trận cần tính tích và trả về ma trận tích. Trong phương thức nhân hai ma trận có kiểm tra sự hợp lệ về kích thước của hai ma trận cần tính tích. - Định nghĩa phương thức in một ma trận ra màn hình theo hàng và cột. Ma trận cần in được truyền cho phương thức qua đối số. - Từ chương trình chính nhập vào ma trận Am´n và Bn´p. Tính Cm´p = Am´n ´ Bn´p. Đưa các ma trận ra màn hình. Viết chương trình thực hiện các yêu cầu sau: - Định nghĩa hai phương thức chồng để tính trung bình cộng các phần tử của một mảng int và một mảng double. Hai phương thức này có dòng tiêu đề như sau: public static float average(int[] array); public static double average(double[] array); - Từ chương trình chính nhập vào một dãy n số nguyên và một dãy m số thực. Gọi hai phương thức trên để đưa ra trung bình cộng các số của hai dãy đã nhập. BÀI TẬP CHƯƠNG 6 Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp đối tượng hình chữ nhật có tên là Rectangle theo lược đồ UML dưới đây: Rectange - width: double Chiều rộng hình chữ nhật - height: double Chiều dài hình chữ nhật - color: String Màu hình chữ nhật + Rectange() Tạo HCN có c.dài = 1, c.rộng = 1 + Rectange(width: double, height: double, color: String) Tạo HCN có c.dài, c.rộng xác định qua tham số + getWidth() :double Trả về chiều rộng + setWidth(width:double): void Thiết lập chiều rộng mới + getHeight(): double Trả về chiều dài + setHeight(height:double): void Thiết lập chiều dài mới + getColor(): String Trả về màu của HCN + setColor(color): void Thiết lập màu mới cho HCN + findArea(): double Tính và trả về diện tích HCN + findPerimeter(): double Tính và trả về chu vi HCN - Từ chương trình chính, tạo một đối tượng hình chữ nhật với kích thước và màu sắc nhập vào từ bàn phím. Đưa ra màn hình các thuộc tính, diện tích và chu vi của đối tượng hình chữ nhật đã tạo. Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp đối tượng ngăn xếp chứa các số nguyên có tên là StackOfIntergers theo lược đồ UML dưới đây: StackOfIntegers - elements: int[] Mảng chứa các số nguyên trong stack - size: int Số lượng số nguyên đang chứa trong stack + StackOfIntegers() Tạo một stack rỗng có dung lượng = 16 + StackOfIntegers (capacity: int) Tạo một stack rỗng có dung lượng xác định trong tham số + isEmpty(): boolean Trả về true nếu stack rỗng + isFull(): boolean Trả về true nếu stack đầy + peak(): int Trả về số nguyên ở đỉnh stack + push(value:int): void Đẩy một số nguyên vào đỉnh stack + pop(): int Lấy ra và trả về số nguyên tại đỉnh stack + getSize(): int Trả về số lượng số nguyên đang chứa trong stack - Viết chương trình sử dụng lớp StackOfIntergers để đưa ra màn hình tất cả các số nguyên tố nhỏ hơn một số nguyên dương n (nhập vào từ bàn phím) theo thứ tự giảm dần. Tạo lớp StackOfIntergers như bài 28. Viết chương trình nhập vào một số nguyên dương rồi hiển thị các thừa số nguyên tố nhỏ nhất của nó theo thứ tự ngược. Ví dụ, nếu số nguyên là 120, các thừa số nguyên tố nhỏ nhất được hiển thị là 5, 3, 2, 2, 2. Sử dụng lớp StackOfIntergers để chứa các thừa số rồi lấy và hiển thị chúng theo thứ tự ngược. Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp đối tượng ngăn xếp chứa các ký tự có tên là StackOfChars theo lược đồ UML dưới đây: StackOfChars - elements: char[] Mảng chứa các ký tự trong stack - size: int Số lượng ký tự đang chứa trong stack + StackOfChars() Tạo một stack rỗng có dung lượng = 16 + StackOfChars (capacity: int) Tạo một stack rỗng có dung lượng xác định trong tham số + isEmpty(): boolean Trả về true nếu stack rỗng + isFull(): boolean Trả về true nếu stack đầy + peak(): char Trả về ký tự ở đỉnh stack + push(ch:char): void Đẩy một ký tự vào đỉnh stack + pop(): char Lấy ra và trả về ký tự tại đỉnh stack + getSize(): int Trả về số lượng ký tự đang chứa trong stack - Viết chương trình sử dụng lớp StackOfChars để tính giá trị của biểu thức số học dạng trung tố có dấu ngoặc đầy đủ. Giả sử trong biểu thức số học chỉ chứa các phép toán cộng, trừ, nhân, chia và các số hạng là các số chỉ có một chữ số. Ví dụ: Nhập vào biểu thức số học ((3+7)×(9-(6-2))), đưa ra kết quả là 50. Tạo lớp StackOfChars như bài 30. Viết chương trình sử dụng lớp StackOfChars để chuyển một biểu thức dạng trung tố về dạng hậu tố. Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp đối tượng điểm trong mặt phẳng tọa độ OXY có tên là MyPoint theo lược đồ UML dưới đây: MyPoint - x: double Tọa độ x - y: double Tọa độ y + MyPoint() Tạo đối tượng mặc định + MyPoint(x: double, y: double) Tạo đối tượng có tọa độ xđ trong tham số + MyPoint(p: MyPoint) Tạo đối tượng là bản sao của đối tượng trong t.số + getX(): double Trả về tọa độ X + getY(): double Trả về tọa độ Y + distance(secondPoint: MyPoint): double Trả về khoảng cách từ điểm này tới điểm thứ hai + distance(p1: MyPoint, p2: MyPoint): double Trả về khoảng cách giữa hai điểm - Viết chương trình tạo n đối tượng điểm MyPoint có tọa độ nhập vào từ bàn phím. Tìm hai điểm có khoảng cách lớn nhất. Đưa ra màn hình tọa độ của hai điểm tìm được và giá trị khoảng cách giữa chúng. Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp đối tượng ma trận có tên là Matrix theo lược đồ UML dưới đây: Matrix - a: float[][] Mảng chứa các phần tử của ma trận + Matrix() Tạo ma trận có số hàng và số cột bằng 3 + Matrix(rows: int, cols : int) Tạo ma trận có số hàng và số cột xđ trong tham số + add(m: Matrix): Matrix Tính tổng ma trận này với ma trận trong tham số, trả về ma trận tổng. Trong phương thức có kiểm tra sự hợp lệ về số hàng, số cột của hai ma trận. + sub(m: Matrix): Matrix Tính hiệu ma trận này với ma trận trong tham số, trả về ma trận hiệu. Trong phương thức có kiểm tra sự hợp lệ về số hàng, số cột của hai ma trận. + neg(): Matrix Đổi dấu các phần tử của ma trận, trả về ma trận đã đổi dấu các phần tử + transpose(): Matrix Trả về ma trận chuyển vị + mul(m: Matrix): Matrix Tính tích ma trận này với ma trận trong tham số, trả về ma trận tích. Trong phương thức có kiểm tra sự hợp lệ về số hàng, số cột của hai ma trận. + print(): void Đưa ma trận ra màn hình + input(): void Nhập vào các phần tử của ma trận - Viết chương trình sử dụng lớp Maxtrix để thực hiện một số phép toán về ma trận. Chương trình có các mục menu: 1. Tính tổng và hiệu hai ma trận; 2. Tính tích hai ma trận; 3. Tìm chuyển vị của một ma trận; 4. Kết thúc chương trình. Khi người sử dụng chọn các mục từ 1 đến 3 thì cho nhập vào ma trận, thực hiện tính toán và đưa ra kết quả; khi người sử dụng chọn 4 thì kết thúc chương trình. Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp đối tượng phân số có tên là PhanSo theo lược đồ UML dưới đây: PhanSo - ts: int Tử số - ms: int Mẫu số + PhanSo() Tạo phân số có tử số bằng 0, mẫu số bằng 1 + PhanSo(ts: int, ms: int) Tạo phân số có tử số và mẫu số xđ trong tham số + cong(sp2: PhanSo): PhanSo Cộng hai phân số + tru(sp2: PhanSo): PhanSo Trừ hai phân số + nhan(sp2: PhanSo): PhanSo Nhân hai phân số + chia(sp2: PhanSo): PhanSo Chia hai phân số + nghichDao(): PhanSo Nghịch đảo phân số và trả về phân số nghịch đảo + doiDau(): PhanSo Đổi dấu phân số và trả về phân số đã đổi dấu + toiGian(): PhanSo Tối giản phân số và trả về phân số đã tối giản + bangNhau(ps2: PhanSo): boolean So sánh bằng + lonHon(ps2: PhanSo): boolean So sánh lớn hơn + nhoHon(ps2: PhanSo): boolean So sánh nhỏ hơn + hien(): void Đưa phân số ra màn hình ở dạng ts/ms + nhap(): void Nhập vào phân số dạng ts/ms - Viết chương trình sử dụng lớp PhanSo. Nhập vào hai phân số; tính tổng, hiệu, tích, thương hai phân số; tối giản và so sánh hai phân số. Viết chương trình thực hiện các yêu cầu sau: - Tạo lớp đối tượng số phức có tên là SoPhuc theo lược đồ UML dưới đây: SoPhuc Số phức a + jb - a: float Phần thực a - b: float Phần ảo b + SoPhuc() Tạo số phức có phần thực và ảo bằng 0 + SoPhuc(thuc: float, ao: float) Tạo số phức có phần thực và ảo xđ trong tham số + cong(sp2: SoPhuc): SoPhuc Cộng hai số phức + tru(sp2: SoPhuc): SoPhuc Trừ hai số phức + nhan(sp2: SoPhuc): SoPhuc Nhân hai số phức + chia(sp2: SoPhuc): SoPhuc Chia hai số phức + nghichDao(): SoPhuc Trả về số phức nghịch đảo + bangNhau(sp2: SoPhuc): boolean So sánh bằng + lonHon(sp2: SoPhuc): boolean So sánh lớn hơn + nhoHon(sp2: SoPhuc): boolean So sánh nhỏ hơn + hien(): void Đưa số phức ra màn hình ở dạng a + jb + nhap(): void Nhập vào số phức dạng a + jb - Viết chương trình sử dụng lớp SoPhuc. Nhập vào hai số phức; tính tổng, hiệu, tích, thương hai số phức; tính nghịch đảo và so sánh hai số phức. BÀI TẬP CHƯƠNG 7 Viết chương trình thực hiện các yêu cầu sau: - Viết phương thức chuyển một số hex cho dưới dạng xâu ký tự thành số nguyên thập phân. Tiêu đề của phương thức có dạng sau: int parseHex(String hexString). - Viết chương trình nhập vào 1 số hex dưới dạng xâu, gọi phương thức parseHex() để chuyển thành số nguyên thập phân và đưa kết quả ra màn hình. Viết chương trình thực hiện các yêu cầu sau: - Viết phương thức chuyển một số nhị phân cho dưới dạng xâu ký tự thành số nguyên thập phân. Tiêu đề của phương thức có dạng sau: int parseBin(String binString) - Viết chương trình nhập vào 1 số nhị phân dưới dạng xâu ký tự, gọi phương thức parseBin() để chuyển thành số nguyên thập phân và đưa kết quả ra màn hình. Viết chương trình thực hiện các yêu cầu sau: - Viết phương thức chuyển một số nguyên dương thập phân thành số hex và số nhị phân dưới dạng xâu ký tự. Tiêu đề của các phương thức có dạng sau: String convertDecimalToHex(int value) String convertDecimalToBin(int value) - Viết chương trình nhập vào 1 số nguyên dương, gọi phương thức này để chuyển thành số hex và số nhị phân. Đưa các kết quả ra màn hình. Viết chương trình nhập vào một xâu ký tự. Đếm xem trong xâu đó có bao nhiêu từ. Biết rằng các từ phân cách nhau bởi dấu cách và các dấu chấm câu. Đưa kết quả ra màn hình. Viết chương trình nhập vào một dãy số thực dưới dạng xâu ký tự, các số thực phân cách nhau bởi ít nhất một dấu cách. Tính tổng các số thực và đưa kết quả ra màn hình. BÀI TẬP CHƯƠNG 8 Viết chương trình thực hiện các yêu cầu sau: - Tạo các lớp đối tượng hình chữ nhật (hinhCN), hình tam giác (hinhTG), hình tròn (hinhTron) kế thừa từ lớp hình (Hinh). Lớp hình chữ nhật có 2 cạnh, lớp hình tam giác có 3 cạnh, lớp hình tròn có bán kính, lớp hình không có dữ liệu. Tất cả các lớp đều có phương thức tính diện tích (tinhDT) và tính chu vi (tinhCV). - Viết chương trình nhập vào kích thước một số hình. Tính diện tích và chu vi các hình. Đưa ra màn hình kích thước cùng diện tích và chu vi của các hình. Trong chương trình có cài đặt đa hình động. Tạo lớp StackOfObjects để lưu các đối tượng. Viết chương trình sử dụng lớp StackOfObjects để đưa ra màn hình các thừa số nguyên tố tối thiểu của một số nguyên n theo thứ tự giảm dần. Tạo một giao diện (interface) có tên là SoSanh và có các phương thức để so sánh nhỏ hơn (nhoHon), so sánh bằng (bangNhau) và so sánh lớn hơn (lonHon). Tạo các lớp hình chữ nhật (HinhCN), hình tam giác (HinhTG) và hình tròn (HinhTron) thực hiện (implements) giao diện SoSanh. Biết rằng lớp hình chữ nhật có hai cạnh, lớp hình tam giác có ba cạnh, lớp hình tròn có bán kính và các hình so sánh với nhau dựa vào diện tích. Viết chương trình nhập vào kích thước một số hình. Sử dụng các phương thức của giao diện SoSanh để sắp xếp các hình theo kích thước giảm dần.
Tài liệu đính kèm: