Đoạn chương trình dưới đây báo lỗi là do?
class Employee{
final protected void display() {}
}
class Manager extends Employee {
public void display () {}
}
Trả lời:
Đáp án đúng: A
Lỗi xảy ra do phương thức `display()` trong lớp `Employee` được khai báo là `final protected`. Từ khóa `final` ngăn không cho phép ghi đè (override) phương thức này trong bất kỳ lớp con nào. Trong lớp `Manager`, chúng ta cố gắng ghi đè phương thức `display()`, điều này dẫn đến lỗi biên dịch.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Đoạn chương trình có lỗi ở dòng 5. Phép chia 1/sum(k) thực hiện phép chia hai số nguyên nếu cả 1 và sum(k) đều là số nguyên. Để phép chia trả về kết quả số thực, ít nhất một trong hai số phải là số thực. Do đó, cần ép kiểu 1 thành 1.0 hoặc 1f để thực hiện phép chia số thực.
Ngoài ra, cần khai báo biến tong ở dòng 9 là kiểu float.
Xét các dòng được đề cập:
- Dòng 3: Khai báo biến `N` và `k` kiểu `int` là hợp lệ.
- Dòng 4: Vòng lặp `for` với điều kiện `k <= N` là hợp lệ.
- Dòng 12: Trả về giá trị `tong` từ hàm `sum` là hợp lệ.
- Dòng 16: Vòng lặp `for` với điều kiện `j <= x` là hợp lệ.
- Dòng 2: Khai báo biến S là kiểu float là hợp lệ.
- Dòng 18: Trả về giá trị t từ hàm `tich` là hợp lệ.
Như vậy, đáp án đúng nhất là A.3, 9 (dù dòng 5 cũng có lỗi). Cần sửa dòng 5 thành S += 1.0/sum(k); và dòng 9 thành float tong = 0.0f;
Ngoài ra, cần khai báo biến tong ở dòng 9 là kiểu float.
Xét các dòng được đề cập:
- Dòng 3: Khai báo biến `N` và `k` kiểu `int` là hợp lệ.
- Dòng 4: Vòng lặp `for` với điều kiện `k <= N` là hợp lệ.
- Dòng 12: Trả về giá trị `tong` từ hàm `sum` là hợp lệ.
- Dòng 16: Vòng lặp `for` với điều kiện `j <= x` là hợp lệ.
- Dòng 2: Khai báo biến S là kiểu float là hợp lệ.
- Dòng 18: Trả về giá trị t từ hàm `tich` là hợp lệ.
Như vậy, đáp án đúng nhất là A.3, 9 (dù dòng 5 cũng có lỗi). Cần sửa dòng 5 thành S += 1.0/sum(k); và dòng 9 thành float tong = 0.0f;
Lời giải:
Đáp án đúng: C
Đoạn chương trình trên sử dụng vòng lặp `for` để duyệt các số từ 1 đến 99. Bên trong vòng lặp, có một câu lệnh `if` kiểm tra xem số hiện tại `k` có đồng thời chia hết cho 3 và 7 hay không (tức là chia hết cho 21). Nếu điều kiện này đúng, chương trình sẽ in ra số `k` cùng với một khoảng trắng.
Vậy, chương trình sẽ in ra các số chia hết cho 21 trong khoảng từ 1 đến 99. Các số đó là: 21, 42, 63, 84.
Do đó, đáp án đúng là A.
Vậy, chương trình sẽ in ra các số chia hết cho 21 trong khoảng từ 1 đến 99. Các số đó là: 21, 42, 63, 84.
Do đó, đáp án đúng là A.
Lời giải:
Đáp án đúng: C
Đoạn mã Java này có một vòng lặp `while` bên ngoài và một vòng lặp `for` bên trong. Ta sẽ theo dõi giá trị của `n` và `k` trong quá trình thực thi:
1. Khởi tạo: `n = 12`, `k = 2`
2. Vòng lặp `while` (k < n): Điều kiện `2 < 12` đúng, nên vòng lặp `while` được thực thi.
3. Vòng lặp `for` (k = 2; k <= n; k++):
- `k = 2`: Kiểm tra `n % k == 2` (tức là `12 % 2 == 2`). Điều này sai (vì `12 % 2 == 0`).
- `k = 3`: Kiểm tra `n % k == 2` (tức là `12 % 3 == 2`). Điều này sai (vì `12 % 3 == 0`).
- `k = 4`: Kiểm tra `n % k == 2` (tức là `12 % 4 == 2`). Điều này sai (vì `12 % 4 == 0`).
- `k = 5`: Kiểm tra `n % k == 2` (tức là `12 % 5 == 2`). Điều này đúng!
- In ra `k` (tức là 5).
- `n` được gán bằng `n / k` (tức là `n = 12 / 5 = 2` - vì là số nguyên nên kết quả là 2).
- `break`: Thoát khỏi vòng lặp `for`.
4. Quay lại vòng lặp `while` (k < n): Điều kiện `2 < 2` là sai. Do đó, vòng lặp `while` kết thúc.
Vậy, kết quả in ra là 5.
1. Khởi tạo: `n = 12`, `k = 2`
2. Vòng lặp `while` (k < n): Điều kiện `2 < 12` đúng, nên vòng lặp `while` được thực thi.
3. Vòng lặp `for` (k = 2; k <= n; k++):
- `k = 2`: Kiểm tra `n % k == 2` (tức là `12 % 2 == 2`). Điều này sai (vì `12 % 2 == 0`).
- `k = 3`: Kiểm tra `n % k == 2` (tức là `12 % 3 == 2`). Điều này sai (vì `12 % 3 == 0`).
- `k = 4`: Kiểm tra `n % k == 2` (tức là `12 % 4 == 2`). Điều này sai (vì `12 % 4 == 0`).
- `k = 5`: Kiểm tra `n % k == 2` (tức là `12 % 5 == 2`). Điều này đúng!
- In ra `k` (tức là 5).
- `n` được gán bằng `n / k` (tức là `n = 12 / 5 = 2` - vì là số nguyên nên kết quả là 2).
- `break`: Thoát khỏi vòng lặp `for`.
4. Quay lại vòng lặp `while` (k < n): Điều kiện `2 < 2` là sai. Do đó, vòng lặp `while` kết thúc.
Vậy, kết quả in ra là 5.
Lời giải:
Đáp án đúng: D
Đoạn chương trình in ra giá trị của k nếu biến đếm dem lớn hơn 1.
- Với k = 10, vòng lặp bên trong chạy từ n = 2 đến 10. Điều kiện k%n == 2 chỉ đúng khi n = 4 và n = 8. Khi đó dem = 2 > 1, chương trình in ra 10.
- Với k = 11, vòng lặp bên trong chạy từ n = 2 đến 11. Điều kiện k%n == 2 đúng khi n = 3 và n = 9. Khi đó dem = 2 > 1, chương trình in ra 11.
- Với k = 12, vòng lặp bên trong chạy từ n = 2 đến 12. Điều kiện k%n == 2 đúng khi n = 5 và n = 10. Khi đó dem = 2 > 1, chương trình in ra 12.
Vậy, chương trình in ra 101112. Không có đáp án nào đúng trong các lựa chọn đã cho.
- Với k = 10, vòng lặp bên trong chạy từ n = 2 đến 10. Điều kiện k%n == 2 chỉ đúng khi n = 4 và n = 8. Khi đó dem = 2 > 1, chương trình in ra 10.
- Với k = 11, vòng lặp bên trong chạy từ n = 2 đến 11. Điều kiện k%n == 2 đúng khi n = 3 và n = 9. Khi đó dem = 2 > 1, chương trình in ra 11.
- Với k = 12, vòng lặp bên trong chạy từ n = 2 đến 12. Điều kiện k%n == 2 đúng khi n = 5 và n = 10. Khi đó dem = 2 > 1, chương trình in ra 12.
Vậy, chương trình in ra 101112. Không có đáp án nào đúng trong các lựa chọn đã cho.
Lời giải:
Đáp án đúng: A
Đoạn chương trình in ra các hợp số từ 1 đến 10.
Giải thích:
Vòng lặp ngoài `for ( k = 1; k <= 10; k++ )` duyệt các số từ 1 đến 10.
Vòng lặp trong `for ( n = 3; n <= k; n++ )` kiểm tra xem `k` có chia hết cho một số `n` nào đó trong khoảng từ 3 đến `k` hay không.
Biến `dem` đếm số lượng ước của `k` trong khoảng từ 3 đến `k`. Nếu `dem > 1`, tức là `k` có ít nhất hai ước trong khoảng này, thì `k` được in ra. Các số có từ hai ước trở lên (ngoài 1 và chính nó) là hợp số. Số 1 không phải là hợp số cũng không phải là số nguyên tố.
Ví dụ: Khi k = 4, vòng lặp trong sẽ chạy với n = 3 và n = 4. Khi n = 4, 4%4 == 0, dem = 1. Vì dem không lớn hơn 1, nên 4 không được in ra ở vòng lặp này.
Khi k = 6, vòng lặp trong sẽ chạy với n = 3, 4, 5, 6. Khi n = 3, 6%3 == 0, dem = 1. Khi n = 6, 6%6 == 0, dem = 2. Vì dem > 1, nên 6 được in ra.
Vậy chương trình in ra các hợp số từ 1 đến 10.
Giải thích:
Vòng lặp ngoài `for ( k = 1; k <= 10; k++ )` duyệt các số từ 1 đến 10.
Vòng lặp trong `for ( n = 3; n <= k; n++ )` kiểm tra xem `k` có chia hết cho một số `n` nào đó trong khoảng từ 3 đến `k` hay không.
Biến `dem` đếm số lượng ước của `k` trong khoảng từ 3 đến `k`. Nếu `dem > 1`, tức là `k` có ít nhất hai ước trong khoảng này, thì `k` được in ra. Các số có từ hai ước trở lên (ngoài 1 và chính nó) là hợp số. Số 1 không phải là hợp số cũng không phải là số nguyên tố.
Ví dụ: Khi k = 4, vòng lặp trong sẽ chạy với n = 3 và n = 4. Khi n = 4, 4%4 == 0, dem = 1. Vì dem không lớn hơn 1, nên 4 không được in ra ở vòng lặp này.
Khi k = 6, vòng lặp trong sẽ chạy với n = 3, 4, 5, 6. Khi n = 3, 6%3 == 0, dem = 1. Khi n = 6, 6%6 == 0, dem = 2. Vì dem > 1, nên 6 được in ra.
Vậy chương trình in ra các hợp số từ 1 đến 10.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng