👤
GAME HOT TIN HỌC 10 TIN HỌC 11 TIN HỌC 12 TRỢ LÝ TÀI NĂNG HỌC TẬP ONLINE TỐT NGHIỆP THPT LIÊN HỆ
DANH MỤC ×

BÀI 31. THỰC HÀNH VIẾT CHƯƠNG TRÌNH ĐƠN GIẢN

KHỞI ĐỘNG

BÀI 31. THỰC HÀNH VIẾT CHƯƠNG TRÌNH ĐƠN GIẢN

1. NHIỆM VỤ 1: "MÁY ĐẾM SỐ CHẴN"

a) Xác định thuật toán:

1. Tạo một danh sách chứa các con số bất kỳ.

2. Tạo một biến dem = 0 (đóng vai trò như cái máy đếm, ban đầu chưa có gì).

3. Duyệt qua từng con số trong danh sách.

4. Nếu số đó chia hết cho 2 (số chẵn), thì tăng biến dem lên 1 đơn vị.

5. Kết thúc vòng lặp, in kết quả dem ra màn hình.

b) Xây dựng chương trình:

c) Kiểm thử và gỡ lỗi:

- Bước 1: Bật cửa sổ Variables (View → Variables).

- Bước 2: Cắm cờ (Điểm dừng/Breakpoint) tại dòng for so in danh_sach_so:

- Bước 3: Chạy chế độ Debug (Bấm Ctrl+F5).

- Bước 4: Bấm phím F7 liên tục để chạy từng bước.

Quan sát cột Variables: các em sẽ tận mắt thấy biến so lần lượt nhận giá trị 5, 8, 12... và biến dem chỉ nhích lên 1, 2, 3... khi gặp đúng số chẵn.

CÂU HỎI TRẮC NGHIỆM

Câu 1: Trong thuật toán máy đếm, biến đếm (dem) được khởi tạo giá trị ban đầu là bao nhiêu?

Câu 2: Phím tắt nào được sử dụng để chạy chương trình ở chế độ Debug?

Câu 3: Trong quá trình duyệt danh sách, điều kiện để biến đếm tăng lên 1 đơn vị là gì?

Câu 4: Khi bật cửa sổ Variables (Biến) để gỡ lỗi, các em học sinh có thể làm gì?

Câu 5: Khi dùng phím F7 chạy từng bước trong chế độ Debug, biến dem sẽ hoạt động như thế nào?

2. NHIỆM VỤ 2: "TÍNH TIỀN TAXI"

a) Xác định thuật toán:

Bảng giá cước taxi được quy định như sau:

- Đi dưới 2 km (bao gồm cả 2 km): Giá 15.000 VNĐ / 1 km.

- Đi từ trên 2 km đến 10 km: Giá 12.000 VNĐ / 1 km.

- Đi trên 10 km: Giá 10.000 VNĐ / 1 km.

Thuật toán:

1. Nhập số km hành khách đã đi (gọi là so_km).

2. Kiểm tra dữ liệu: Nếu so_km < 0 thì báo lỗi nhập sai.

3. Nếu hợp lệ, lần lượt dùng if... elif... else để xét 3 khoảng giá như trên.

Tính tien_cuoc = so_km * gia_tien.

4. In số tiền cước ra màn hình.

b) Xây dựng chương trình:

c) Kiểm thử và gỡ lỗi:

Để đảm bảo chương trình bao quát hết các trường hợp (không có "bug" ẩn), các em chạy thử với các bộ dữ liệu sau:

- Test vùng biên: Nhập so_km = 2 (Kiểm tra xem máy tính đúng giá 15.000 hay bị nhầm sang 12.000).

- Test ngẫu nhiên: Nhập so_km = 6 (Kỳ vọng máy tính giá 12.000) và so_km = 15 (Kỳ vọng máy tính giá 10.000).

- Test dữ liệu lỗi: Nhập so_km = -5 (Chương trình phải yêu cầu nhập một số dương chứ không được tính ra tiền âm).

CÂU HỎI TRẮC NGHIỆM

Câu 6: Theo quy định, nếu hành khách đi dưới 2 km (bao gồm cả 2 km) thì giá cước là bao nhiêu?

Câu 7: Ở bước kiểm tra dữ liệu, nếu biến so_km nhỏ hơn 0 thì chương trình sẽ xử lý ra sao?

Câu 8: Để xét 3 khoảng giá cước khác nhau, thuật toán sử dụng cấu trúc rẽ nhánh nào?

Câu 9: Khi thực hiện test vùng biên với giá trị so_km = 2, mục đích chính là để kiểm tra điều gì?

Câu 10: Theo hướng dẫn kiểm thử ngẫu nhiên, khi nhập so_km = 15 thì kết quả kỳ vọng sẽ là gì?