Bài 7. Câu lệnh lặp (tiết 1)
Mon Jan 17, 2022 9:01 pm
Bài 7. Câu lệnh lặp (tiết 1)
1. Các công việc phải thực hiện
Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần.
Ví dụ:
+ Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà
+ Các em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi thuộc bài
Ví dụ số lần lặp biết trước: Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà.
Ví dụ số lần lặp không biết trước: Trong một trận cầu lông các em lặp đi lặp lại công việc đánh cầu cho đến khi kết thúc trận cầu.
Tóm lại: Khi viết chương trình máy tính, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định.
2. Câu lệnh lặp - một lệnh thay cho nhiều lệnh
Ví dụ 1: Giả sử cần vẽ 3 hình vuông có cạnh 1 đơn vị. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị.
Hình 1. Ba hình vuông
Thuật toán:
+ Bước 1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu)
+ Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1, ngược lại kết thúc thuật toán
KẾT LUẬN:
- Cách mô tả các hoạt động lặp trong thuật toán như ví dụ trên được gọi là cấu trúc lặp
- Để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh gọi là câu lệnh lặp
3. Câu lệnh lặp For...Do
Cú pháp:
For< Biến đếm > := < Giá trị đầu > to< Giá trị cuối > do < Câu lệnh >;
Trong đó:
+ For, to, do là các từ khóa
+ Biến đếm là biến kiểu nguyên
+ Giá trị đầu, giá trị cuối là các giá trị nguyên
Lưu ý:
+ Giá trị đầu phải nhỏ hơn giá trị cuối
+ Câu lệnh không làm thay đổi giá trị của biến đếm
+ Nếu câu lệnh nhiều hơn một lệnh thì phải đặt trong cặp Begin … end;
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp.
Chương trình mẫu:
Ví dụ 4: In một chữ "O" trên màn hình.
Chương trình mẫu:
Hình 3. Câu lệnh đơn và câu lệnh ghép
Câu lệnh đơn giản writeln('O') và delay(100) được đặt trong hai từ khóa begin và end; để tạo thành một câu lệnh ghép trong Pascal.
1. Các công việc phải thực hiện
Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần.
Ví dụ:
+ Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà
+ Các em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi thuộc bài
Ví dụ số lần lặp biết trước: Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà.
Ví dụ số lần lặp không biết trước: Trong một trận cầu lông các em lặp đi lặp lại công việc đánh cầu cho đến khi kết thúc trận cầu.
Tóm lại: Khi viết chương trình máy tính, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định.
2. Câu lệnh lặp - một lệnh thay cho nhiều lệnh
Ví dụ 1: Giả sử cần vẽ 3 hình vuông có cạnh 1 đơn vị. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị.
Hình 1. Ba hình vuông
+ Bước 1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu)
+ Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1, ngược lại kết thúc thuật toán
KẾT LUẬN:
- Cách mô tả các hoạt động lặp trong thuật toán như ví dụ trên được gọi là cấu trúc lặp
- Để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh gọi là câu lệnh lặp
3. Câu lệnh lặp For...Do
Cú pháp:
For< Biến đếm > := < Giá trị đầu > to< Giá trị cuối > do < Câu lệnh >;
Trong đó:
+ For, to, do là các từ khóa
+ Biến đếm là biến kiểu nguyên
+ Giá trị đầu, giá trị cuối là các giá trị nguyên
Lưu ý:
+ Giá trị đầu phải nhỏ hơn giá trị cuối
+ Câu lệnh không làm thay đổi giá trị của biến đếm
+ Nếu câu lệnh nhiều hơn một lệnh thì phải đặt trong cặp Begin … end;
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp.
Chương trình mẫu:
Ví dụ 4: In một chữ "O" trên màn hình.
Chương trình mẫu:
Hình 3. Câu lệnh đơn và câu lệnh ghép
Câu lệnh đơn giản writeln('O') và delay(100) được đặt trong hai từ khóa begin và end; để tạo thành một câu lệnh ghép trong Pascal.
Permissions in this forum:
You cannot reply to topics in this forum
|
|