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 19. Câu lệnh điều kiện if

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 cấu trúc câu lệnh if, else và elif trong Python, gồm dấu hai chấm sau điều kiện và thân lệnh được thụt vào.
  • Giải thích được chương trình chỉ chạy đúng một nhánh theo thứ tự xét điều kiện.
  • Phân biệt được ==== (so sánh bằng) với == (gán giá trị) và chọn được ≥\ge hoặc >> theo yêu cầu có tính ngưỡng hay không.
  • Vận dụng được câu lệnh if để viết chương trình nhập số nguyên, xét điều kiện và in kết quả, đồng thời kiểm tra với giá trị biên.

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: HS chủ động đọc bài giảng trên trang NeoEdu, tự đoán kết quả chương trình trước khi chạy và tự đối chiếu, sửa lỗi của mình.
  • Giao tiếp và hợp tác: HS làm việc cặp đôi, trình bày lập luận về kết quả chương trình và nhận xét bài làm của bạn bằng thuật ngữ đúng.
  • Giải quyết vấn đề và sáng tạo: HS phân tích yêu cầu đề bài, xác định điều kiện và ca biên, viết chương trình và kiểm tra bằng dữ liệu mẫu.

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

  • NLa: Sử dụng và quản lí các phương tiện công nghệ thông tin và truyền thông: HS sử dụng môi trường lập trình Python và trang bài học số NeoEdu để chạy, kiểm tra chương trình.
  • 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: HS dùng chương trình chạy thử để kiểm tra điều kiện, ca biên x=8x = 8 và các giá trị ngoài đoạn 00 đến 1010.
  • NLd: Ứng dụng công nghệ thông tin và truyền thông trong học và tự học: HS tự luyện bài tập tương tác trên NeoEdu và tự kiểm tra đáp án.

3. Phẩm chất

  • Chăm chỉ: HS hoàn thành đủ các bài tập đoán kết quả và viết chương trình, kiểm tra lại từng ca thử.
  • Trung thực: HS ghi đúng kết quả chạy thực tế của chương trình, không sửa đáp án để khớp với dự đoán ban đầu.
  • Trách nhiệm: HS nghiêm túc giữ trật tự khi làm việc nhóm, tôn trọng ý kiến bạn khi phản biện kết quả.

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 lập trình Python (IDLE hoặc tương đương) để chạy thử trực tiếp trước lớp.
  • Phiếu học tập số 1 (in hoặc chiếu lên màn hình).
  • Học liệu số NeoEdu: trang bài học có bài giảng, ví dụ và bài tập tương tác tại neoedu.vn/learn/10/informatics/bai-19-cau-lenh-dieu-kien-if.
  • Bảng phụ hoặc khung ghi nhớ kiến thức chính của bài.

2. Học sinh

  • Máy tính có cài Python hoặc truy cập được môi trường lập trình trực tuyến.
  • Vở ghi, bút, giấy nháp để dự đoán kết quả chương trình.
  • Tài khoản truy cập trang NeoEdu (nếu có).

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

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

Đoán kết quả khi gặp điều kiện

a) Mục tiêu

Kích hoạt kiến thức nền về so sánh và suy nghĩ tình huống rẽ nhánh; xác định nhiệm vụ học tập là dùng câu lệnh if để chọn một kết quả.

b) Nội dung

GV đưa ra tình huống: 'Một học sinh được thưởng nếu điểm từ 8 trở lên. Nếu điểm dưới 8 thì không thưởng.' Yêu cầu HS suy nghĩ: Cần máy tính làm việc gì khi nhận một số điểm? Với điểm 8, kết quả là gì? Với điểm 7, kết quả là gì?

c) Sản phẩm

HS nêu được: máy tính cần kiểm tra điều kiện (điểm có lớn hơn hoặc bằng 8 hay không) rồi chọn một kết quả. Điểm 8 thuộc trường hợp được thưởng vì có tính ngưỡng; điểm 7 không được thưởng. Từ đó HS xác định nhiệm vụ bài học: dùng câu lệnh if để chọn một nhánh.

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 thưởng điểm và hỏi: 'Điểm 8 có được thưởng không? Vì sao?'

    Học sinh

    HS suy nghĩ cá nhân trong 1 phút và ghi đáp án vào giấy nháp.

  2. Giáo viên

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

    GV gợi ý: 'Chúng ta cần máy tính kiểm tra điều kiện nào trước?'

    Học sinh

    HS trao đổi nhanh với bạn bên cạnh. Trả lời dự kiến: 'Máy tính cần kiểm tra điểm có từ 8 trở lên không.'

  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 và ghi nhanh lên bảng hai kết quả với điểm 8 và điểm 7.

    Học sinh

    HS trình bày: 'Điểm 8 được thưởng vì bằng ngưỡng; điểm 7 không được thưởng.'

  4. Giáo viên

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

    GV nêu nhiệm vụ bài học: Câu lệnh if là công cụ để máy tính kiểm tra điều kiện và chọn một nhánh thực hiện. Dấu ≥\ge được dùng khi giá trị bằng ngưỡng vẫn thuộc nhánh đúng.

    Học sinh

    HS ghi tên bài và nhiệm vụ học tập vào vở.

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

Cấu trúc if, else và elif

a) Mục tiêu

Nêu được cấu trúc if, else, elif; giải thích được chương trình chỉ chạy đúng một nhánh và các nhánh được xét theo thứ tự.

b) Nội dung

HS làm việc theo cặp với Phiếu học tập số 1. HS đọc chương trình mẫu đã được kiểm tra thực thi:
x=int(input())
if x >= 8:
print(1)
else:
print(0)
HS chạy thử với đầu vào 8 và 7, sau đó hoàn thành Phiếu học tập số 1. Đồng thời GV giới thiệu elif qua ví dụ phân loại điểm: nếu điểm lớn hơn hoặc bằng 8 thì in 'Giỏi', nếu điểm lớn hơn hoặc bằng 5 thì in 'Đạt', ngược lại in 'Chưa đạt'.

c) Sản phẩm

Kiến thức HS rút ra:

  • if kiểm tra biểu thức logic; thân lệnh thụt vào và có dấu hai chấm sau điều kiện.
  • else chạy khi điều kiện sai.
  • elif xét thêm trường hợp theo thứ tự; khi một nhánh đúng thì các nhánh sau không được xét.
  • Với đầu vào 8, chương trình in 11; với đầu vào 7, chương trình in 00. Giá trị bằng 8 thuộc nhánh đúng.
    Kết quả hoàn thành Phiếu học tập số 1 là các đáp án như trên.

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 chương trình mẫu, giải thích từng dòng và phát Phiếu học tập số 1. Nhắc: 'Chú ý dấu hai chấm sau điều kiện và dòng lệnh được thụt vào.'

    Học sinh

    HS nhận phiếu, đọc chương trình và ghi chú các thành phần: điều kiện, dấu hai chấm, thân lệnh.

  2. Giáo viên

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

    GV hướng dẫn HS đoán kết quả với đầu vào 7 và 8 trước khi chạy. Sau đó GV đặt câu hỏi: 'Nếu điều kiện đúng thì dòng else có được chạy không?'

    Học sinh

    HS dự đoán: với 8 in 1, với 7 in 0. HS chạy chương trình trên máy để kiểm tra. Trả lời dự kiến: 'Nếu điều kiện đúng thì else không chạy.'

  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 kết quả và lí do. Sau đó GV hỏi: 'Trong chương trình phân loại điểm có ba nhánh, máy tính xét điều kiện nào trước?'

    Học sinh

    HS trình bày: 'Máy tính xét điều kiện lớn hơn hoặc bằng 8 trước, nếu sai mới xét điều kiện lớn hơn hoặc bằng 5.'

  4. Giáo viên

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

    GV chốt: if kiểm tra điều kiện; else chạy khi điều kiện sai; elif xét thêm trường hợp theo thứ tự. Chương trình chỉ chạy đúng một nhánh. GV yêu cầu HS ghi khung ghi nhớ vào vở.

    Học sinh

    HS ghi kiến thức vào vở và hoàn thiện Phiếu học tập số 1.

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

So sánh bằng, gán giá trị và chọn dấu so sánh

a) Mục tiêu

Phân biệt được ==== với ==; chọn được ≥\ge hoặc >> tùy theo yêu cầu có bao gồm ngưỡng hay không; không đặt các nhánh độc lập khi chỉ cần chọn một kết quả.

b) Nội dung

HS xem trang bài học NeoEdu (phần Hiểu cách hoạt động) hoặc nghe GV trình bày. Nhiệm vụ: So sánh hai đoạn lệnh sau.
Đoạn A: x=8 gán giá trị 8 cho x.
Đoạn B: if x == 8: kiểm tra x có bằng 8 hay không.
HS trả lời câu hỏi: 'Yêu cầu x lớn hơn 8 và x bằng 8 có cùng kết quả không?'

c) Sản phẩm

Kiến thức HS rút ra:

  • ==== là so sánh bằng, cho kết quả đúng hoặc sai; == là gán giá trị cho biến.
  • Dấu >> không bao gồm ngưỡng; dấu ≥\ge bao gồm ngưỡng.
  • Khi yêu cầu chỉ chọn một kết quả, nên dùng if, elif, else liền nhau, không viết nhiều if độc lập.
    Ví dụ: yêu cầu 'x lớn hơn 8' thì x=8 không thuộc nhánh đúng.

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 đoạn lệnh trên và yêu cầu HS nhận xét khác biệt giữa ==== và ==.

    Học sinh

    HS đọc hai đoạn lệnh và ghi nhận xét vào vở.

  2. Giáo viên

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

    GV hỏi: 'Nếu đề yêu cầu x lớn hơn 8, dùng >> hay ≥\ge?' và 'Nếu viết hai câu if độc lập liên tiếp, máy tính có chạy đồng thời không?'

    Học sinh

    HS trao đổi theo cặp. Trả lời dự kiến: 'Dùng >> vì không bao gồm 8.' 'Hai if độc lập đều được kiểm tra nên có thể cùng chạy; nếu chỉ muốn chọn một kết quả thì dùng elif.'

  3. Giáo viên

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

    GV mời 2 cặp trình bày và ghi lên bảng hai ý chính: ==== so sánh, == gán; >> và ≥\ge khác nhau ở ngưỡng.

    Học sinh

    Đại diện cặp trình bày kết quả thảo luận.

  4. Giáo viên

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

    GV chốt kiến thức và lưu ý: Với yêu cầu chọn một kết quả duy nhất, các nhánh nên được nối bằng elif hoặc else để tránh chạy trùng.

    Học sinh

    HS ghi chốt kiến thức vào vở.

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

Đoán kết quả chương trình if

a) Mục tiêu

Vận dụng được cấu trúc if, else và so sánh để dự đoán đúng kết quả in ra của chương trình.

b) Nội dung

HS làm bài tập 1 đến 6 theo nhóm đôi, dự đoán kết quả trên giấy nháp, sau đó kiểm tra bằng máy tính.
Bài 1: x=7; if x>=8: in 1; else: in 0. In ra số nào?
Bài 2: x=10; if x%2==0: in x//2; else: in x. In ra số nào?
Bài 3: a=3; b=8; if a>b: in a; else: in b. In ra số nào?
Bài 4: Dấu nào so sánh bằng? A. ==; B. =; C. !=; D. >=.
Bài 5: Điều kiện x>8 chấp nhận x=8 không? Đúng hay sai?
Bài 6: Sắp xếp các bước giải: Đọc giá trị, Tính điều kiện, Chạy đúng một nhánh, Kiểm tra trường hợp bằng ngưỡng.

c) Sản phẩm

Đáp án:

  • Bài 1: 0 (vì 7 không lớn hơn hoặc bằng 8, nhánh else in 0).
  • Bài 2: 5 (vì 10 chia hết cho 2, in 10 chia 2 bằng 5).
  • Bài 3: 8 (vì 3 không lớn hơn 8, nhánh else in b bằng 8).
  • Bài 4: A (== dùng để kiểm tra bằng; = dùng để gán).
  • Bài 5: Sai (dấu >> không bao gồm bằng, x=8 không thỏa mãn).
  • Bài 6: Đọc giá trị → Tính điều kiện → Chạy đúng một nhánh → Kiểm tra trường hợp bằng ngưỡng.

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 bài 1 đến 6 và yêu cầu HS dự đoán kết quả trước khi chạy. Nhắc HS ghi dự đoán ra giấy nháp.

    Học sinh

    HS đọc đề, ghi dự đoán cho từng câu.

  2. Giáo viên

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

    GV đi quanh lớp, hỗ trợ các cặp còn lúng túng ở phép chia lấy dư %\% và phép chia lấy nguyên ////.

    Học sinh

    HS chạy chương trình bài 1 đến 3 trên máy, đối chiếu với dự đoán. Trả lời bài 4 đến 6 bằng suy luận.

  3. Giáo viên

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

    GV mời một HS đọc đáp án bài 1 đến 3 và một HS trả lời bài 4 đến 6. Nếu có sai, GV hỏi lại điều kiện nào đã được xét.

    Học sinh

    HS báo cáo: 0, 5, 8; A; Sai; thứ tự các bước như đáp án.

  4. Giáo viên

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

    GV nhận xét và nhấn mạnh: Khi đọc chương trình có if, luôn xác định điều kiện đúng hay sai trước khi xác định kết quả in ra.

    Học sinh

    HS tự sửa các câu sai trong vở.

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

Viết chương trình kiểm tra điểm và ca biên

a) Mục tiêu

Vận dụng được if để viết chương trình hoàn chỉnh, kiểm tra theo dữ liệu mẫu và xử lí ca biên trong bài toán thực tế.

b) Nội dung

Nhiệm vụ 1: Đọc số nguyên x, in 1 nếu x≥8x \ge 8, ngược lại in 0; thử với x=8. Viết chương trình hoàn chỉnh và kiểm tra.
Nhiệm vụ 2: Sửa yêu cầu thành in 1 chỉ khi x nằm trong đoạn từ 0 đến 10. Nêu điều kiện và các ca biên.
HS có thể luyện thêm trên trang bài học NeoEdu (phần bài tập tương tác).

c) Sản phẩm

Sản phẩm mẫu:

  • Nhiệm vụ 1: x=int(input()); if x >= 8: print(1); else: print(0). Với đầu vào 8, kết quả in 1; giá trị bằng 8 thuộc nhánh đúng.
  • Nhiệm vụ 2: Điều kiện đoạn đóng 0≤x≤100 \le x \le 10 hoặc x>=0 and x<=10. Ca biên: x=0 và x=10 in 1; x=-1 và x=11 in 0.
    HS nêu được lí do: giá trị biên thuộc đoạn đóng nên dùng dấu ≥\ge và ≤\le.

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

  1. Giáo viên

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

    GV giao nhiệm vụ 1 và 2 trên màn hình; yêu cầu HS viết chương trình trong IDLE và ghi ca thử vào vở. Với nhiệm vụ 2, GV nhắc HS xét ít nhất bốn ca: 0, 10, -1, 11.

    Học sinh

    HS đọc đề và xác định dữ liệu vào, dữ liệu ra.

  2. Giáo viên

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

    GV hướng dẫn HS mở trang bài học NeoEdu để tự kiểm tra thêm bằng bài tập tương tác. Nhắc HS nhập dữ liệu đúng định dạng số nguyên.

    Học sinh

    HS viết và chạy chương trình, thử các ca biên, ghi kết quả. Trả lời dự kiến: 'Với nhiệm vụ 2, dùng 0<=x<=10 nên 0 và 10 đều in 1.'

  3. Giáo viên

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

    GV mời 2 HS trình bày chương trình và kết quả thử ca 8, ca 0, ca 10, ca -1, ca 11; các bạn nhận xét theo tiêu chí điều kiện, thụt lề, xuất kết quả.

    Học sinh

    HS trình bày và góp ý: 'Điều kiện đúng với đề.' 'Cần thụt lề đúng để máy tính hiểu thân lệnh.'

  4. Giáo viên

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

    GV đánh giá nhanh và chốt: Khi giải quyết bài toán bằng if, cần xác định đúng điều kiện, kiểm tra ca biên và chạy thử để đối chiếu với yêu cầu đề bài.

    Học sinh

    HS tự đánh giá chương trình của mình theo tiêu chí GV nêu.

Phiếu học tập

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

Chương trình:
x=int(input())
if x >= 8:
print(1)
else:
print(0)

Câu 1. Chỉ ra dòng nào là điều kiện, dòng nào là thân lệnh của if, dòng nào là thân lệnh của else.
Câu 2. Dự đoán kết quả và ghi kết quả chạy thực tế:

  • Đầu vào 8: dự đoán ....; chạy thực tế ....
  • Đầu vào 7: dự đoán ....; chạy thực tế ....
    Câu 3. Điền vào chỗ trống:
  • if kiểm tra ..........................
  • else chạy khi điều kiện ..........................
  • elif xét thêm trường hợp theo ..........................
    Câu 4. Viết lại điều kiện để phân loại điểm: lớn hơn hoặc bằng 8 là 'Giỏi'; lớn hơn hoặc bằng 5 là 'Đạt'; còn lại là 'Chưa đạt'. Dùng if, elif, else.

Hướng dẫn về nhà

  • Hoàn thành bài tập 7 và 8 trong sách giáo khoa: viết chương trình hoàn chỉnh, kiểm tra với các ca 8, 0, 10, -1, 11 và ghi lại kết quả vào vở.
  • Truy cập trang bài học NeoEdu (neoedu.vn/learn/10/informatics/bai-19-cau-lenh-dieu-kien-if) và làm bài tập tương tác về câu lệnh if; ghi lại các câu sai và giải thích lí do.
  • Suy nghĩ tình huống thực tế trong gia đình hoặc trường học có điều kiện rẽ nhánh (ví dụ: phân loại thời tiết hoặc tính tiền theo mức), viết mô tả điều kiện bằng lời và chuẩn bị chia sẻ ở tiết học sau.

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.