0
SUBTOTAL :$0.00
 Giao trinh hoc lap trinh vong lap while, for, vi du thuc te dua tren van hoa Viet Nam

Giao trinh hoc lap trinh vong lap while, for, vi du thuc te dua tren van hoa Viet Nam

Size
Price:

Read more »

 

Dưới đây là giáo trình học lập trình về vòng lặp whilefor với các ví dụ thực tế dựa trên văn hóa Việt Nam, giúp các bạn dễ hình dung và áp dụng.


Giáo Trình Học Vòng Lặp WhileFor

Mục tiêu Bài học

Sau bài học này, bạn sẽ:

  • Hiểu rõ khái niệm và mục đích sử dụng của vòng lặp trong lập trình.
  • Nắm vững cú pháp và cách hoạt động của vòng lặp while.
  • Nắm vững cú pháp và cách hoạt động của vòng lặp for.
  • Phân biệt được sự khác nhau giữa vòng lặp whilefor và biết khi nào nên sử dụng loại nào.
  • Áp dụng vòng lặp để giải quyết các vấn đề thực tế, đặc biệt là các ví dụ gần gũi với văn hóa Việt Nam.

1. Vòng lặp là gì?

Trong lập trình, vòng lặp (loop) là một cấu trúc điều khiển cho phép bạn thực hiện một khối lệnh (hoặc một đoạn mã) lặp đi lặp lại nhiều lần cho đến khi một điều kiện nào đó không còn đúng nữa. Vòng lặp giúp bạn tiết kiệm thời gian và công sức khi cần thực hiện các tác vụ lặp lại mà không phải viết lại cùng một đoạn mã.

Hãy hình dung việc đếm số lượng bánh chưng trong một nồi lớn, hay việc bạn phải liên tục làm đi làm lại một công việc nào đó cho đến khi hoàn thành. Đó chính là ý tưởng cơ bản của vòng lặp.


2. Vòng lặp while

Vòng lặp while (trong khi) được sử dụng khi bạn muốn thực hiện một khối lệnh miễn là một điều kiện còn đúng. Bạn không biết trước chính xác số lần lặp, mà nó sẽ lặp cho đến khi điều kiện trở thành False.

Cú pháp cơ bản

Python
while dieu_kien_con_dung:
    # Các lệnh sẽ được thực hiện lặp đi lặp lại
    # Đảm bảo có một lệnh nào đó thay đổi "dieu_kien_con_dung"
    # để vòng lặp có thể kết thúc, nếu không sẽ là vòng lặp vô hạn.

Ví dụ 1: Nấu nồi bánh chưng

Hãy tưởng tượng bạn đang nấu một nồi bánh chưng lớn. Bạn cần đun liên tục trong 8 giờ.

Python
thoi_gian_da_nau = 0  # Đơn vị: giờ
thoi_gian_can_nau = 8

print("Bắt đầu nấu nồi bánh chưng...")

while thoi_gian_da_nau < thoi_gian_can_nau:
    print(f"Đã nấu được {thoi_gian_da_nau} giờ. Nồi bánh vẫn đang sôi lục bục...")
    thoi_gian_da_nau += 1  # Tăng thời gian đã nấu lên 1 giờ

print("Hoàn thành! Bánh chưng đã chín, thơm phức rồi!")

Giải thích:

  • thoi_gian_da_nau < thoi_gian_can_nau: Đây là điều kiện của vòng lặp. Vòng lặp sẽ tiếp tục chạy miễn là thời gian đã nấu chưa đạt 8 giờ.
  • thoi_gian_da_nau += 1: Đây là lệnh quan trọng giúp thay đổi điều kiện. Nếu không có lệnh này, thoi_gian_da_nau sẽ không bao giờ tăng, và vòng lặp sẽ chạy mãi mãi (vòng lặp vô hạn), khiến chương trình bị treo.

Ví dụ 2: Hái hết quả bưởi trong vườn

Bạn có một cây bưởi trĩu quả và muốn hái cho đến khi không còn quả nào trên cây nữa.

Python
so_qua_buoi_tren_cay = 10 # Giả sử ban đầu có 10 quả

print("Bắt đầu hái bưởi...")

while so_qua_buoi_tren_cay > 0:
    print(f"Còn {so_qua_buoi_tren_cay} quả bưởi trên cây. Hái thêm 1 quả!")
    so_qua_buoi_tren_cay -= 1 # Giảm số quả đã hái đi 1

print("Hái hết bưởi rồi! Giờ có thể thưởng thức nước bưởi hoặc làm chè bưởi.")

Giải thích:

  • Vòng lặp tiếp tục chạy miễn là so_qua_buoi_tren_cay lớn hơn 0.
  • Mỗi lần lặp, bạn "hái" đi một quả (so_qua_buoi_tren_cay -= 1) làm cho điều kiện ngày càng tiến gần đến False.



3. Vòng lặp for

Vòng lặp for (cho) được sử dụng khi bạn muốn thực hiện một khối lệnh một số lần lặp xác định hoặc duyệt qua từng phần tử trong một tập hợp (như danh sách, chuỗi, dải số).

Cú pháp cơ bản

Python
# Cách 1: Lặp theo một dải số
for bien_dem in range(so_lan_lap):
    # Các lệnh sẽ được thực hiện

# Cách 2: Lặp qua từng phần tử trong một tập hợp
for phan_tu in tap_hop:
    # Các lệnh sẽ được thực hiện

Hàm range():

  • range(n): Tạo ra một chuỗi số từ 0 đến n-1. (Ví dụ: range(5) sẽ cho 0, 1, 2, 3, 4)
  • range(bat_dau, ket_thuc): Tạo chuỗi số từ bat_dau đến ket_thuc-1.
  • range(bat_dau, ket_thuc, buoc_nhay): Tạo chuỗi số với bước nhảy xác định.

Ví dụ 1: Đếm số lượng món ăn trong mâm cỗ Tết

Bạn có một mâm cỗ Tết với các món ăn đã chuẩn bị sẵn. Bạn muốn liệt kê từng món.

Python
mam_co_tet = ["Bánh chưng", "Giò lụa", "Nem rán", "Gà luộc", "Canh măng", "Xôi gấc"]

print("Các món ăn trên mâm cỗ Tết:")

for mon_an in mam_co_tet:
    print(f"- {mon_an}")

print("Mâm cỗ thật phong phú!")

Giải thích:

  • Vòng lặp for sẽ duyệt qua từng mon_an trong danh sách mam_co_tet.
  • Mỗi lần lặp, mon_an sẽ nhận giá trị của phần tử tiếp theo trong danh sách và khối lệnh bên trong sẽ được thực hiện.

Ví dụ 2: Rắc muối trên xôi gấc

Bạn muốn rắc muối vừng lên đĩa xôi gấc 5 lần để đảm bảo đều và vừa ăn.

Python
so_lan_rac_muoi = 5

print("Bắt đầu rắc muối vừng lên đĩa xôi gấc...")

for lan_rac in range(so_lan_rac_muoi): # range(5) sẽ tạo ra các số 0, 1, 2, 3, 4
    print(f"Lần rắc thứ {lan_rac + 1}: Rắc muối vừng đều tay.")

print("Xôi gấc đã sẵn sàng để thưởng thức!")

Giải thích:

  • for lan_rac in range(so_lan_rac_muoi): Vòng lặp sẽ chạy 5 lần (từ lan_rac = 0 đến lan_rac = 4).
  • Chúng ta in lan_rac + 1 để hiển thị số lần rắc bắt đầu từ 1 thay vì 0.

Ví dụ 3: Đếm số lượng học sinh xếp hàng chào cờ

Bạn muốn biết số lượng học sinh đang xếp hàng chào cờ, mỗi bạn là một "phần tử" trong hàng.

Python
so_hoc_sinh = 25 # Giả sử có 25 học sinh

print("Bắt đầu điểm danh học sinh xếp hàng chào cờ...")

for i in range(1, so_hoc_sinh + 1): # Lặp từ 1 đến số học sinh
    print(f"Học sinh thứ {i} đã có mặt.")

print(f"Tổng cộng có {so_hoc_sinh} học sinh đã xếp hàng đầy đủ.")

Giải thích:

  • range(1, so_hoc_sinh + 1): Hàm range được sử dụng để tạo ra một chuỗi số từ 1 đến so_hoc_sinh. Điều này rất tiện lợi khi bạn biết chính xác số lần bạn muốn lặp.



4. So sánh vòng lặp whilefor

Đặc điểmVòng lặp whileVòng lặp for
Khi sử dụngKhi không biết trước số lần lặp cụ thể.Khi biết trước số lần lặp hoặc muốn duyệt qua một tập hợp.
Điều kiện dừngDựa vào một điều kiện Boolean (True/False).Dựa vào việc duyệt hết các phần tử hoặc đạt số lần lặp.
Kiểm soát lặpCần đảm bảo có thay đổi biến điều kiện bên trong vòng lặp.Tự động tăng biến đếm hoặc duyệt qua phần tử tiếp theo.
Ví dụChờ đợi nước sôi, tìm kiếm một giá trị.Duyệt danh sách, thực hiện tác vụ N lần.

Nên chọn loại nào?

  • Sử dụng while khi bạn cần lặp cho đến khi một điều kiện nào đó không còn đúng (ví dụ: "tiếp tục nhập dữ liệu cho đến khi người dùng nhập 'thoát'", "tiếp tục di chuyển đến khi đến đích").
  • Sử dụng for khi bạn có một tập hợp các mục để xử lý hoặc bạn biết chính xác số lần bạn muốn lặp (ví dụ: "xử lý từng mục trong danh sách", "lặp 10 lần để tạo 10 bản sao").

Bài tập Thực hành (Dựa trên văn hóa Việt Nam)

Hãy thử viết chương trình cho các tình huống sau:

  1. Đếm pháo hoa đêm giao thừa (for): Viết một chương trình sử dụng vòng lặp for để mô phỏng việc đếm ngược 5 giây trước khi pháo hoa bắn lên vào đêm giao thừa. Sau mỗi giây, in ra "Còn X giây...". Khi kết thúc, in "Bắn pháo hoa!!!".

  2. Đong gạo nấu cơm (while): Bạn đang đong gạo để nấu cơm. Cần đong đủ 3 bát gạo. Mỗi lần đong được 1 bát. Viết chương trình sử dụng vòng lặp while để mô phỏng quá trình này. In ra số bát gạo đã đong sau mỗi lần lặp.

  3. Hái rau muống (while hoặc for): Trong vườn có 20 ngọn rau muống cần hái. Mỗi lần bạn hái được 1 ngọn.

    • Sử dụng vòng lặp for để mô phỏng quá trình hái từng ngọn.
    • Sau đó, thử sử dụng vòng lặp while để làm tương tự. So sánh hai cách làm.
  4. Kiểm tra vé số (while): Bạn đang kiểm tra các tờ vé số cho đến khi tìm thấy một tờ trúng giải (giả sử có 5 tờ vé số, và tờ thứ 3 là tờ trúng). Viết chương trình sử dụng vòng lặp while để kiểm tra từng tờ. Khi tìm thấy tờ trúng, dừng lại và thông báo.

0 Reviews

Biểu mẫu liên hệ

Tên

Email *

Thông báo *