Dự án cuối: chương trình Ôn bảng nhân
Mục tiêu: Dự án Ôn bảng nhân qua năm bước: vấn đề, thuật toán, lập trình, kiểm thử, báo cáo.
Em sẽ học gì
- Nội dung trong bài: làm chương trình Ôn bảng nhân để giải quyết một vấn đề thật, qua năm bước, từ vấn đề tới báo cáo.
- Chương trình bắt buộc có biến, vòng lặp, rẽ nhánh, và ít nhất một khối tự tạo hoặc một danh sách.
- Video làm mẫu dự án Ôn bảng nhân, các bạn tự chọn vấn đề của mình.
- Bước một, xác định vấn đề: học sinh cần luyện bảng nhân, và muốn biết ngay mình đúng hay sai.
- Đầu vào: câu trả lời học sinh gõ từ bàn phím.
- Đầu ra: Đúng hoặc Sai cho từng câu, kèm đáp án nếu sai, và số câu đúng sau năm câu.
- Phần giao cho máy tính: ra đề ngẫu nhiên, chấm từng câu, và đếm số câu đúng.
- Bước bốn, kiểm thử. Lập bảng tám trường hợp. Một và hai: trả lời đúng, trả lời sai.
- Ba và bốn, đầu vào sai: gõ chữ, hoặc bỏ trống. Chương trình không được treo, tính là sai.
- Năm và sáu, trường hợp biên: số có 0 ở đầu, số có dấu cách ở cuối, vẫn phải tính là đúng.
- Bảy: cả năm câu đúng thì ra 5, vừa thử xong. Tám: chơi lại thì dung phải đếm lại từ 0.
- Bước năm, báo cáo một đến hai trang: vấn đề, đầu vào, đầu ra, và sơ đồ khối của thuật toán.
- Ảnh chụp chương trình, giải thích khối tự tạo và các biến.
- Bảng kiểm thử, và nhật ký các lỗi đã gặp khi làm, sửa như thế nào.
- Cuối cùng: điều rút ra, muốn cải tiến gì. Trình bày trước lớp trong ba phút.
- Về kỹ thuật lập trình, bài này ta học: quy trình năm bước: vấn đề, thuật toán, lập trình, kiểm thử, báo cáo.
- Kiểm thử có kế hoạch: trường hợp bình thường, trường hợp biên, và đầu vào sai.
- Chương trình là bản mô tả thuật toán: vẽ sơ đồ khối trước, viết khối lệnh sau.

Đây là bảng nhân từ 2 đến 9: mỗi cột là một bảng nhân, mỗi bảng có 10 phép nhân.

Ví dụ bảng 7: 7 nhân 1 bằng 7, 7 nhân 2 bằng 14, cứ thế tới 7 nhân 10 bằng 70.

Chương trình chọn ngẫu nhiên một ô trong bảng: a là số của bảng, từ 2 đến 9; b từ 1 đến 10.

Rồi hỏi: 7 nhân 8 bằng mấy? Gõ 56 thì máy nói Đúng. Gõ số khác thì máy nói Sai, kèm đáp án. Bước hai, thuật toán. Việc hỏi một câu viết thành một khối tự tạo: chọn ngẫu nhiên a và b, rồi hỏi a nhân b. Trả lời bằng a nhân b thì tăng dung, nói Đúng. Không thì nói Sai kèm đáp án. Chương trình chính: đặt dung bằng 0, gọi khối hỏi 5 lần, rồi nói số câu đúng. Bước ba, lập trình. Tạo các biến: chọn nhóm Biến số, tạo biến a, biến b, và biến dung: số câu trả lời đúng.

Việc cần làm: khối hoiphepnhan: a, b ngẫu nhiên; hỏi a × b; đúng thì dung tăng 1, sai thì nói đáp án.
Chọn nhóm Khối của tôi, bấm Tạo một khối. Gõ tên khối, viết liền không dấu: hoiphepnhan. Bấm OK, rồi kéo khối định nghĩa xuống dưới tờ Việc cần làm.
Giải thích: Khối tự tạo hoiphepnhan gói trọn việc hỏi và chấm một câu, chương trình chính chỉ cần gọi nó.

