Module: chu kỳ. Vòng lặp với tham số (for)


Problem

1/17

Vòng lặp trong lập trình

Theory Click to read/hide

Hãy tưởng tượng một tình huống mà chúng ta cần hiển thị cùng một từ trên màn hình, hãy nói từ "HELLO", 10 lần. Chúng ta nên làm gì?
Bạn có thể lấy và viết lệnh 10 lần writeln('HELLO');

Nhưng nếu bạn không cần 10 lần mà là 20, 30, 40 lần thì sao ?, và nếu 200 lần thì sao? Trong trường hợp này, việc sao chép sẽ mất rất nhiều thời gian. Và nếu cần người dùng có thể chọn số lần hiển thị thông tin trên màn hình? 

Để đối phó với nhiệm vụ này, chúng ta có thể sử dụng một cấu trúc đặc biệt có tên là LOOP

Vòng lặp là một cấu trúc thuật toán trong đó một chuỗi lệnh nhất định được lặp lại nhiều lần.


Trong ngôn ngữ lập trình Pascal có hai loại vòng lặp: vòng lặp có biến (for) và vòng lặp có điều kiện (while)

Hãy bắt đầu làm quen với các chu kỳ từ loại đầu tiên.

VÒNG LẠI VỚI MỘT BIẾN HOẶC VỚI MỘT SỐ BƯỚC ĐÃ BIẾT (CHO)

Điều thường xảy ra là chúng ta biết số lần lặp lại của một số hành động hoặc chúng ta có thể tính toán số lần lặp lại bằng cách sử dụng dữ liệu mà chúng ta biết. Một số ngôn ngữ lập trình có lệnh mà trong tiếng Nga nghe giống như REPEAT (số lần) - nghĩa là chúng ta có thể chỉ định chính xác số lần lặp lại. 

Thật thú vị khi xem chu trình này hoạt động như thế nào ở cấp độ máy:
1. một ô nhớ nhất định được cấp phát trong bộ nhớ và số lần lặp lại được ghi vào ô đó,
2. khi chương trình thực hiện thân vòng lặp một lần, nội dung của ô này (bộ đếm) sẽ giảm đi một.
3. Quá trình thực hiện vòng lặp kết thúc khi ô này bằng 0.

Trong ngôn ngữ lập trình Pascal, không có cấu trúc như vậy, nhưng có cấu trúc for.  

Dạng tổng quát của câu lệnh lặp for như sau: đối với *giá trị đầu* thành *giá trị cuối* làm bắt đầu /*một câu lệnh hoặc khối câu lệnh - thân vòng lặp*/; kết thúc; Việc xây dựng này yêu cầu chúng ta
1. cấp phát rõ ràng một ô nhớ, ô nhớ này sẽ là một bộ đếm và đặt giá trị ban đầu
2. Chỉ định giá trị trong ô này sẽ thay đổi như thế nào.
3. một điều kiện đã được viết theo đó thân vòng lặp sẽ được thực thi

Trong phần thực hành, chúng tôi sẽ thử hiển thị từ Hello 10 lần. Trong các nhiệm vụ tiếp theo, chúng tôi sẽ phân tích cấu trúc này chi tiết hơn.

Problem

Chương trình sau hiển thị từ Hello 10 lần.
Xin lưu ý rằng chúng tôi đã hoàn thành 3 bước cần thiết

1. cấp phát rõ ràng một ô nhớ sẽ là một bộ đếm và đặt vào đó giá trị ban đầu  - i := 1 
2. cho biết giá trị trong ô đã cho sẽ thay đổi như thế nào  - thành - sau khi thực hiện nội dung vòng lặp, giá trị của biến i sẽ tăng thêm 1
3. đã đăng ký giá trị cuối cùng mà thân chu trình sẽ được thực thi - 10   - thân vòng lặp (lệnh writeln) sẽ được thực thi miễn là i nhỏ hơn hoặc bằng 10

CHẠY CHƯƠNG TRÌNH, ĐẢM BẢO NÓ HIỂN THỊ TỪ "Xin chào" 10 lần