Giáo án Tin học 10 · Toàn bộ sách chính (đồ họa và Python)
Tin họcLớp 10Phần 5. 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 27. Tham số của hàm

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 tham số là tên được khai báo trong định nghĩa hàm, còn đối số là giá trị thực tế được truyền khi gọi hàm.
  • Giải thích được đối số được ghép với tham số theo thứ tự vị trí và việc đổi thứ tự đối số có thể làm thay đổi kết quả khi phép toán không giao hoán (ví dụ phép trừ).
  • Vận dụng được hàm có tham số để viết chương trình tính tiền còn lại sau khi chi, kiểm tra kết quả với dữ liệu mẫu và nêu được điều kiện áp dụng (ví dụ b≠0b\neq 0 với phép chia).

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: Chủ động đọc ví dụ trong trang bài học NeoEdu, tự chạy thử chương trình và đối chiếu kết quả với dự đoán của bản thân.
  • Giao tiếp và hợp tác: Trao đổi theo cặp để thống nhất cách gọi hàm, cách giải thích vì sao đổi thứ tự đối số làm đổi kết quả.
  • Giải quyết vấn đề và sáng tạo: Phân tích yêu cầu bài toán, xác định tham số, truyền đối số đúng và kiểm tra các trường hợp đặc biệt như số chia bằng 0.

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

  • Sử dụng và quản lí các phương tiện công nghệ thông tin và truyền thông: Sử dụng trình soạn thảo/IDE Python hoặc trình duyệt để viết, chạy và kiểm tra chương trình có hàm với tham số.
  • 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 máy tính thực thi hàm với nhiều bộ dữ liệu để phát hiện đối số sai thứ tự hoặc thiếu đối số.
  • Ứng dụng công nghệ thông tin và truyền thông trong học và tự học: Khai thác bài giảng, ví dụ và bài tập tương tác trên trang NeoEdu để tự kiểm tra kiến thức sau giờ học.

3. Phẩm chất

  • Chăm chỉ: Kiên trì sửa lỗi cú pháp và logic khi chương trình chưa cho kết quả đúng.
  • Trách nhiệm: Viết chương trình đầy đủ, tự kiểm tra kết quả và giải thích được lập luận của mình trước lớp.
  • Trung thực: Ghi đúng kết quả thực thi của chương trình, không sao chép kết quả của bạn khi chưa tự chạy.

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, phần mềm soạn thảo Python (IDLE hoặc trình soạn thảo Python trực tuyến).
  • Trang bài học số NeoEdu: neoedu.vn/learn/10/informatics/bai-27-tham-so-cua-ham (bài giảng, ví dụ và bài tập tương tác).
  • Phiếu học tập số 1, bảng phụ hoặc slide ghi các chương trình mẫu cần quan sát.
  • Bảng nhóm hoặc giấy A4 cho HS ghi kết quả thảo luận nhanh.

2. Học sinh

  • Máy tính hoặc thiết bị có trình duyệt, phần mềm Python (theo phân công của lớp).
  • Vở ghi, bút, bút dạ (nếu ghi nhanh trên giấy).
  • Phiếu học tập số 1 (in hoặc chép lại).

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

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

Mẹ đưa tiền đi chợ

a) Mục tiêu

Huy động kinh nghiệm thực tế, nhận ra một phép tính có thể dùng chung cho nhiều giá trị khác nhau và dẫn vào khái niệm tham số, đối số.

b) Nội dung

HS đọc tình huống: Mẹ đưa 50000 đồng để mua đồ hết 18000 đồng. HS trả lời: Còn lại bao nhiêu tiền? Nếu số tiền đưa và số tiền chi thay đổi, em có cần viết lại phép tính không? GV gợi ý: Có cách nào để một công thức dùng được cho mọi lần đi chợ không?

c) Sản phẩm

HS nêu được: Phép tính còn lại = tổng số tiền - số tiền chi, công thức không đổi, chỉ thay giá trị. Từ đó nhận ra ý tưởng viết một hàm nhận hai dữ liệu thay đổi làm đầu vào.

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

  1. Giáo viên

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

    GV trình chiếu tình huống mua đồ, nêu câu hỏi: Còn lại bao nhiêu tiền? Nếu đổi số tiền thì có cần làm lại phép tính không?

    Học sinh

    HS đọc tình huống, suy nghĩ cá nhân khoảng 1 phút và ghi nhanh đáp á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 ý HS nhận ra phần cố định (phép trừ) và phần thay đổi (số liệu).

    Học sinh

    HS trao đổi nhanh với bạn cùng bàn. Dự kiến HS trả lời: 32000 đồng; khi đổi số tiền thì vẫn dùng phép trừ, chỉ thay số.

  3. Giáo viên

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

    GV mời 2–3 HS trình bày; hỏi: Vậy có thể viết một 'khuôn' tính toán để dùng cho nhiều lần mua không?

    Học sinh

    HS trả lời dự kiến: Có thể viết một hàm, số tiền đưa và số tiền chi được truyền vào khi gọi hàm.

  4. Giáo viên

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

    GV chốt: Phép tính giống nhau nhưng số liệu thay đổi, đó là lý do ta dùng hàm có tham số. Giới thiệu bài học: Tham số và đối số của hàm.

    Học sinh

    HS ghi tiêu đề bài học vào vở và nhắc lại ý chính.

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

