Bài tập – Bài 1 (Java)

Bài tập 1: Lọc và tính tổng các số nguyên tố trong mảng

  • Yêu cầu:

    • Nhập từ bàn phím số nguyên dương n (n > 0) và cấp phát mảng số nguyên gồm n phần tử.

    • Nhập giá trị cho từng phần tử trong mảng.

    • Viết thuật toán kiểm tra số nguyên tố (số chỉ chia hết cho 1 và chính nó, lớn hơn 1).

    • Duyệt mảng, liệt kê toàn bộ các số nguyên tố có trong mảng và tính tổng giá trị của các số nguyên tố đó.

  • Gợi ý kiểm thử: Mảng nhập [3, 8, 5, 12, 7, 9] -> Các số nguyên tố là: 3, 5, 7 ->Tổng: 15.

Bài tập 2: Thống kê số chẵn/lẻ và tính trung bình cộng theo vị trí chỉ số

  • Yêu cầu:

    • Nhập mảng số thực gồm n phần tử từ bàn phím.

    • Đếm xem mảng có bao nhiêu phần tử mang giá trị âm, bao nhiêu phần tử mang giá trị dương.

    • Tính trung bình cộng của các phần tử nằm ở vị trí chỉ số chẵn trong mảng (các chỉ số i = 0, 2, 4,...).

    • In kết quả tính toán ra màn hình, làm tròn 2 chữ số thập phân bằng System.out.printf.

  • Gợi ý kiểm thử: Mảng [2.5, -3.0, 4.5, 6.0, 1.0] –> Các vị trí chẵn là: 2.5 (i=0), 4.5 (i=2), 1.0 (i=4) –> Trung bình cộng: (2.5 + 4.5 + 1.0) / 3 = 2.67.

Bài tập 3: Sắp xếp mảng số theo thứ tự tăng dần và tìm số lớn thứ hai

  • Yêu cầu:

    • Nhập mảng số nguyên $n$ phần tử ($n \ge 2$).

    • Cài đặt thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort hoặc Bubble Sort) bằng 2 vòng lặp for lồng nhau để sắp xếp mảng theo thứ tự tăng dần.

    • In mảng sau khi đã sắp xếp ra màn hình.

    • Dựa trên mảng đã sắp xếp, tìm và in ra giá trị của phần tử lớn thứ nhì trong mảng (lưu ý xử lý trường hợp có nhiều phần tử lớn nhất bằng nhau).

  • Gợi ý kiểm thử: Mảng ban đầu [15, 3, 9, 20, 20, 8] $\rightarrow$ Mảng sắp xếp: [3, 8, 9, 15, 20, 20] $\rightarrow$ Giá trị lớn thứ hai là: 15.

Bài tập 4: Thao tác mảng và thống kê điểm thi

  • Yêu cầu:

    • Thiết lập: Tạo project BaiTap2_ThongKeDiem.

    • Xử lý nhập liệu: Nhập số lượng học sinh n (n > 0). Cấp phát mảng số thực chứa điểm thi của n học sinh.

    • Xử lý nghiệp vụ:

      • Nhập điểm cho từng học sinh (kiểm tra điều kiện điểm hợp lệ trong khoảng từ 0.0 đến 10.0).

      • Tìm điểm số cao nhất và điểm số thấp nhất lớp.

      • Tính điểm thi trung bình của cả lớp.

      • Đếm số lượng học sinh đạt yêu cầu (điểm >=5.0).

    • Hiển thị: In danh sách điểm số và bảng tổng kết thống kê kết quả học tập ra màn hình console.

Bài tập 5: Thiết kế ứng dụng Console tính lương và quản trị nhân sự (Sản phẩm bắt buộc nộp)

  • Yêu cầu:

    • Khung giao diện: Sử dụng vòng lặp do - while kết hợp khối lệnh switch - case để duy trì menu điều khiển liên tục cho đến khi người dùng chọn thoát:

      ========================================
      HỆ THỐNG TÍNH LƯƠNG & QUẢN LÝ NHÂN SỰ
      ========================================
      1. Tính lương cho một nhân viên
      2. Nhập và thống kê bảng lương phòng ban
      3. Thoát chương trình
      Lựa chọn của bạn [1-3]: 
      
    • Nội dung chức năng 1 (Tính lương nhân viên đơn lẻ):

      • Nhập mã nhân viên, họ tên nhân viên, chức vụ, mức lương một ngày công, số ngày làm việc thực tế.

      • Xử lý bẫy lỗi trôi dòng khi chuyển từ việc nhập số ngày công sang đọc chuỗi chức vụ.

      • Lương chính = Số ngày làm việc * Lương một ngày.

      • Phụ cấp chức vụ: Nếu chức vụ là “Trưởng phòng” thì cộng 1.000.000 VNĐ; “Phó phòng” cộng 500.000 VNĐ; chức vụ khác không phụ cấp.

      • Thưởng chuyên cần: Nếu số ngày làm việc >=24 ngày, thưởng thêm 500.000 VNĐ.

      • Thực lĩnh = Lương chính + Phụ cấp + Thưởng.

      • In phiếu chi trả lương chi tiết ra màn hình.

    • Nội dung chức năng 2 (Thống kê bảng lương phòng ban):

      • Cho phép nhập danh sách tiền lương thực lĩnh của một mảng gồm m nhân sự.

      • Sắp xếp danh sách lương theo thứ tự giảm dần.

      • In danh sách lương sau sắp xếp và hiển thị mức lương cao nhất trong phòng ban.

    • Nội dung chức năng 3: Hiển thị lời chào tạm biệt và kết thúc chương trình an toàn.