Nhóm Biến số: gắn khối đặt biến thành, chọn a,

ô giá trị thả khối lấy ngẫu nhiên, trong nhóm Các phép toán, từ 2 đến 9,

thêm khối đặt biến thành, chọn b,

thả khối lấy ngẫu nhiên, từ 1 đến 10.
Giải thích: Mỗi lần gọi khối, a và b lấy ngẫu nhiên, nên mỗi câu một đề khác nhau.

Nhóm Cảm biến: gắn khối hỏi và đợi.

Câu hỏi ghép bằng khối kết hợp: lấy một khối kết hợp ra chỗ trống,

ô phải thả biến b, ô trái gõ dấu nhân, có dấu cách hai bên,

lấy thêm một khối kết hợp, ô phải: kéo khối kết hợp vừa làm vào,

ô trái thả biến a, rồi kéo cả khối vào ô câu hỏi: a nhân b.
Giải thích: Hai khối kết hợp ghép a, dấu nhân và b thành câu hỏi, ví dụ 7 nhân 8.

Nhóm Điều khiển: gắn khối nếu, nếu không thì,

điều kiện là phép so sánh bằng,

lấy phép nhân ra chỗ trống,

ô phải thả b,

ô trái thả a, kéo phép nhân vào ô phải của phép so sánh,

ô trái thả khối câu trả lời: câu trả lời bằng a nhân b.
Giải thích: Khối nếu, nếu không thì là rẽ nhánh: câu trả lời bằng a nhân b thì đúng, khác thì sai.

Nhánh đúng: khối thay đổi biến một lượng, chọn dung, giữ số 1,

rồi khối nói trong mấy giây, trong nhóm Hiển thị, gõ Đúng! trong 1 giây.

Nhánh sai cần đáp án: lấy thêm một phép nhân ra chỗ trống,

ô phải thả b,

ô trái thả a,

gắn khối nói trong 2 giây vào nhánh nếu không thì,

lấy khối kết hợp ra chỗ trống, ô trái gõ: Sai! Đáp án là, ô phải kéo phép nhân vào, rồi kéo khối kết hợp vào ô lời nói. Ta vừa làm khối hoiphepnhan: chọn a, b ngẫu nhiên, hỏi a nhân b, đúng thì tăng dung, sai thì nói đáp án.
Giải thích: Sai thì mèo nói đáp án đúng trong 2 giây, học sinh học được ngay chỗ sai.

Việc cần làm: bấm cờ xanh: dung = 0; lặp 5 lần: hoiphepnhan; nói Số câu đúng.
Chọn nhóm Sự kiện, kéo khối Khi bấm vào cờ xanh,

gắn khối đặt biến thành, chọn dung, giữ số 0: mỗi lần chơi đếm lại từ đầu.

Nhóm Điều khiển: gắn khối lặp lại, đổi thành 5 lần,

bên trong, khối hoiphepnhan, trong nhóm Khối của tôi.
Giải thích: Vòng lặp gọi khối hoiphepnhan 5 lần: 5 câu hỏi mà chương trình chính vẫn ngắn, dễ đọc.

Sau vòng lặp, gắn khối nói, trong nhóm Hiển thị,

lấy khối kết hợp ra chỗ trống, ô trái gõ: Số câu đúng, hai chấm,

ô phải thả biến dung, rồi kéo khối kết hợp vào ô lời nói. Ta vừa làm: dung về 0, gọi khối hỏi 5 lần, rồi nói số câu đúng.

Chạy thử: bấm cờ xanh, trả lời đúng cả 5 câu. Mèo nói: Số câu đúng: 5. Thử trường hợp một đến năm: đúng, sai, gõ chữ, bỏ trống, số có 0 ở đầu. Kết quả: 2 câu đúng. Thử sáu và tám: chơi lại, câu đầu có dấu cách ở cuối, còn lại sai. Kết quả 1: dung đã đếm lại từ 0.

Cả tám trường hợp đều cho kết quả như mong đợi. Ghi kết quả vào bảng kiểm thử.

Bài tập
Bài tập: chọn một vấn đề thật của nhóm, làm đủ năm bước, rồi đăng dự án lên Studio của lớp cho cả lớp xem.