bài tập chương trình chứng chỉ lập trình java & j2ee - nhập môn lập trình với java jpcb - đh khoa học tự nhiên

18 786 0
bài tập chương trình chứng chỉ lập trình java & j2ee - nhập môn lập trình với java jpcb - đh khoa học tự nhiên

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRUNG TÂM TIN HỌC – ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM 227 Nguyễn Văn Cừ - Quận 5- Tp.Hồ Chí Minh Tel: 8351056 – Fax 8324466 – Email: ttth@hcmuns.edu.vn BÀI TẬP CHƯƠNG TRÌNH CHỨNG CHỈ LẬP TRÌNH JAVA & J2EE Mơn học: NHẬP MƠN LẬP TRÌNH VỚI JAVA - JPCB Mã tài liệu: DT_NCM_LT_BT_JPCB Phiên 1.0 – Tháng 10/2009 Bài tập BÀI 1: Giới thiệu lập trình Java  1.1 Giúp học viên biết cách cấu hình, biên dịch thực thi ứng dụng Java sử dụng JDK.Làm quen với cách viết chương trình Java Bài Cài đặt cấu hình Java 1.2 Bài Viết ứng dụng xuất hình lời chào “Hello World!!!” 1.3 Bài 3: Viết ứng dụng cho phép nhập vào tên người xuất lời chào Ví dụ: Nhập họ tên: Văn Phú Cường Xin chào Văn Phú Cường 1.4 Bài Viết ứng dụng cho phép nhập vào hai số nguyên in tổng chúng Ví dụ: Nhập số thứ nhất: Nhập số thứ hai: 10 Kết quả: + 10 = 15 Nhập môn lập trình Java - JPCB Trang 2/18 Bài tập BÀI 2: Ngôn ngữ Java  2.1 Giúp học viên nắm khái niệm Java đối tượng, lớp, kiểu liệu, chuyển kiểu liệu, biến hằng, toán tử, cấu trúc điều khiển Bài 1: Có sai đoạn lệnh sau? Hãy cho biết cách khắc phục lỗi để cộng vào tổng x + y System.out.println( ++(x + y) ); 2.2 Bài 2: Lập trình cho phép nhập vào từ bàn phím độ dài cạnh a, b, c tam giác Sau tính diện tích tam giác xuất kết hình 2.3 Bài 3: Lập trình cho phép nhập vào từ bàn phím chiều dài, chiều rộng hình chữ nhật Thực yêu cầu sau: a) Tính chu vi b) Tính diện tích Sau xuất kết hình 2.4 Bài 4: Lập trình cho phép nhập vào từ bàn phím số ngun dương có ký số Sau tính xuất hình số nút số vừa nhập Ví dụ: num = 2873 → số nút = (Bù) num = 1025 → số nút = 2.5  Bài (Data encryption and Decryption) Mơ tả: Nhập mơn lập trình Java - JPCB Trang 3/18 Bài tập Một công ty muốn truyền liệu qua đường mạng nhiên họ sợ liệu bị đánh cắp Công ty thuê lập trình viên để giải vấn đề Sau xem xét lập trình viên định lựa chọn chiến lược mã hóa (encrypt) liệu trước truyền mạng liệu mã hóa có bị đánh cắp khơng biết có ý nghĩa Dữ liệu gởi chia thành nhóm gồm chữ số Ứng dụng lập trình viên đọc số nguyên có chữ số Sau số mã hóa theo bước sau: (1) thay kí số tổng với lấy phần dư cho 10 (2) Đảo vị trí kí số thứ với kí số thứ 3, kí số thứ kí số thứ Ví dụ: số ban đầu 1093 mã hóa thành 6087 Kết mã hóa sau in hình Yêu cầu: Hãy viết hai chương trình  Chương trình 1: mã hóa số nhập vào chương trình  Chương trình 2: giả mã (decryption) số nhập vào để tính giá trị ban đầu 2.6 Bài 6: Lập trình cho phép nhập vào từ bàn phím số ngun dương a b Sau xuất hình số lớn 2.7 Bài 7: Viết chương trình cho người dung nhập vào ba số khác khơng Sau kiểm tra xem chúng có tạo thành ba cạnh tam giác hay không? 2.8 Bài 8: Viết chương trình cho người dung nhập vào ba số nguyên dương Sau kiểm tra xem chúng có tạo thành ba cạnh tam giác hay không, có xuất loại tam giác: thường, vng, cân, ? 2.9 Bài 9: Xác định lỗi đoạn chương trình sau: (Chú ý: Có thể có nhiều lỗi đoạn chương trình) a) if ( tuoi >= 65 ); Nhập mơn lập trình Java - JPCB Trang 4/18 Bài tập System.out.println( "Tuoi >= 65" ); else System.out.println( "Tuoi < 65 )"; b) switch ( songuyen % ){ case 0: System.out.println( "So nguyen chan" ); case 1: System.out.println( "So nguyen le" ); } 2.10 Bài 10: (Dangling-else Problem) Xác định kết đoạn mã bên với trường hợp: (I) x = y = 11 (II) x = 11 y = Sau hồn tất tốn rút học cho việc viết chương trình sử dụng Java a) if ( x < 10 ) if ( y > 10 ) System.out.println( "*****" ); else System.out.println( "#####" ); System.out.println( "$$$$$" ); b) if ( x < 10 ) { if ( y > 10 ) System.out.println( "*****" ); } Nhập mơn lập trình Java - JPCB Trang 5/18 Bài tập else { System.out.println( "#####" ); System.out.println( "$$$$$" ); 10 } 2.11 Bài 11: Để xác định nhiệt độ môi trường, thông thường người ta thường sử dụng thang độ Celsius (0C) Tuy nhiên, khoa học, nhà khoa học sử dụng hệ Fahrenheit (0F) Công thức để chuyển từ thang độ Celsius sang Fahrenheit: C = 5.0 / 9.0 * ( F - 32 ); Ngược lại, để chuyển từ độ fahrenheit sang hệ Celsius ta sử dụng công thức: F = 9.0 / 5.0 * C + 32; Hãy viết chương trình cho phép người dùng nhập vào thang độ với giá trị nhiệt độ Sau tính tốn in nhiệt độ thang độ lại 2.12 Bài 12: Giải tốn tìm nghiệm phương trình bậc 2: ax2 + bx + c = 0, với a ≠ 2.13 Bài 13: Lập trình cho phép nhập vào từ bàn phím điểm mơn học Tốn, Lý, Hố Tính điểm trung bình xuất hình thơng tin theo yêu cầu sau: Nếu điểm trung bình >= → “đạt”, ngược lại: “khơng đạt” Biết rằng: Tốn có hệ số 3, Lý có hệ số 2, Hố có hệ số 2.14 Bài 14: Lập trình cho phép nhập vào từ bàn phím tháng, năm Xét tháng năm vừa nhập có hợp lệ hay khơng Nếu hợp lệ → xuất hình số ngày tháng Ghi chú:  Nếu năm nhuận tháng có 29 ngày, ngược lại có 28 ngày Tháng 1, 3, 5,7,8,10,12: có 31 ngày Ngồi ra, tháng cịn lại có 30 ngày  Năm nhuận năm chia hết cho không chia hết cho 100 chia hết cho 400 Nhập mơn lập trình Java - JPCB Trang 6/18 Bài tập 2.15 Bài 15: Lập trình cho phép nhập vào từ bàn phím thơng tin sau: Phép toán cần thực (1 cộng ; trừ ; nhân; chia) Các số hạng : so_hang1, so_hang_2 số thực Chú ý: trường hợp phép tốn chọn phép chia so_hang_2 ≠ u cầu: tính tốn xuất hình kết tương ứng Mở rộng: cho phép người dùng lặp lại xử lý 2.16 Bài 16: Tìm sửa lỗi đoạn chương trình sau: a) for ( i = 100, i >= 1, i++ ) System.out.println( i ); b) for ( i = 19; i >= 1; i += ) System.out.println( i ); c) counter = 2; do{ System.out.println( counter ); counter += ; } While ( counter < 100 ); d) int x = 1, total; while ( x 0 Tính số nút n 2.20 Bài 20: Lập trình cho phép nhập vào từ bàn phím số ngun dương n Xét n có phải số nguyên tố Phát triển toán để in tất số nguyên tố nhỏ n Ghi chú: số nguyên tố số nguyên dương chia hết cho 2.21 Bài 21: Trong Java, để sinh số ngẫu nhiên (nghĩa giá trị khơng biết trước chạy giống việc gieo súc sắc) người ta sử dụng phương thức random() lớp Math Phương thức random() sinh số thực ngẫu nhiên có giá trị khoảng [0,1) Ví dụ sau cho biết cách số nguyên ngẫu nhiên đoạn [0,6): int face = (int)(Math.random() * 6) Sử dụng kiến thức vừa trình bày để tính xác suất xuất có mặt súc sắc có mặt gieo súc sắc 1000 lần sau xuất kết hình Ví dụ kết kết xuất: 1: 25% 2: 15% 3: 8% 4: 12.5% 5: 27% 6: 12.5% 2.22 Bài 21: Viết chương trình nhập vào số N in hình sau (ví dụ n = 4) Nhập mơn lập trình Java - JPCB Trang 9/18 Bài tập Nhập môn lập trình Java - JPCB Trang 10/18 Bài tập BÀI 3: Array String  Giúp học viên làm quen với thao tác xử lý mảng thao tác xử lý chuỗi 3.1 Bài Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử ngun Xuất hình mảng a vừa nhập 3.2 Bài Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử nguyên Đếm số lượng phần tử chẵn/ lẻ mảng 3.3 Bài Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử ngun Nhập số nguyên x, đếm số lần xuất x mảng 3.4 Bài Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử ngun Tính trung bình cộng phần tử chẵn/ lẻ mảng 3.5 Bài Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử nguyên Đếm số phần tử số nguyên tố mảng 3.6 Bài Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử dương Nhập vào số nguyên x Nhập vào vị trí cần chèn x vào mảng a Chèn x vào mảng a vị trí định, xuất mảng a hình 3.7 Bài Nhập mơn lập trình Java - JPCB Trang 11/18 Bài tập Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử nguyên Sắp xếp mảng a theo thứ tự tăng dần/ giảm dần 3.8 Bài Viết chương trình cho phép nhập từ bàn phím mảng a có n phần tử nguyên Xuất hình phần tử dương nhỏ phần tử âm lớn Lưu ý: xuất thông báo không tồn phần tử thỏa yêu cầu 3.9 Bài 9: Nhập vào chuỗi số cách khoảng trắng ví dụ: 21 Xử lý chuỗi nhập để tạo mảng số Yêu cầu:  Sử dụng phương thức lớp String  Sử dụng StringTokenizer Nhập mơn lập trình Java - JPCB Trang 12/18 Bài tập BÀI 4: Lập trình hướng đối tượng với Java  4.1 Giúp học viên biết cách khai báo class, property, method Cách khởi tạo object Áp dụng toán từ để thực phép toán Bài 1: Trong toán học, số phức số tạo thành từ hai thành phần: phần thực (real) phần ảo (imaginary) viết dạng a + bi, a b số thực, i số đặc biệt thỏa điều kiện i2 = -1 Hình 1: Biểu diễn số phức mặt phẳng Một số phức x = a + bi biểu diễn mặt phẳng tọa độ Hình Trục hoành gọi trục thực trục tung gọi trục ảo Với cách biểu diễn số phức mặt phẳng, gọi khoảng cách (modulus) từ số phức đến gốc tọa độ r dễ dàng nhận thấy r = a  b Góc (argument) kí hiệu φ góc hợp số phức so với trục hồnh Có thể dễ dàng áp dụng phép toán lên số phức Các số phức cộng, trừ, nhân chia với để tạo nên số phức khác Giả sử có hai số phức x = a + bi y = c + di Tổng hai số phức số phức có dạng: z  ( a  bi )  (c  di )  (a  c)  (b  d )i (1) Tương tự, phép trừ hai số phức, cho công thức Nhập mơn lập trình Java - JPCB Trang 13/18 Bài tập z  ( a  bi )  (c  di )  ( a  c )  (b  d )i (2) Để tiến hành phép nhân hai số phức, cần khai triển tích hai số phức đồng thời ý i2 = -1 Sau tiến hành đặt thừa số chung, kết cho (3) z  ( a  bi) * (c  di)  ac  adi  bci  bdi  (ac  bd )  ( ad  bc)i (3) Để thực phép chia hai số phức, ý đẳng thức a2 - b2 = (a – b)(a+b) Dựa vào nhận xét để tiến hành chia hai số phức, ta làm sau: a  bi c  di ( a  bi )(c  di )  (c  di )(c  di ) ac  bd bc  ad   i c  d c2  d z (4) Với mô tả số phức trên, học viên sử dụng ngôn ngữ Java, khai báo lớp Complex với đặc điểm (property) phương thức (method) để thực phép toán số phức Để kiểm tra phương thức viết, học viên tạo số phức để thử nghiệm phương thức thực 4.2 Bài 2: Tạo lớp Nhanvien gồm ba thông tin là: honv (kiểu String), tennv (kiểu String) luong (kiểu double) Lớp có constructor (hàm tạo) để khởi tạo ba thông tin Cung cấp phương thức set get (set and get method) cho thông tin Nếu luong nhỏ 0, gán thành 0.0 Viết chương trình để tạo hai đối tượng Nhanvien hiển thị thơng tin đối tượng Sau tăng lương nhân viên 10% lặp lại trình in thơng tin nhân viên 4.3 Bài Nhập mơn lập trình Java - JPCB Trang 14/18 Bài tập Tạo class tên Date có thơng tin là: month (kiểu int), day (kiểu int) year (kiểu int) Lớp có constructor (hàm tạo) để khởi tạo thông tin Cung cấp phương thức set get cho thơng tin Ngồi ra, lớp có thêm phương thức displayDate để hiển thị month, day year theo định dạng month/day/year (ví dụ: 9/11/2009) Viết chương trình để tạo đối tượng lớp Date vừa thực sau gọi phương thức vừa thực 4.4 Bài Xây dựng lớp Diem2D mặt phẳng tọa độ Oxy  Thuộc tính: x, y tung độ hoành độ  Phương thức: o Nhap(): nhập tung độ hoành độ o Xuat(): xuất tung độ hoành độ o Xuất theo định dạng (x, y) (VD: x = y = xuất (5,8)) o TinhKhoangCach(): tính khoảng cách từ điểm hành tới điểm khác Tính bậc hai: dùng phương thức sqrt() lớp Math (ví dụ: Math.sqrt(8) ~2.83) Cơng thức tính khoảng cách điểm A(xa,ya), B(xb,yb) mặt phẳng tọa độ Oxy Khoảng cách = Math.sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb)) 4.5 Bài Xây dựng lớp HinhTron2D mặt phẳng tọa độ Oxy  Thuộc tính: O điểm tâm, R điểm hình trịn có kiểu Diem2D (bán kính khoảng cách từ O đến R)  Phương thức: o o Xuat(): xuất đỉnh o TinhChuVi(): tính chu vi hình trịn o 4.6 Nhap(): nhập điểm O R TinhDienTich(): tính diện tích hình trịn Bài Nhập mơn lập trình Java - JPCB Trang 15/18 Bài tập Xây dựng lớp TamGiac2D mặt phẳng tọa độ Oxy  Thuộc tính: A, B, C đỉnh có kiểu Diem2D  Phương thức: o o Xuat(): xuất đỉnh o TinhChuVi(): tính chu vi tam giác o 4.7 Nhap(): nhập đỉnh TinhDienTich(): tính diện tích tam giác Bài Xây dựng lớp HinhChuNhat2D mặt phẳng tọa độ Oxy  Thuộc tính: A, C hai đỉnh đối diện có kiểu Diem2D (2 cạnh hình chữ nhật song song với trục toa độ)  Phương thức: o Nhap(): nhập đỉnh o Xuat(): xuất đỉnh o TinhChuVi(): tính chu vi hình chữ nhật o TinhDienTich(): tính diện tích hính chữ nhật Nhập mơn lập trình Java - JPCB Trang 16/18 Bài tập BÀI 5: Tính thừa kế (Inheritance) tính đa hình (Polymorphism)  Giúp học viên thành thạo việc xây dựng class kế thừa từ class khác hiểu rõ tính đa hình class 5.1 Bài 1: Hiện thực mối quan hệ kế thừa Hinh2D, HinhTronD, HinhTamGiac2D, HinhChuNhat2D HinhVuong2D Cung cấp thuộc tính, phương thức in thơng tin, tính diện tích, chu vi áp dụng tính đa hình cho tốn 5.2 Bài 2: Xây dựng ứng dụng quản lý lương công ty Z Thông tin chung nhân viên gồm: mã NV, họ NV, tên NV, ngày sinh, địa chỉ, ngày vào làm Lương tính sau: Nhân viên văn phịng: lương x hệ số lương Nhân viên sản xuất: số sản phẩm x đơn giá Với nhân viên có < tuổi: trợ cấp 5% lương Yêu cầu: nhập danh sách nhân viên (gồm nhân viên văn phịng nhân viên sản xuất), tính lương xuất kết sau: Nhân viên: 001, Họ tên: Nguyễn Văn A , Ngày sinh: 1/1/1975, Ngày vào làm: 2/2/2000 Loại NV: NVVP, Lương: 3500000 Nhân viên: 002, Họ tên: Nguyễn Văn B , Ngày sinh: 12/5/1980, Ngày vào làm: 6/28/2005 Loại NV: NVSX, Lương: 2500000 Nhân viên: 003, Họ tên: Nguyễn Văn C , Ngày sinh: 6/14/1982, Ngày vào làm: 4/16/2004 Loại NV: NVVP, Lương: 2500000 Nhập mơn lập trình Java - JPCB Trang 17/18 Bài tập BÀI 6: Exception  Giúp học viên biết cách xử lý lỗi chương trình có khả xảy lỗi 6.1 Bài 1: Thêm mã xử lý lỗi cho đoạn code có khả xảy lỗi, áp dụng vào tập Nhập môn lập trình Java - JPCB Trang 18/18 ... 6: 12.5% 2.22 Bài 21: Viết chương trình nhập vào số N in hình sau (ví dụ n = 4) Nhập mơn lập trình Java - JPCB Trang 9/18 Bài tập Nhập mơn lập trình Java - JPCB Trang 10/18 Bài tập BÀI 3: Array... phép nhập vào hai số nguyên in tổng chúng Ví dụ: Nhập số thứ nhất: Nhập số thứ hai: 10 Kết quả: + 10 = 15 Nhập môn lập trình Java - JPCB Trang 2/18 Bài tập BÀI 2: Ngôn ngữ Java  2.1 Giúp học. .. lý chuỗi nhập để tạo mảng số Yêu cầu:  Sử dụng phương thức lớp String  Sử dụng StringTokenizer Nhập môn lập trình Java - JPCB Trang 12/18 Bài tập BÀI 4: Lập trình hướng đối tượng với Java  4.1

Ngày đăng: 05/07/2014, 16:02

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan