Bài 10: Cấu Trúc Lặp - Hoc24

BÀI 10. CẤU TRÚC LẶP

- Trong cuộc sống, có những hành động được gọi là lặp đi lặp lặp lại nhiều lần như:

  • Đánh răng mỗi ngày hai lần, học Tin học mỗi tuần 2 tiết, mỗi ngày tắm một lần...
  • Học cho đến khi thuộc bài, rửa tách trà cho đến khi sạch...

- Trong Pascal, cách mô tả công việc (hoạt động) được lặp lại nhiều lần gọi là cấu trúc lặp. Có 3 loại cấu trúc vòng lặp như sau:

  • Cấu trúc for
  • Cấu trúc while do
  • Cấu trúc repeat

1. Cấu trúc FOR

- Cấu trúc FOR cho phép lặp lại nhiều lần một dãy lệnh mà số lần lặp lại đã biết trước.

- Phát biểu FOR có 2 dạng:

  • Dạng tiến (đếm lên): FOR ..... TO ..... DO
  • Dạng lùi (đếm xuống): FOR ..... DOWNTO ..... DO

- Cú pháp tổng quát:

FOR <biến đếm> := <giá trị đầu> TO/DOWNTO <giá trị cuối> DO <Công việc>;

- Sơ đồ khối:

- Hoạt động:

  • Bước 1: Thực hiện biểu thức 1 (gán giá trị khởi đầu)
  • Bước 2: Kiểm tra điều kiện lặp:
    • Nếu điều kiện lặp có giá trị ‘sai’ thì ra khỏi vòng lặp.
    • Ngược lại, nếu điều kiện lặp có giá trị ‘đúng’ thì chuyển tới bước 3.
  • Bước 3: Thực hiện khối lệnh sau for (thân của for), chuyển tới bước 4.
  • Bước 4: Thực hiện biểu thức 3 (tăng/ giảm biến đếm), rồi quay về bước 2.

* Chú ý:

  • Giá trị đầu, giá trị cuối là các biến hoặc hằng;
  • Biến đếm phải là kiểu rời rạc.

- Ví dụ 1: Chương trình in một dãy số từ 0 đến 9

PROGRAM Day_So; VAR i: Integer; BEGIN FOR i := 0 TO 9 DO Write (i); Readln; END.

2. Câu lệnh While …Do

- Cấu trúc:

WHILE <điều kiện> DO <lệnh cần lặp>;

- Sơ đồ khối:

* Lưu ý: Trong khối các lệnh lặp bắt buộc phải có lệnh thay đổi biến chỉ số (để thay đổi giá trị <điều kiện>)

- Hoạt động:

  • Bước 1: Kiểm tra điều kiện lặp:
    • Nếu điều kiện lặp sai thì thoát khỏi vòng lặp, chuyển sang lệnh tiếp theo.
    • Nếu điều kiện lặp đúng thì chuyển sang bước 2.
  • Bước 2: Thực hiện khối các lệnh lặp.
  • Bước 3: Quay lại bước 1.

- Ví dụ 2: Chương trình tính trung bình n số: x1 + x2 + x3 + ... + xn

Program Trung_binh_Day_So; VAR n, count: Integer; x, sum, average: real; BEGIN count := 1; sum := 0; Writeln('Nhập n = '); readln (n); WHILE count < n+1 DO BEGIN Writeln('Nhập giá trị thứ' , count,' của x = '); readln (x); sum := sum + x; count := count + 1; END; average := sum/n; Writeln('Trung bình là =' , average : 10 : 3 ); Readln; END.

Từ khóa » Ví Dụ Cấu Trúc Lặp Tiến