Giáo án Tin học 9
Tin họcLớp 9Phần 7. Chủ đề 5. Giải quyết vấn đề với sự trợ giúp của máy tính

Giáo án Bài 15. Bài toán tin học

Kế hoạch bài dạy theo mẫu Công văn 5512/BGDĐT-GDTrH · 1 tiết (45 phút)

I. Mục tiêu

1. Kiến thức

  • Nêu được khái niệm bài toán tin học gồm ba thành phần: đầu vào, đầu ra và mối quan hệ xử lí giữa chúng.
  • Giải thích được vai trò của miền đầu vào trong việc quy định giá trị hợp lệ và yêu cầu thuật toán xử lí các trường hợp thuộc miền đó.
  • Giải thích được vì sao thuật toán tìm giá trị lớn nhất nên khởi tạo mm từ một phần tử có trong dữ liệu, không khởi tạo bằng 00.
  • Vận dụng được bốn nhóm trường hợp kiểm thử (thường, bằng nhau, biên, không hợp lệ) để kiểm tra một thuật toán đơn giản.

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: Chủ động đọc tình huống, tự xác định đầu vào, đầu ra và miền dữ liệu của bài toán trước khi viết thuật toán; tự kiểm tra kết quả bằng vết thực hiện với dữ liệu mẫu.
  • Giao tiếp và hợp tác: Trao đổi, thống nhất trong nhóm về cách mô tả bài toán và bộ kiểm thử; trình bày kết quả rõ ràng, lắng nghe và nhận xét sản phẩm của nhóm bạn.
  • Giải quyết vấn đề và sáng tạo: Phát hiện lỗi khởi tạo m=0m=0 khi mọi số âm, đề xuất cách sửa và đưa ra phương án tương đương đúng khi thay đổi yêu cầu (tìm nhỏ nhất).

b) Năng lực đặc thù

  • NLc Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông: Dùng bảng vết thực hiện thuật toán và bộ dữ liệu kiểm thử để tìm lỗi và kiểm tra kết quả của thuật toán tìm lớn nhất.
  • NLd Ứng dụng công nghệ thông tin và truyền thông trong học và tự học: Sử dụng bài giảng, ví dụ và bài tập tương tác trên trang bài học NeoEdu để tự ôn tập và tự kiểm tra kiến thức về bài toán tin học.
  • NLe Hợp tác trong môi trường số: Cùng nhóm chia sẻ tệp hoặc ảnh chụp phiếu học tập qua công cụ do GV chỉ định, phối hợp hoàn thành sản phẩm chung trong thời gian quy định.

3. Phẩm chất

  • Chăm chỉ: Kiên trì thực hiện vết thuật toán cho đủ các ca dữ liệu, không bỏ qua ca âm và ca bằng nhau.
  • Trách nhiệm: Ghi đầy đủ đầu vào, đầu ra và miền dữ liệu khi mô tả bài toán, không để thiếu thông tin cần thiết cho người khác kiểm tra.
  • Trung thực: Ghi đúng kết quả vết thực hiện, nhận xét thẳng thắn về lỗi của thuật toán nhóm mình hoặc nhóm bạn.

II. Thiết bị dạy học và học liệu

1. Giáo viên

  • Máy tính, máy chiếu hoặc bảng thông minh để trình chiếu nhiệm vụ, bảng vết thực hiện và đáp án.
  • Trang bài học số NeoEdu: neoedu.vn/learn/9/informatics/bai-15-bai-toan-tin-hoc (bài giảng, ví dụ và bài tập tương tác) để khởi động và củng cố.
  • Phiếu học tập số 1 và Phiếu học tập số 2 (in sẵn hoặc chiếu lên màn hình).
  • Bảng phụ hoặc bảng trắng để ghi quy trình thuật toán và các ca kiểm thử.

2. Học sinh

  • Vở ghi, bút, thước kẻ.
  • Thiết bị có trình duyệt web (điện thoại hoặc máy tính, dùng theo nhóm nếu lớp không đủ thiết bị) để truy cập trang NeoEdu.
  • Phiếu học tập số 1 và Phiếu học tập số 2 do GV phát.

III. Tiến trình dạy học

Hoạt động 1: Mở đầu · 5 phút

Khởi động: Đề bài cần những thông tin gì?

a) Mục tiêu

Huy động kinh nghiệm của HS về việc giải một yêu cầu tính toán và nhận ra rằng cần xác định rõ dữ liệu vào, kết quả cần có trước khi viết cách giải.

b) Nội dung

HS đọc tình huống: "Cần chọn ra số lớn nhất trong ba số bất kì aa, bb, cc." GV đặt câu hỏi: (1) Để giải được yêu cầu này, em cần biết những gì trước? (2) Nếu chỉ được biết "ba số" mà không biết các số có thể là số âm hay không, điều gì có thể xảy ra?

c) Sản phẩm

Kết luận ban đầu của lớp: cần xác định (i) dữ liệu vào là ba số aa, bb, cc; (ii) kết quả cần đưa ra là một số lớn nhất; (iii) các số được phép nhận giá trị nào (miền dữ liệu). Nếu không rõ miền dữ liệu thì cách giải có thể sai với một số bộ dữ liệu, ví dụ bộ toàn số âm.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu tình huống, nêu hai câu hỏi và yêu cầu HS suy nghĩ 1 phút rồi giơ tay phát biểu.

    Học sinh

    HS đọc đề, suy nghĩ cá nhân và ghi nhanh ý kiến vào vở.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quanh lớp, gợi ý: "Em cần biết đề cho mấy số, số có thể là những giá trị nào?"

    Học sinh

    HS trả lời dự kiến: "Cần biết có ba số", "Cần biết các số có thể âm hay không", "Kết quả là một số".

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời 2 đến 3 HS trình bày; ghi lên bảng các ý đúng và chưa đầy đủ.

    Học sinh

    HS nêu ý kiến; các bạn bổ sung, ví dụ "Nếu cả ba số đều âm thì sao?".

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV nhận xét và dẫn vào bài: mỗi bài toán tin học cần mô tả rõ đầu vào, đầu ra và miền dữ liệu hợp lệ trước khi viết thuật toán.

    Học sinh

    HS ghi tên bài "Bài 15. Bài toán tin học" và câu chốt vào vở.

Hoạt động 2.1: Hình thành kiến thức mới · 12 phút

Mô tả bài toán: đầu vào, đầu ra và miền đầu vào

a) Mục tiêu

Nêu được khái niệm bài toán tin học gồm đầu vào, đầu ra và mối quan hệ xử lí; giải thích được vai trò của miền đầu vào.

b) Nội dung

HS làm việc theo cặp với Phiếu học tập số 1: điền bảng mô tả bài toán tìm lớn nhất trong ba số aa, bb, cc gồm các mục Đầu vào, Đầu ra, Miền đầu vào, Mối quan hệ xử lí. Sau đó trả lời câu hỏi: "Nếu miền đầu vào không quy định, thuật toán phải xử lí những trường hợp nào?" HS xem thêm phần bài giảng và ví dụ trên trang NeoEdu để đối chiếu.

c) Sản phẩm

Bảng mô tả bài toán hoàn chỉnh:

  • Đầu vào: ba số aa, bb, cc.
  • Đầu ra: một giá trị mm là số lớn nhất trong ba số.
  • Miền đầu vào: các số hợp lệ đã quy định trước (ví dụ số nguyên hoặc số thực); thuật toán phải xử lí được mọi bộ ba số thuộc miền này, kể cả khi cả ba số âm hoặc bằng nhau.
  • Mối quan hệ xử lí: mm phải bằng một trong ba số và không nhỏ hơn cả ba số.
    Kết luận: Miền đầu vào quy định giá trị hợp lệ; thuật toán phải xử lí các trường hợp trong miền, nên phải nói rõ miền trước khi viết lệnh.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV phát Phiếu học tập số 1, yêu cầu HS điền bảng trong 6 phút và đọc kĩ trang bài giảng trên NeoEdu nếu cần.

    Học sinh

    HS nhận phiếu, chia cặp (bạn cùng bàn), mở trang NeoEdu hoặc đọc sách giáo khoa.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV quan sát, hỏi gợi mở: "Đầu ra có phải là ba số không? Vì sao?".

    Học sinh

    HS điền bảng; dự kiến HS điền đầu ra là "một số lớn nhất" và miền đầu vào là "các số đã quy định".

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời một cặp trình bày bảng vừa điền, các cặp khác nhận xét và bổ sung.

    Học sinh

    Đại diện cặp đọc từng mục; các cặp khác góp ý, ví dụ: "Miền đầu vào phải nói rõ là số thực hay số nguyên".

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: bài toán tin học gồm đầu vào, đầu ra và mối quan hệ xử lí; miền đầu vào quy định giá trị hợp lệ, thuật toán phải xử lí các trường hợp trong miền. GV ghi lên bảng để HS chép vào vở.

    Học sinh

    HS sửa lại bảng của mình nếu chưa đúng và ghi kết luận vào vở.

Hoạt động 2.2: Hình thành kiến thức mới · 12 phút

Thuật toán tìm lớn nhất và khởi tạo an toàn

a) Mục tiêu

Giải thích được vì sao cần khởi tạo mm từ một phần tử có trong dữ liệu; thực hiện được vết thuật toán với ca thường, ca bằng nhau và ca toàn số âm.

b) Nội dung

GV trình bày quy trình: (1) Xác định đầu vào ba số và đầu ra mm; (2) Đặt m=am = a; (3) Nếu b>mb > m thì m=bm = b; nếu c>mc > m thì m=cm = c; (4) Xuất mm và kiểm tra dữ liệu. HS làm theo nhóm 4 với Phiếu học tập số 2: thực hiện vết thuật toán với ba bộ dữ liệu −8-8, −3-3, −6-6; 44, 44, 22; và trường hợp khởi tạo sai m=0m = 0 với −8-8, −3-3, −6-6.

c) Sản phẩm

Kết quả vết thực hiện:

  • Với −8-8, −3-3, −6-6: m=−8m = -8; −3>−8-3 > -8 đúng nên m=−3m = -3; −6>−3-6 > -3 sai; xuất −3-3.
  • Với 44, 44, 22: m=4m = 4; 4>44 > 4 sai; 2>42 > 4 sai; xuất 44 (cho thấy bằng nhau không làm sai kết quả).
  • Khởi tạo sai m=0m = 0 với −8-8, −3-3, −6-6: −3>0-3 > 0 sai; −6>0-6 > 0 sai; xuất 00 là kết quả sai vì 00 không thuộc bộ dữ liệu.
    Kết luận: Khởi tạo m=am = a (phần tử có trong dữ liệu) là an toàn; khởi tạo m=0m = 0 gây lỗi khi mọi số đều âm.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu quy trình thuật toán và phát Phiếu học tập số 2; yêu cầu nhóm chọn nhóm trưởng và ghi lại từng bước vào bảng vết.

    Học sinh

    HS nhóm 4 nhận phiếu, phân công: một bạn ghi vết, một bạn đọc quy trình, hai bạn kiểm tra kết quả.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi kiểm tra từng nhóm, hỏi: "Khi m=0m = 0, so sánh −3>0-3 > 0 cho kết quả gì?".

    Học sinh

    HS thực hiện vết; dự kiến HS nhận ra "Không có số nào lớn hơn 00 nên mm vẫn là 00, sai".

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV gọi hai nhóm trình bày vết ca −8-8, −3-3, −6-6 và ca khởi tạo 00; hỏi cả lớp: "Vì sao ca 44, 44, 22 vẫn đúng?".

    Học sinh

    Đại diện nhóm trình bày bảng vết; cả lớp trả lời: "Vì mm là 44, các so sánh với 44 không làm thay đổi mm".

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: thuật toán tìm lớn nhất cần khởi tạo m=am = a, hai phép so sánh cập nhật mm, và cần kiểm tra ca toàn số âm để tránh lỗi. GV ghi kết luận lên bảng.

    Học sinh

    HS ghi kết luận vào vở và đối chiếu với vết của nhóm mình.

Hoạt động 3: Luyện tập · 8 phút

Luyện tập: Kiểm tra mô tả và kiểm thử

a) Mục tiêu

Vận dụng được khái niệm đầu vào, đầu ra, miền dữ liệu và cách khởi tạo an toàn để trả lời các câu hỏi trắc nghiệm và đúng sai.

b) Nội dung

HS làm nhanh các câu sau (GV chiếu từng câu):

  1. Lớn nhất của −8-8, −3-3, −6-6 là bao nhiêu?
  2. Khởi tạo an toàn cho ba số bất kì là gì? A. m=am = a; B. m=0m = 0 luôn; C. m=100000m = 100000 luôn; D. m=−1m = -1 luôn.
  3. Ba số bằng 55 thì lớn nhất vẫn là 55. Đúng hay sai?
  4. Mọi bộ ba số âm đều có lớn nhất là 00. Đúng hay sai?
  5. Ghép mô tả: Đầu vào – Ba số aa, bb, cc; Đầu ra – Giá trị lớn nhất; Miền – Các số hợp lệ đã quy định.
  6. Ca nào phát hiện lỗi khởi tạo 00? A. −8-8, −3-3, −6-6; B. 22, 33, 44; C. 00, 11, 22; D. 55, 55, 55.

c) Sản phẩm

Đáp án:

  1. −3-3 (lớn hơn −6-6 và −8-8).
  2. Đáp án A: m=am = a, vì mm bắt đầu từ một giá trị có trong dữ liệu.
  3. Đúng: thuật toán cho phép bằng nhau nên kết quả vẫn là 55.
  4. Sai: 00 không thuộc bộ dữ liệu và lớn hơn mọi số âm nên không thể là đáp án.
  5. Đầu vào là ba số aa, bb, cc; đầu ra là giá trị lớn nhất; miền là các số hợp lệ đã quy định.
  6. Đáp án A: tất cả đều âm nên khởi tạo 00 cho kết quả sai.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu câu hỏi, nêu luật: giơ thẻ Đ/S hoặc A/B/C/D; cả lớp làm trong 5 phút.

    Học sinh

    HS chuẩn bị bảng con hoặc giấy nháp, làm cá nhân.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV theo dõi, nhắc HS dùng vết thuật toán để kiểm tra câu 4 và câu 6.

    Học sinh

    HS làm bài; dự kiến đa số HS đúng câu 1, 2, 3, 5; một số HS nhầm câu 4 nếu chưa nhớ 00 không thuộc bộ dữ liệu.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV yêu cầu cả lớp giơ đáp án đồng loạt, chọn 1 HS giải thích câu 4.

    Học sinh

    HS giơ đáp án và giải thích: "00 không có trong bộ −8-8, −3-3, −6-6 và lớn hơn cả ba số nên sai".

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV nhận xét, nhấn mạnh lỗi khởi tạo và ý nghĩa của miền đầu vào; chốt đáp án đúng.

    Học sinh

    HS sửa lại đáp án nếu sai và ghi chú vào vở.

Hoạt động 4: Vận dụng · 8 phút

Vận dụng: Thiết kế và đánh giá thuật toán tìm nhiệt độ thấp nhất

a) Mục tiêu

Tạo và đánh giá một sản phẩm cụ thể: mô tả bài toán, thuật toán và bộ kiểm thử cho bài toán tìm giá trị nhỏ nhất; giải thích kết quả và kiểm tra điều kiện áp dụng.

b) Nội dung

Tình huống: Một trạm đo ghi lại nhiệt độ của ba ngày liên tiếp, có thể có giá trị âm. Nhóm 3 HS thực hiện: (1) Mô tả đầu vào, đầu ra, miền dữ liệu; (2) Viết các bước thuật toán tìm nhiệt độ thấp nhất; (3) Chọn bốn ca kiểm thử gồm thường, bằng nhau, biên và không hợp lệ (ví dụ có chữ thay cho số); (4) Đánh giá: thuật toán có khởi tạo an toàn chưa, cần sửa điều gì khi đổi từ lớn nhất sang nhỏ nhất.

c) Sản phẩm

Sản phẩm gồm: bảng mô tả bài toán (đầu vào ba nhiệt độ, đầu ra là nhiệt độ thấp nhất, miền là số hợp lệ đã quy định); các bước thuật toán với khởi tạo m=am = a; bốn ca kiểm thử kèm kết quả mong đợi; nhận xét.
Đáp án gợi ý: đổi khởi tạo thành m=am = a, đổi hai dấu >> thành <<; với nhiệt độ −8-8, −3-3, −6-6 kết quả là −8-8. Ca không hợp lệ (có chữ) phải bị loại trước khi xử lí, không được tự đổi dữ liệu.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu tình huống, chia nhóm 3, yêu cầu hoàn thành sản phẩm trong 5 phút và chuẩn bị 1 phút trình bày.

    Học sinh

    HS nhận tình huống, thảo luận cách mô tả đầu vào, đầu ra và miền dữ liệu.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi kiểm tra, hỏi: "Nếu có một ngày ghi nhiệt độ bằng chữ thì thuật toán xử lí thế nào?".

    Học sinh

    HS viết sản phẩm; dự kiến HS trả lời: "Phải loại dữ liệu không hợp lệ trước khi so sánh, vì nó không thuộc miền đầu vào".

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV chọn một nhóm trình bày; các nhóm khác đánh giá theo tiêu chí: đủ đầu vào, đầu ra, miền; khởi tạo an toàn; có đủ bốn nhóm ca kiểm thử.

    Học sinh

    Đại diện nhóm trình bày sản phẩm; các nhóm khác góp ý và chỉ ra điểm cần sửa.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV nhận xét, chốt: muốn tìm nhỏ nhất thì khởi tạo từ aa và đổi dấu so sánh; mọi thuật toán cần kiểm thử đủ các nhóm ca. GV giao bài về nhà.

    Học sinh

    HS hoàn thiện sản phẩm theo góp ý và ghi nhận nhiệm vụ về nhà.

Phiếu học tập

Phiếu học tập số 1

Nhiệm vụ: Mô tả bài toán tìm giá trị lớn nhất trong ba số bất kì aa, bb, cc. Điền vào bảng sau:

  • Đầu vào: ...
  • Đầu ra: ...
  • Miền đầu vào: ...
  • Mối quan hệ xử lí (đầu ra liên hệ với đầu vào như thế nào): ...

Câu hỏi:

  1. Nếu không quy định miền đầu vào, thuật toán có thể gặp những trường hợp nào chưa được xử lí?
  2. Miền đầu vào có vai trò gì trước khi viết lệnh?

Phiếu học tập số 2

Quy trình: (1) Đầu vào ba số aa, bb, cc và đầu ra mm; (2) Đặt m=am = a; (3) Nếu b>mb > m thì m=bm = b; nếu c>mc > m thì m=cm = c; (4) Xuất mm.

Bảng vết thực hiện cần hoàn thành:

  • Ca 1: dữ liệu −8-8, −3-3, −6-6. Giá trị mm ban đầu: ...; so sánh −3>m-3 > m: ...; so sánh −6>m-6 > m: ...; kết quả xuất: ...
  • Ca 2: dữ liệu 44, 44, 22. Giá trị mm ban đầu: ...; so sánh 4>m4 > m: ...; so sánh 2>m2 > m: ...; kết quả xuất: ...
  • Ca 3 (khởi tạo sai m=0m = 0): dữ liệu −8-8, −3-3, −6-6. Giá trị mm ban đầu: 00; so sánh −3>m-3 > m: ...; so sánh −6>m-6 > m: ...; kết quả xuất: ...

Câu hỏi: Kết quả của ca 3 có đúng không? Vì sao? Vì sao nên khởi tạo mm từ một phần tử có trong dữ liệu?

Hướng dẫn về nhà

  • Hoàn thiện sản phẩm nhóm trong tiết học (nếu chưa xong): bảng mô tả bài toán tìm nhiệt độ thấp nhất, các bước thuật toán và bốn ca kiểm thử.
  • Làm bài 8 trong phần bài tập: Tìm nhỏ nhất thay vì lớn nhất thì cần sửa gì? Viết lại thuật toán với m=am = a và dấu so sánh <<, thử với dữ liệu −8-8, −3-3, −6-6 và cho biết kết quả.
  • Ôn lại khái niệm đầu vào, đầu ra, miền đầu vào và khởi tạo an toàn; đọc trước Bài 16 trên trang NeoEdu và làm các bài tập tương tác để tự kiểm tra.

Giáo án do NeoEdu soạn với sự hỗ trợ của AI, dựa trên nội dung bài học trên Học liệu. Thầy cô nên đọc lại và điều chỉnh cho phù hợp với học sinh của mình; bản Word để sửa trực tiếp.