Tham số, đối số và thứ tự truyền

a) Mục tiêu

Phân biệt được tham số với đối số; giải thích được đối số được ghép theo thứ tự vị trí và đổi thứ tự có thể làm đổi kết quả với phép trừ.

b) Nội dung

Nhóm cặp đôi làm Phiếu học tập số 1: (1) Trong định nghĩa def f(a, b), a và b là gì? Khi gọi f(8, 3), 8 và 3 là gì? (2) Chạy đoạn chương trình def f(a,b): return a-b, sau đó in f(8,3) và f(3,8), điền kết quả vào phiếu. (3) Hai kết quả có bằng nhau không? Vì sao? Dùng trang bài học NeoEdu (phần ví dụ) để đối chiếu.

c) Sản phẩm

Kiến thức HS rút ra: Tham số a, b là tên trong định nghĩa hàm; 8 và 3 là đối số khi gọi. Đối số được ghép theo vị trí: a nhận 8, b nhận 3. f(8,3) in ra 5 (8-3=5); f(3,8) in ra -5 (3-8=-5). Hai kết quả khác nhau vì phép trừ không giao hoán, nên không thể coi f(8,3) và f(3,8) luôn bằng nhau.

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, nêu nhiệm vụ: chạy chương trình có hàm f(a,b) với hai lời gọi f(8,3) và f(3,8), điền kết quả và trả lời câu hỏi về tham số, đối số.

    Học sinh

    HS nhận phiếu, mở trình soạn thảo Python hoặc trang NeoEdu, chia cặp đôi (một bạn gõ, một bạn ghi phiếu).

  2. Giáo viên

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

    GV theo dõi, nhắc HS chú ý thụt lề sau def và dấu phẩy giữa các tham số.

    Học sinh

    HS gõ đoạn lệnh, chạy và ghi kết quả 5 và -5. Dự kiến HS trả lời: a là tham số, 8 là đối số; hai kết quả khác nhau vì 8-3 khác 3-8.

  3. Giáo viên

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

    GV mời 2 cặp báo cáo; hỏi: Nếu đổi đối số 8 và 3 cho nhau thì điều gì xảy ra với a và b?

    Học sinh

    Cặp báo cáo: Đối số đổi vị trí nên a nhận 3, b nhận 8; kết quả là -5. Các cặp khác bổ sung.

  4. Giáo viên

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

    GV chốt: Tham số là tên trong định nghĩa; đối số là giá trị truyền khi gọi; đối số ghép theo thứ tự vị trí. Với phép toán không giao hoán như phép trừ, đổi thứ tự sẽ đổi kết quả.

    Học sinh

    HS ghi ý chính vào vở và viết lại câu kết luận vào phiếu.

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

Số lượng đối số và nguồn dữ liệu của hàm

a) Mục tiêu

Nhận biết số lượng đối số phải phù hợp với định nghĩa; giải thích vì sao nên truyền dữ liệu rõ ràng thay vì dựa vào biến toàn cục.

b) Nội dung

GV trình chiếu hai đoạn: (a) def f(x): return 2*x, gọi f(7); (b) cùng hàm trên nhưng gọi f(7, 3). HS quan sát, dự đoán và kiểm tra kết quả. Sau đó thảo luận: Vì sao hàm nên nhận dữ liệu qua tham số thay vì đọc một biến toàn cục không khai báo trong hàm?

c) Sản phẩm

Kiến thức HS rút ra: f(7) in ra 14. Gọi f(7, 3) không đúng số lượng tham số của định nghĩa nên chương trình báo lỗi, vì vậy số lượng đối số phải phù hợp định nghĩa. Hàm nên nhận dữ liệu rõ ràng qua tham số để dễ đọc, dễ kiểm tra và tránh phụ thuộc bí mật vào biến ngoài hàm.

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

  1. Giáo viên

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

    GV trình chiếu hai đoạn chương trình, yêu cầu HS dự đoán trước khi chạy: f(7) in ra gì? f(7, 3) có chạy được không?

    Học sinh

    HS dự đoán cá nhân và ghi vào vở.

  2. Giáo viên

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

    GV chạy từng đoạn trên máy chiếu, cho HS quan sát thông báo lỗi.

    Học sinh

    HS đối chiếu dự đoán với kết quả. Dự kiến HS trả lời: f(7) in 14; f(7, 3) báo lỗi vì hàm chỉ nhận một đối số.

  3. Giáo viên

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

    GV đặt câu hỏi: Nếu hàm tính tiền còn lại dùng một biến toàn cục để lưu số tiền đưa thì có ảnh hưởng gì khi đọc và kiểm tra chương trình?

    Học sinh

    HS trả lời dự kiến: Khó biết hàm lấy dữ liệu từ đâu; khó thử với nhiều bộ dữ liệu khác nhau; dễ sai khi biến bị thay đổi ở nơi khác.

  4. Giáo viên

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

    GV chốt: Số lượng đối số khi gọi phải khớp với định nghĩa; nên truyền dữ liệu rõ ràng qua tham số để hàm độc lập và dễ kiểm tra.

    Học sinh

    HS ghi hai ý chính vào vở.

Hoạt động 3.1: Luyện tập · 6 phút

Nhận biết kết quả và đúng sai

a) Mục tiêu

Củng cố cách xác định tham số, đối số, tính kết quả của hàm đơn giản và nhận biết nhận định đúng, sai.

b) Nội dung

HS làm nhanh các bài sau: (1) def f(a,b): return a-b; print(f(8,3)) in ra số nào? (2) Cũng hàm trên, print(f(3,8)) in ra số nào? (3) def f(x): return 2*x; print(f(7)) in ra số nào? (4) Trong def f(a, b), a và b là gì? A. Tham số; B. Đối số cụ thể đã truyền; C. Giá trị hàm đã trả; D. Tên của hai hàm khác. (5) f(8,3) và f(3,8) luôn bằng nhau cho mọi hàm. Đúng hay sai? (6) Sắp xếp các bước giải: Truyền đối số đúng thứ tự; Sử dụng giá trị trả về; Xác định ý nghĩa tham số; Tính trong hàm.

c) Sản phẩm

Đáp án: (1) 5; (2) -5; (3) 14; (4) A – tham số, vì a và b là tên khai báo trong định nghĩa hàm; (5) Sai, ví dụ phép trừ: f(8,3)=5 khác f(3,8)=-5; (6) Xác định ý nghĩa tham số → Truyền đối số đúng thứ tự → Tính trong hàm → Sử dụng giá trị trả về.

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 6 câu hỏi, yêu cầu HS làm cá nhân trong 3 phút, sau đó đối chiếu với bạn cùng bàn.

    Học sinh

    HS làm bài vào vở hoặc phiếu.

  2. Giáo viên

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

    GV quan sát, hỗ trợ HS còn nhầm giữa tham số và đối số.

    Học sinh

    HS làm bài và đối chiếu. Dự kiến HS trả lời: 5; -5; 14; A; Sai; thứ tự các bước như đáp án.

  3. Giáo viên

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

    GV mời 3 HS trả lời câu 1, 5 và 6; yêu cầu HS giải thích vì sao.

    Học sinh

    HS trình bày lập luận, ví dụ: câu 5 sai vì phép trừ không giao hoán.

  4. Giáo viên

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

    GV nhận xét, chốt đáp án và nhấn mạnh: đối số ghép theo vị trí, đổi thứ tự có thể đổi kết quả.

    Học sinh

    HS sửa lại bài làm nếu sai và ghi chú vào vở.

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

Viết hàm tiền còn lại và điều kiện chia

a) Mục tiêu

Viết được hàm có hai tham số, kiểm tra theo dữ liệu mẫu; nêu được điều kiện áp dụng của hàm tính tỉ lệ a/b và một ca không hợp lệ.

b) Nội dung

Bài 7: Viết hàm con_lai(tong, chi) trả về tiền còn lại sau khi chi; chạy với tong = 50000, chi = 18000 và giải thích kết quả. Bài 8: Nếu muốn hàm tính tỉ lệ a/b, nêu điều kiện của b và một ca không hợp lệ. Chạy thử trên máy (có thể dùng bài tập tương tác trên NeoEdu).

c) Sản phẩm

Bài 7: def con_lai(tong,chi): return tong-chi; print(con_lai(50000,18000)) in ra 32000, vì 50000-18000=32000. Lập luận: đối số 50000 ghép với tong, 18000 ghép với chi; đổi thứ tự sẽ cho kết quả âm -32000 nên phải đúng thứ tự. Bài 8: điều kiện b≠0b\neq 0; ca hợp lệ a=6, b=2 cho kết quả 3; ca không hợp lệ a=6, b=0 phải được báo không hợp lệ, không được tự trả về giá trị giả.

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

  1. Giáo viên

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

    GV nêu hai bài tập, nhắc HS: viết hàm có tham số, truyền đúng đối số, kiểm tra với dữ liệu mẫu và giải thích.

    Học sinh

    HS nhận nhiệm vụ, mở máy hoặc ghi chương trình vào vở.

  2. Giáo viên

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

    GV đi quanh lớp, kiểm tra cú pháp và hướng dẫn HS tự thử thêm một bộ dữ liệu khác.

    Học sinh

    HS viết hàm, chạy và ghi kết quả 32000. Dự kiến HS trả lời bài 8: b phải khác 0 vì không thể chia cho 0; a=6, b=2 cho 3; a=6, b=0 không hợp lệ.

  3. Giáo viên

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

    GV mời 1–2 HS trình bày đoạn code và lập luận; hỏi: Nếu truyền chi trước tong thì kết quả thế nào?

    Học sinh

    HS báo cáo; trả lời: kết quả sẽ là -32000, vì đối số bị ghép sai vị trí.

  4. Giáo viên

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

    GV chốt: Hàm cần đúng số lượng và thứ tự đối số; với phép chia phải nêu điều kiện mẫu khác 0 và xử lí ca không hợp lệ theo yêu cầu.

    Học sinh

    HS ghi lại điều kiện b≠0b\neq 0 và cách kiểm tra vào vở.

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

Quản lí chi tiêu nhiều lần trong tuần

a) Mục tiêu

Vận dụng hàm có tham số vào tình huống thực tế: tái sử dụng một hàm để tính tiền còn lại qua nhiều lần chi tiêu và tự kiểm tra kết quả.

b) Nội dung

Bạn An có 100000 đồng đầu tuần. Trong tuần, An mua ba lần: 18000, 25000 và 12000 đồng. Viết chương trình dùng hàm con_lai(tong, chi) để tính số tiền còn lại sau từng lần mua, in kết quả từng bước. Yêu cầu kiểm tra lại bằng tay ít nhất một bước.

c) Sản phẩm

Kết quả dự kiến: sau lần 1: 82000; sau lần 2: 57000; sau lần 3: 45000. Chương trình gọi hàm ba lần, mỗi lần truyền tổng hiện tại và số tiền chi; HS giải thích được vì sao tái sử dụng hàm giúp chương trình gọn và dễ kiểm tra.

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

  1. Giáo viên

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

    GV nêu tình huống, yêu cầu HS viết chương trình và in từng bước; nhắc HS dùng lại đúng hàm đã viết.

    Học sinh

    HS đọc đề, ghi ý tưởng cách làm (cập nhật tổng sau mỗi lần chi).

  2. Giáo viên

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

    GV hỗ trợ HS biết cách gán lại biến tổng sau mỗi lần gọi hàm.

    Học sinh

    HS viết và chạy chương trình. Dự kiến kết quả: 82000, 57000, 45000.

  3. Giáo viên

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

    GV mời 1–2 HS trình bày kết quả và cách kiểm tra bằng tay; hỏi: Nếu quên cập nhật tổng thì kết quả thế nào?

    Học sinh

    HS báo cáo; trả lời dự kiến: các lần sau vẫn trừ từ 100000, kết quả sai.

  4. Giáo viên

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

    GV chốt: Hàm có tham số giúp tái sử dụng một quy tắc tính cho nhiều dữ liệu; cần kiểm tra điều kiện và dữ liệu đầu vào trước khi dùng kết quả.

    Học sinh

    HS tự đánh giá bài làm theo tiêu chí đúng kết quả, đúng số lượng đối số, có kiểm tra.

Phiếu học tập

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

Nhóm: ............ Lớp: ............
Câu 1. Trong def f(a, b), a và b là gì? Khi gọi f(8, 3), 8 và 3 là gì?
Câu 2. Chạy chương trình:
def f(a,b):
return a-b
print(f(8,3))
print(f(3,8))
Điền kết quả:

  • f(8,3) in ra: ............
  • f(3,8) in ra: ............
    Câu 3. Hai kết quả có bằng nhau không? Vì sao?
    Câu 4. Đối số được ghép với tham số theo cách nào? Đổi thứ tự đối số có làm đổi kết quả không? Giải thích ngắn gọn.
    Kết luận của nhóm: ........................................................

Hướng dẫn về nhà

  • Viết lại hàm con_lai(tong, chi) và chạy thử với ít nhất hai bộ dữ liệu khác nhau; ghi kết quả và giải thích vì sao kết quả đúng.
  • Viết hàm tính tỉ lệ a/b có kiểm tra điều kiện b≠0b\neq 0; thử với ca a=6, b=2 và ca a=6, b=0, ghi nhận xét về ca không hợp lệ.
  • Đọc trước Bài 28 trên trang NeoEdu (neoedu.vn/learn/10/informatics/bai-27-tham-so-cua-ham) và làm các bài tập tương tác để tự kiểm tra kiến thức.

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.