Tin Học PyThon 11 – Bài 10: Cấu Trúc Lặp 11/2022

Video hướng dẫn

Mục tiêu bài học:

  • Mô tả được thuật toán của một số bài toán đơn giản sử dụng cấu trúc lặp.
  • Hiểu được cấu trúc lặp với số lần biết trước, cấu trúc lặp với số lần chưa biết trước.

1. Khái niệm lặp

Cấu trúc lặp là một điều khiển thực hiện lặp đi lặp lại một công việc nào đó khi chưa đủ số lần lặp hoặc khi một điều kiện nào đó còn đúng.

Quá trình lặp vô hạn là quá trình lặp không thể dừng lại. Trường hợp lặp vô hạn xảy ra khi điều kiện kết thúc chưa được đặt, không thể xảy ra và / hoặc khiến vòng lặp khởi động lại trước khi kết thúc.

Phân loại: Lặp bao gồm 2 loại:

Dạng lặp với số lần biết trước:

Ví dụ: A gọi điện cho B, gọi lần 1 không được An quyết gọi thêm 2 lần nữa.

Trong trường hợp này, thì A sẽ gọi lặp lại cho B tới lần thứ 3 thì sẽ dừng lại.

Dạng lặp với số lần chưa biết trước:

Ví dụ: A đổ nước vào thùng với thể tích cả thùng chưa biết là bao nhiêu.

Trong trường hợp này thì A sẽ phải lặp đi lặp lại việc đổ nước vào thùng khi nào thùng đầy hẳn sẽ dừng lại.

Trong Python, cấu trúc lặp cũng tương tự được chia làm 2 loại:

  • Dạng lặp với số lần biết trước (sử dụng for-in)
  • Dạng lặp với số lần chưa biết trước (sử dụng while)

2. Hàm Range()

Đây là hàm xác định biến có các phần tử xuất hiện liên tục trong một khoảng nào đó.

Cú pháp: range(start, end, step)

Giải thích: start: Khởi đầu dãy
                  end: Kết thúc dãy
                  step: Bước nhảy
        
Ví dụ: Range(200): Là dãy từ 0 đến 199.
          Range(9,20): Là dãy liên tục từ 9 đến 20.
         Range(39,54,3): Là dãy số từ 39,42,45,48,51,54

3. Lặp với số lần biết trước

Cú pháp:  for (biến đếm)  in range (start, end, step):

        Khối lệnh

Trong đó:
    

  • Biến đếm: là biến đơn, thường là kiểu nguyên.
  • Start: Khởi đầu dãy, end: Kết thúc dãy, step: Bước nhảy.
  • Khối lệnh là câu lệnh đơn hoặc câu lệnh ghép trong Python.

Cách thức hoạt động:

hình cách thức hoạt động

Mô tả hoạt động:

Bước 1: Gắn giá trị start cho biến đếm.

Bước 2: Kiểm tra xem giá trị Start < giá trị End? Nếu đúng thì tiếp tục nhảy xuống bước 3, ngược lại thì kết thúc chương trình.

Bước 3: Thực hiện khối lệnh sau range.

Bước 4: Biến đếm tăng thêm 1 bậc: biến đếm = biến đếm + 1.

Bước 5: Kiểm tra tiếp biến đếm < giá trị end? Nếu đúng trở về bước 3, ngược lại kết thúc chương trình.

Ví dụ: Viết chương trình in ra 10 dòng “Tin Học Sao Việt” với câu lệnh for-in.

hình chương trình in ra tin học sao việt

Nguyên lý hoạt động: Giá trị của biến i sẽ lần lượt nhận giá trị từ start, start + 1,…,end – 1. Như vậy câu lệnh print(“Hello Python”) sẽ thực hiện lặp end-start lần. Khi start > end sẽ dừng chương trình.

Giá trị của step luôn khác không. Khi step > 0, các số sẽ thuộc [start,end) và khi thêm step < 0 thì các số sẽ thuộc (end,start]

Ví dụ: step > 0 => [1,11) nghĩa là bỏ số 11, vẫn lấy số 1.

4. Bài tập thực hành

Bài 1: Tính tổng các giá trị từ 9….15?

Lời giải:

hình chương trình tính tổng

Giải thích: Trong bài 1 này, bạn cần xác định phạm vi tính là từ 9 đến 15. Biến đếm = 9.

Bài 2: Với n là số nguyên (n>0). Viết chương trình tính tổng các giá trị sau:

s = 1+1/2+1/3+…+1/n 

Giải:

chương trình tính tổng phân số

5. Lặp với số lần chưa biết trước

Cú pháp: While <điều kiện> :

                     Khối lệnh

Chú ý: Để thoát khỏi một vòng lặp vô hạn trong Python, ta sử dụng tổ hợp phím Ctrl + C.

Khi sử dụng câu lệnh while để thực hiện lặp, bạn cần chú ý:

Câu lệnh khởi tạo điều kiện:

Ví dụ: n = 1

Biểu thức điều kiện:

Ví dụ: n <= 3

Khối lệnh lặp

Ví dụ: print(x)

Câu lệnh cập nhật điều kiện

Ví dụ: n = n + 1

Ví dụ 1:

hình ảnh dùng while

Ví dụ 2: Tìm ước chung lớn nhất của hai số nguyên dương M và Nguyên

Giải:

chương trình tìm ước chung lớn nhất

Vậy là mình đã hoàn thành xong bài 10, tiếp theo bạn sẽ sang tiếp Bài 11: Thực Hành Cấu Trúc Rẽ Nhánh.