Câu lệnh lặp kiểm tra điều kiện trước WHILE (WHILE DO)

Một phần của tài liệu Giáo trình nhập môn tin học phần III ngôn ngữ lập trình pascal 1 (Trang 27)

III. Các lệnh chu trình (Cấu trúc lặp)

2.Câu lệnh lặp kiểm tra điều kiện trước WHILE (WHILE DO)

 Khái niệm: Lệnh While Do dùng cho cả 2 dạng bài toán lặp với số lần lặp đã xác định và không xác định .

 Cấu trúc lệnh :

WHILE < Biểu thứcđiều kiện > DO Các lệnh lặp ;

 Giải thích các đại lượng :

- Biểu thứcđiều kiện là biểu thức so sánh hoặc Logic, kết quả của nó chỉ nhận một trong 2 giá trịđúng hoặc sai.

- Miền tác động của lệnh (Các lệnh lặp) có thể là 1 hoặc nhiều lệnh sẽ được thực hiện khi điều kiệnđúng.

 Cách thực hiện của lệnh: Khi gặp lệnh, chương trình kiểm tra giá trị của BTĐK, các lệnh lặp sẽ được thực hiện khi giá trị của biểu thức điều kiện vẫn là “đúng” và sẽ dừng thực hiện ngay khi giá trị của BTĐK nhận giá trị “sai” .

 Các lưu ý :

- Khi sử dụng lệnh While Do cho các thuật toán chu trình phải chú ý, trong câu lệnh chưa có các bước gán giá trịđầu và tăng biếnđiều khiển. Do vậy chúng ta phải tự bổ sung nếu cần. Bước nhẩy của biếnđiều khiển là bất kỳ.

- Nếu Miền tác động có 1 lệnh thì viết ngay sau Do, nếu có từ 2 lệnh trở lên thì các lệnh này phảiđặt trong khối Begin …End;

- Khôngcó dấu ; sau Do

- Các lệnh có thể lồng nhau, tuy nhiên các vòng lặp không được cắt nhau.

- Vòng lặp trong có thể kết thức trước khi giá trị của biến điều khiển nhận giá trị “sai” và chuyển ra vòng lặp ngoài, tuy nhiên không thể chuyển từ vòng lặp ngoài vào vòng lặp trong.

- Lệnh While Do là loại lệnh kiểm tra trước,thực hiện sau, do vậy có thể không có vòng lặp nào được thực hiện.

 Ví dụ: - Các ví dụ minh hoạ cho câu lệnh:

+ WHILE i <= n DO T:= T + i / X[i] ; + WHILE Hoi = ‘C’ DO

Begin

Write (‘Nhap du lieu ‘);

Readln ( SV [i]. Hoten, SV [i] . Diem); …

Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal- 1 GVC: Đào Tăng Kiệm Readln (Hoi) ; End; + i:= 1 ; WHILE i <= n DO Begin

Write (’ A[ ’ , i , ’ ] = ’); Readln ( A[i] ); T:=T + A[i] ; i := i+ 1

End;

Một phần của tài liệu Giáo trình nhập môn tin học phần III ngôn ngữ lập trình pascal 1 (Trang 27)