Bài 10. Cấu trúc lặp
Chia sẻ bởi Vũ Văn Tiệp |
Ngày 10/05/2019 |
120
Chia sẻ tài liệu: Bài 10. Cấu trúc lặp thuộc Tin học 11
Nội dung tài liệu:
NỘI DUNG
Trong thực tế, khi lập trình đôi khi chúng ta gặp nhiều trường hợp xử lý một công việc lặp đi lặp lại theo qui luật nào đó.
Ví dụ 1: Tính tổng của dãy số nguyên
từ 1 đến 10
Sử dụng CẤU TRÚC LẬP
Số bước lặp có thể xác định trước hoặc có thể chưa xác định trước
Ví dụ 2: Tính tổng dãy số nguyên từ
1 đến N sao cho Tổng <=100
1/ Lặp
Để mô tả cấu trúc lặp với số lần xác định, Pascal dùng câu lệnh lặp FOR – DO theo hai dạng sau:
Dạng vòng lặp TIẾN
Dạng vòng lặp LÙI
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Dạng vòng lặp TIẾN
Khái niệm
Biến đếm tham gia vòng lặp cứ sau mỗi lần lặp, biến đếm tăng lên 1 đơn vị
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Rõ ràng, để giải quyết bài toán trên ta phải lặp
10 lần (từ 1 đến 10)
Ví dụ 3: Theo ví dụ 1, ta có thuật toán tính tổng của
một dãy số S=1+2+3+…+10.
Lần 1: S = 1
Lần 2: S = 1 + 2
Lần 3: S = 1 + 2 + 3
….
Lần 10: S = 1 + 2 + 3 + … + 10
S = 55
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Bước 1: S 0; N 0; {Khởi tạo S và N}
Bước 2: N N + 1;
Bước 3: Nếu N >=10 thì chuyển đến Bước 5;
Bước 4: S S + N Rồi quay lại Bước 2;
Bước 5: Đưa S ra màn hình rồi kết thúc;
Mô tả thuật toán cho máy tính như sau:
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Mô tả thuật toán
Giá trị N khi bắt đầu tham gia vòng
lặp là 1 và sau mỗi lần lặp tăng lên 1
cho đến khi N>10 thì kết thúc vòng lặp
(thực hiện đủ 10 lần)
FOR:= TO DO
Để mô tả thuật toán TIẾN, Pascal dùng
câu lệnh lặp như sau:
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Trong đó:
-: thường là kiểu NGUYÊN
-, :
+ Là các biểu thức cùng kiểu với biến Đếm
+ Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
+ Khi giá trị đầu lớn hơn giá trị cuối thì vòng lặp không thực hiện (kết thúc)
FOR:= TO DO
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
FOR:= TO DO
Như vậy qua ví dụ 3: ta có thể sử dụng vòng lặp
FOR – DO để viết thành câu lệnh như sau:
Áp dụng
FOR N:= 1 TO 10 DO
Biến đếm
Giá trị đầu
Giá trị cuối
Minh họa
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Dạng vòng lặp LÙI
Ví dụ 4: Nếu ta muốn biểu diễn ví dụ 3 theo vòng
lặp từ cao xuống thấp S=10+9+8+…2+1.
Được mô tả:
Bước 1: S 0; N 11; {Khởi tạo S và N}
Bước 2: N N - 1;
Bước 3: Nếu N <1 thì chuyển đến bước 5;
Bước 4: S S + N Rồi quay lại Bước 2;
Bước 5: Đưa S ra màn hình rồi kết thúc;
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Mô tả thuật toán
Giá trị N khi bắt đầu tham gia vòng
lặp là 10 và sau mỗi lần lặp giảm đi 1
cho đến khi N<1 thì kết thúc vòng lặp
(thực hiện đủ 10 lần)
FOR:= DOWNTO DO
Để mô tả thuật toán LÙI, Pascal dùng
câu lệnh lặp như sau:
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Trong đó chú ý:
+ Giá trị cuối phải lớn hơn hoặc bằng giá trị đầu
+ Khi giá trị cuối nhỏ hơn giá trị đầu thì vòng lập
không thực hiện (kết thúc)
FOR:= DOWNTO DO
Áp dụng
FOR N:= 10 DOWNTO 1 DO
Biến đếm
Giá trị cuối
Giá trị đầu
Ta có thể sử dụng vòng lặp Lùi để viết thành câu lệnh cho ví dụ 3 như sau:
Minh hoa
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Khi áp dụng lập trình - ta phải xác định được cần áp dụng cấu trúc vòng lặp nào.
Đối với vòng lặp TiẾN - câu lệnh viết sau từ khóa DO được thực hiện tuần tự, với lần lượt nhận giá trị liên tiếp tăng từ đến .
Đối với vòng lặp LÙI - câu lệnh viết sau từ khóa DO được thực hiện tuần tự, với lần lượt nhận giá trị liên tiếp giảm từ đến .
Giá trị tự động tăng sau mỗi vòng lặp. Vì vậy câu lệnh viết sau DO ta không được thay đổi giá trị của biến đếm một cách tùy tiện.
Một số điểm cần lưu ý khi áp dụng
Trong thực tế, khi lập trình đôi khi chúng ta gặp nhiều trường hợp xử lý một công việc lặp đi lặp lại theo qui luật nào đó.
Ví dụ 1: Tính tổng của dãy số nguyên
từ 1 đến 10
Sử dụng CẤU TRÚC LẬP
Số bước lặp có thể xác định trước hoặc có thể chưa xác định trước
Ví dụ 2: Tính tổng dãy số nguyên từ
1 đến N sao cho Tổng <=100
1/ Lặp
Để mô tả cấu trúc lặp với số lần xác định, Pascal dùng câu lệnh lặp FOR – DO theo hai dạng sau:
Dạng vòng lặp TIẾN
Dạng vòng lặp LÙI
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Dạng vòng lặp TIẾN
Khái niệm
Biến đếm tham gia vòng lặp cứ sau mỗi lần lặp, biến đếm tăng lên 1 đơn vị
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Rõ ràng, để giải quyết bài toán trên ta phải lặp
10 lần (từ 1 đến 10)
Ví dụ 3: Theo ví dụ 1, ta có thuật toán tính tổng của
một dãy số S=1+2+3+…+10.
Lần 1: S = 1
Lần 2: S = 1 + 2
Lần 3: S = 1 + 2 + 3
….
Lần 10: S = 1 + 2 + 3 + … + 10
S = 55
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Bước 1: S 0; N 0; {Khởi tạo S và N}
Bước 2: N N + 1;
Bước 3: Nếu N >=10 thì chuyển đến Bước 5;
Bước 4: S S + N Rồi quay lại Bước 2;
Bước 5: Đưa S ra màn hình rồi kết thúc;
Mô tả thuật toán cho máy tính như sau:
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Mô tả thuật toán
Giá trị N khi bắt đầu tham gia vòng
lặp là 1 và sau mỗi lần lặp tăng lên 1
cho đến khi N>10 thì kết thúc vòng lặp
(thực hiện đủ 10 lần)
FOR
Để mô tả thuật toán TIẾN, Pascal dùng
câu lệnh lặp như sau:
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Trong đó:
-
-
+ Là các biểu thức cùng kiểu với biến Đếm
+ Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
+ Khi giá trị đầu lớn hơn giá trị cuối thì vòng lặp không thực hiện (kết thúc)
FOR
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
FOR
Như vậy qua ví dụ 3: ta có thể sử dụng vòng lặp
FOR – DO để viết thành câu lệnh như sau:
Áp dụng
FOR N:= 1 TO 10 DO
Biến đếm
Giá trị đầu
Giá trị cuối
Minh họa
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Dạng vòng lặp LÙI
Ví dụ 4: Nếu ta muốn biểu diễn ví dụ 3 theo vòng
lặp từ cao xuống thấp S=10+9+8+…2+1.
Được mô tả:
Bước 1: S 0; N 11; {Khởi tạo S và N}
Bước 2: N N - 1;
Bước 3: Nếu N <1 thì chuyển đến bước 5;
Bước 4: S S + N Rồi quay lại Bước 2;
Bước 5: Đưa S ra màn hình rồi kết thúc;
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Mô tả thuật toán
Giá trị N khi bắt đầu tham gia vòng
lặp là 10 và sau mỗi lần lặp giảm đi 1
cho đến khi N<1 thì kết thúc vòng lặp
(thực hiện đủ 10 lần)
FOR
Để mô tả thuật toán LÙI, Pascal dùng
câu lệnh lặp như sau:
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Trong đó chú ý:
+ Giá trị cuối phải lớn hơn hoặc bằng giá trị đầu
+ Khi giá trị cuối nhỏ hơn giá trị đầu thì vòng lập
không thực hiện (kết thúc)
FOR
Áp dụng
FOR N:= 10 DOWNTO 1 DO
Biến đếm
Giá trị cuối
Giá trị đầu
Ta có thể sử dụng vòng lặp Lùi để viết thành câu lệnh cho ví dụ 3 như sau:
Minh hoa
2/ Lặp với số lần biết trước và câu lệnh FOR - DO
Khi áp dụng lập trình - ta phải xác định được cần áp dụng cấu trúc vòng lặp nào.
Đối với vòng lặp TiẾN - câu lệnh viết sau từ khóa DO được thực hiện tuần tự, với
Đối với vòng lặp LÙI - câu lệnh viết sau từ khóa DO được thực hiện tuần tự, với
Giá trị
Một số điểm cần lưu ý khi áp dụng
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Vũ Văn Tiệp
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)