Bài 4 Python lớp 9: Hàm và mô-đun
Bài 4 Python lớp 9: Hàm và mô-đun
Kiến thức, bài tập và hướng dẫn thực hành
Hướng dẫn học sinh
Bài 4 Python lớp 9: Hàm và mô-đun
Bài 4 Python lớp 9: Hàm và mô-đun
Hàm giúp chia chương trình thành phần nhỏ, dễ đọc và tái sử dụng. Bài học được trình bày theo trình tự: hiểu lệnh, xem ví dụ, tự làm bài, đọc gợi ý, hoàn thiện lời giải và kiểm thử. Em nên tự gõ chương trình thay vì chỉ sao chép để nhớ cách suy nghĩ.
1. Lệnh và ý nghĩa
Lệnh def tạo hàm. Tham số đưa dữ liệu vào, return trả kết quả ra. Mô-đun như math cung cấp lệnh có sẵn.
Trước khi lập trình, hãy viết rõ: đầu vào là gì, đầu ra là gì, dữ liệu thuộc kiểu nào và các bước xử lý ra sao. Cách phân tích này giúp em tránh viết mã theo kiểu đoán mò.
2. Ví dụ chạy được
def average(a,b):
return (a+b)/2
print(average(8,9))
Em hãy chạy ví dụ với ít nhất ba bộ dữ liệu: một trường hợp thông thường, một trường hợp ở biên và một trường hợp có thể gây lỗi. Hãy dự đoán kết quả trước khi bấm Run, sau đó so sánh kết quả thực tế.
3. Bài tập áp dụng
Bài 1: Tính chu vi hình chữ nhật bằng hàm
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Hàm nhận length và width.
Hướng dẫn giải: Viết công thức 2*(length+width), return kết quả rồi gọi hàm.
Bài 2: Kiểm tra số chẵn
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Dùng n % 2.
Hướng dẫn giải: Nếu n chia 2 dư 0 thì return True, ngược lại False.
Bài 3: Tính điểm trung bình
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Hàm nhận ba điểm.
Hướng dẫn giải: Cộng ba điểm, chia 3 và return.
Bài 4: Tạo menu gọi hàm
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Dùng if elif.
Hướng dẫn giải: Nhận lựa chọn, nhận dữ liệu phù hợp rồi gọi hàm tương ứng.
Bài 5: Dùng math tính diện tích hình tròn
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Dùng math.pi.
Hướng dẫn giải: import math, truyền bán kính vào hàm và return math.pi*r*r.
4. Bài giải hoàn chỉnh
Lời giải bài 1
def rectangle_perimeter(length,width):
return 2*(length+width)
print(rectangle_perimeter(5,3))
Giải thích: Hàm nhận hai tham số, tính công thức và trả về 16.
Kết quả mẫu: Màn hình in 16.
Lời giải bài 2
def is_even(n):
return n%2==0
n=int(input("n: "))
if is_even(n):
print("Chẵn")
else:
print("Lẻ")
Giải thích: Biểu thức n%2==0 có giá trị True hoặc False, phù hợp để dùng trong if.
Kết quả mẫu: Nhập 7 in Lẻ; nhập 12 in Chẵn.
Lời giải bài 3
import math
def circle_area(r):
return math.pi*r*r
r=float(input("Bán kính: "))
print("Diện tích:",circle_area(r))
Giải thích: import đưa mô-đun math vào chương trình; math.pi là số pi chính xác hơn việc tự gõ 3.14.
Kết quả mẫu: Nhập 2 cho kết quả xấp xỉ 12.566.
5. Kiểm thử và lỗi thường gặp
Hãy thử dữ liệu rỗng, số 0, giá trị âm, chữ có dấu cách và dữ liệu lớn. Nếu chương trình sai, hãy kiểm tra kiểu dữ liệu, tên biến, điều kiện dừng, dấu hai chấm và thụt lề. Lệnh print() rất hữu ích để quan sát giá trị trung gian.
Không dùng tên biến quá ngắn nếu làm bài dài.
Không bỏ qua việc kiểm tra dữ liệu nhập vào.
Không viết tất cả lệnh trên một dòng vì khó đọc và khó sửa.
Luôn chạy lại chương trình sau mỗi thay đổi nhỏ.
6. Thử thách mở rộng
Em hãy thêm menu, tách chương trình thành hàm hoặc lưu kết quả vào tệp. Sau khi hoàn thành, nhờ một bạn nhập dữ liệu khác để kiểm tra. Nếu bạn có thể sử dụng mà không cần hỏi lại, chương trình của em đã rõ ràng hơn.
Đọc tiếp bài tiếp theo trong seri Python lớp 9.
PHẦN HƯỚNG DẪN CHI TIẾT
Khi bắt đầu bài tập, em không nên vội gõ mã. Hãy đọc đề hai lần. Lần đầu để hiểu câu chuyện, lần thứ hai để đánh dấu dữ liệu nhập và kết quả cần in. Tiếp theo, hãy viết một ví dụ cụ thể bằng tay. Nếu đề yêu cầu xử lý nhiều dữ liệu, hãy lập một bảng nhỏ để nhìn thấy dữ liệu thay đổi như thế nào sau mỗi bước. Đây là cách các lập trình viên kiểm tra suy luận trước khi đưa vào máy tính.
Gợi ý kiểm thử: Bộ dữ liệu thứ nhất là trường hợp bình thường, chẳng hạn một tên hợp lệ hoặc một điểm nằm giữa khoảng cho phép. Bộ dữ liệu thứ hai là trường hợp biên, chẳng hạn danh sách rỗng, số 0, điểm đúng bằng 5 hoặc tệp chỉ có một dòng. Bộ dữ liệu thứ ba là trường hợp dễ gây lỗi, chẳng hạn người dùng nhập chữ, nhập khoảng trắng hoặc tìm một dữ liệu không tồn tại. Với mỗi bộ, em hãy ghi kết quả mong đợi trước khi chạy.
Cách đọc bài giải: Không chỉ nhìn kết quả cuối cùng. Hãy đọc từng dòng và trả lời ba câu hỏi: biến này đang lưu gì, lệnh này làm thay đổi điều gì, và nếu điều kiện sai thì chương trình đi đâu? Sau đó tự che phần bài giải, gõ lại từ trí nhớ và chạy thử. Nếu quên, hãy quay lại đúng phần giải thích lệnh thay vì sao chép toàn bộ.
Cách sửa lỗi: Lỗi cú pháp thường liên quan đến dấu ngoặc, dấu hai chấm, chính tả tên biến hoặc thụt lề. Lỗi kiểu dữ liệu thường xuất hiện khi dùng chuỗi như một con số; hãy dùng int() hoặc float() khi phù hợp. Lỗi logic là khi chương trình vẫn chạy nhưng kết quả sai. Với lỗi logic, hãy thêm print() để xem giá trị sau từng bước. Khi đã tìm ra nguyên nhân, xóa các lệnh kiểm tra tạm thời và chạy lại chương trình sạch.
Bài tập tự mở rộng: Sau khi bài giải chạy đúng, em hãy đổi tên biến cho rõ hơn, tách phần xử lý thành hàm, thêm lời nhắc nhập dữ liệu và xử lý trường hợp người dùng bỏ trống. Em cũng có thể yêu cầu chương trình lặp lại nhiều lần bằng while, sau đó cho phép người dùng chọn 0 để kết thúc. Mỗi thay đổi nhỏ nên được kiểm thử ngay để biết chính xác phần nào gây lỗi.
Bài tập tổng hợp: Hãy viết lại bài toán bằng một chương trình hoàn chỉnh có tiêu đề, menu, các hàm riêng và thông báo kết quả dễ đọc. Chương trình cần có ít nhất một trường hợp nhập sai được xử lý. Hãy chuẩn bị phần trình bày ngắn: mục tiêu, dữ liệu vào, thuật toán, các hàm chính, ví dụ chạy thử và điều em muốn cải thiện.
Lời nhắc cuối bài: Lập trình không phải cuộc thi gõ nhanh. Điều quan trọng là em giải thích được vì sao chương trình hoạt động. Nếu chương trình chưa chạy, hãy thu nhỏ bài toán, kiểm tra một phần nhỏ rồi ghép lại. Mỗi lần sửa đúng là một bước tiến. Khi đã hoàn thành, em nên tự viết thêm một bài tương tự để kiểm tra xem mình đã hiểu lệnh hay mới chỉ nhớ lời giải.
Đọc tiếp: https://howto60s.com/bai-5-python-lop-9-xu-ly-loi-255.html
Từ khoá: bai 4 python lop 9 ham va mo-dun, Hướng dẫn Python lớp 9, Bài tập Python cho học sinh THCS, Hướng dẫn bài tập Python 9