Skip to main content

Buổi học 8 (18/07/2025): Chữa bài tập về nhà, ôn tập Python cơ bản và giới thiệu Hàm (Function)

Buổi học tập trung vào việc chữa các bài tập về nhà, ôn tập kiến thức Python cơ bản, và giới thiệu khái niệm Hàm (Function). Điểm nhấn của buổi học là phương pháp tư duy logic để giải quyết vấn đề, thay vì chỉ ghi nhớ công thức hay sao chép code.


I. Chữa Bài Tập Về Nhà & Ôn Tập Kiến Thức Cơ Bản

Giáo viên chữa lần lượt các bài tập đã giao, đồng thời giải thích sâu hơn về tư duy logic đằng sau mỗi bài toán.

1. Bài toán về Biến, Kiểu dữ liệu và Toán tử:

Bài 1: Đổi nhiệt độ từ độ C sang độ F.

  • Quy trình: Nhập dữ liệu bằng input(), ép kiểu sang float, áp dụng công thức toán học và dùng print() để in kết quả.

Bài 2: Đổi tổng số giây sang định dạng Giờ:Phút:Giây.

  • Đây là bài toán đòi hỏi tư duy logic cao. Giáo viên nhấn mạnh tầm quan trọng của việc hiểu bản chất các phép toán.
  • Công thức cốt lõi: Sử dụng phép chia lấy phần nguyên (//)phép chia lấy phần dư (%).
    • Số giờ = Tổng số giây // 3600
    • Số giây còn lại = Tổng số giây % 3600
    • Số phút = Số giây còn lại // 60
    • Số giây cuối cùng = Số giây còn lại % 60
  • Lưu ý quan trọng: Phân biệt giữa phép chia thường (/) trả về kiểu float và phép chia nguyên (//) trả về kiểu int.

Bài 3: Tính căn bậc hai của một số.

  • Có hai cách tiếp cận được giới thiệu:
    1. Dùng hàm có sẵn từ thư viện math: math.sqrt(số).
    2. Sử dụng phép toán lũy thừa (**): số ** 0.5.
  • Giáo viên giải thích thêm về kiến thức toán học: Lũy thừa với số mũ 0.5 (tức 1/2) tương đương với việc lấy căn bậc hai.

2. Bài toán về Cấu trúc điều kiện if-elif-else:

Ôn tập quy tắc của if-elif-else:

  • if luôn đứng đầu.
  • elif (ngược lại nếu) đứng giữa, có thể có nhiều elif.
  • else (ngược lại) luôn đứng cuối và chỉ có một.
  • Nguyên tắc: Một khối if-elif-else hoàn chỉnh sẽ chỉ thực thi một và chỉ một nhánh điều kiện đúng đầu tiên mà nó gặp.
  • Toán tử logic: and (và) yêu cầu tất cả điều kiện phải đúng; or (hoặc) chỉ cần một điều kiện đúng.

Bài 4: So sánh 3 số - Bài học về Tư duy Lập trình (Điểm nhấn của buổi học)

  • Giáo viên nhấn mạnh rằng mục tiêu của bài toán này không chỉ là tìm ra số lớn nhất, mà là rèn luyện tư duy logic để giải quyết vấn đề từ gốc rễ, một kỹ năng cốt lõi trong lập trình.
  • Hướng dẫn tư duy từng bước (thay vì học thuộc lòng code):
    1. Bắt đầu bằng một phép so sánh đơn giản: Lấy số thứ nhất so sánh với số thứ hai.
    2. Rẽ nhánh logic:
      • Trường hợp 1: Nếu số thứ nhất > số thứ hai:
        • Suy luận: số thứ hai chắc chắn không thể là số lớn nhất. Vấn đề bây giờ đã được thu hẹp lại.
        • Hành động tiếp theo: Chỉ cần so sánh số thứ nhất với số thứ ba.
          • Nếu số thứ nhất > số thứ ba -> số thứ nhất là lớn nhất.
          • Ngược lại -> số thứ ba là lớn nhất.
      • Trường hợp 2: Ngược lại (tức là số thứ nhất <= số thứ hai):
        • Suy luận: số thứ nhất chắc chắn không phải là số lớn nhất.
        • Hành động tiếp theo: Chỉ cần so sánh số thứ hai với số thứ ba.
          • Nếu số thứ hai > số thứ ba -> số thứ hai là lớn nhất.
          • Ngược lại -> số thứ ba là lớn nhất.
  • Kết luận: Cách tư duy lồng ghép if-else này mô phỏng chính xác quá trình loại trừ và suy luận của con người. Việc hiểu được luồng tư duy này quan trọng hơn nhiều so với việc chỉ nhớ cú pháp if-elif-else ngắn gọn mà AI có thể cung cấp. Học lập trình là học cách giải quyết vấn đề, không phải học thuộc lòng giải pháp.

Bài 5: Xếp loại học lực dựa trên điểm.

  • Đây là ví dụ điển hình cho việc sử dụng chuỗi if-elif-else để kiểm tra các khoảng giá trị liên tiếp.
  • Một kỹ thuật được giới thiệu là dùng một biến xep_loai để lưu kết quả, và chỉ print() một lần ở cuối cùng, giúp code sạch sẽ hơn.

Bài 6: Kiểm tra năm nhuận.

  • Bài toán này dùng để luyện tập cách kết hợp các điều kiện phức tạp bằng andor.
  • Quy tắc năm nhuận: (năm % 400 == 0) or (năm % 4 == 0 and năm % 100 != 0)

II. Giới thiệu Kiến Thức Mới: Hàm (Function) trong Python

1. Khái niệm và Lợi ích:

  • Hàm là một khối mã được đặt tên, có thể tái sử dụng nhiều lần, giúp chương trình gọn gàng, dễ đọc và dễ quản lý.

2. Cú pháp và Quy tắc:

  • Dùng từ khóa def để định nghĩa và return để trả về giá trị.

3. Quy tắc bắt buộc khi đặt tên Biến và Hàm:

  • Đây là những quy tắc mà Python yêu cầu phải tuân thủ, nếu sai sẽ gây lỗi chương trình.
    • Ký tự hợp lệ: Tên chỉ được chứa chữ cái (a-z, A-Z), số (0-9), và dấu gạch dưới (_).
    • Không được bắt đầu bằng số: Tên 1_bien là sai, nhưng bien_1 là đúng.
    • Không được trùng với các từ khóa của Python: Không thể đặt tên biến/hàm là if, else, for, def, return... vì đây là những từ đã được Python sử dụng cho các mục đích riêng.

4. Phân biệt Quy tắc (Rules) và Quy ước (Conventions):

  • Ngoài các quy tắc bắt buộc trên, cộng đồng lập trình viên còn có các quy ước để code dễ đọc hơn (ví dụ: đặt tên biến/hàm bằng chữ thường và dùng gạch dưới để nối các từ - snake_case, đặt tên hằng số bằng chữ in hoa - PI = 3.14). Những quy ước này không bắt buộc nhưng rất nên tuân theo.

III. Phương Pháp Học Tập và Dặn Dò

  • Tư duy là số một: Luôn tự hỏi "Tại sao lại giải quyết như vậy?" trước khi xem đáp án. Hãy thử tự phác thảo các bước giải quyết ra nháp.

  • Sử dụng AI như một người gia sư, không phải một cái máy chép bài:

    • Học cách tư duy: Thay vì hỏi "Viết code cho bài X", hãy hỏi "Hãy hướng dẫn tôi từng bước suy nghĩ để giải bài X".
    • Đối thoại và phản biện: Hỏi lại AI: "Tại sao bạn chọn cách này mà không phải cách khác?", "Ưu/nhược điểm của giải pháp này là gì?".
  • Lưu ý khi học với AI: Xử lý các khái niệm nâng cao

    • Đôi khi, AI có thể đưa ra câu trả lời chứa các kiến thức vượt quá trình độ hiện tại của bạn (ví dụ, khi hỏi về hàm, AI có thể đề cập đến lambda - một khái niệm nâng cao).
    • Khi gặp tình huống này, hãy chủ động điều khiển cuộc trò chuyện:
      • Cung cấp ngữ cảnh: "Hãy giải thích lại cho người mới bắt đầu học Python."
      • Yêu cầu đơn giản hóa: "Câu trả lời này hơi phức tạp. Bạn có thể giải thích theo cách đơn giản hơn, chỉ dùng kiến thức về if-else và biến không?"
      • Tạm thời bỏ qua: Nếu thấy một khái niệm quá lạ, bạn có thể tạm thời bỏ qua nó và tập trung vào phần chính của bài học.

IV. Giao Bài Tập Về Nhà

  • Giao 5 bài tập về nhà liên quan đến Hàmif-else.
  • Yêu cầu buổi tới: Mỗi bạn sẽ chọn 1 bài để trình bày và giải thích luồng tư duy của mình.