Bài 10. Cấu trúc lặp
Nội dung tài liệu:
Trang bìa:
CẤU TRÚC LẶP KHÔNG XÁC ĐỊNH Sinh Viên: Nguyễn Viết Duy Lớp: Toán Tin 05 Khoa: Tự Nhiên Trường: CĐSP Hưng Yên GV hướng dẫn: cô Nguyễn Thị Nhàn Cấu trúc lặp kiểm tra điều kiện trước
cú pháp và lưu đồ:
* Cú pháp: White<điều kiện> Do
Trong đó: Điều kiện: chính là biểu thức logic có giá trị True hoặc Flse
Công việc: là các lệnh cần thực thi và được đặt trong cặp từ khoá Begin...End.
Giải thích lệnh:
Gặp lệnh này trước tiên máy kiểm tra biểu thức logic trong phần điều kiên.
Nếu nó có giá trị True thì thực hiện các lệnh trong phần công việc sau đó quay lại kiểm
tra biểu thức logic
Nếu biểu thức logic nhận giá trị Flase thì máy lập tức thoát khỏi vòng lặp
Như vậy lệnh while dùng để lặp đi lặp lại một công việc trong khi điều kiện còn được
thoả mãn.
Chú ý:
Nếu ngay từ khi mới vào vòng lặp mà thấy điều kiện không được thoả mãn, máy tự động
thoát ngay mà không thể thực hiện lệnh bên trong vòng lặp.
Lập chương trình tính tổng của n số tự nhiên đầu tiên
Bài giải:
PROGRAM Tính_Tong;
Var S: Real;
i,n: Interger;
Begin
Write('Ban hay vao so n:'); Readln(n);
S:=0;
i:=1;
While i<=N Do
Begin
S:=S+i ;
i:=i+1;
End;
writeln('Tong la:'S:3:2);
Readln;
End.
Cú pháp và lưu đồ:
* Cú pháp: Repeat
Trong đó: Điều kiện: chính là biểu thức logic có giá trị True hoặc False
Công việc: là các lệnh cần thực thi và không đặt trong cặp từ khoá Begin...End.
Giải thích lệnh:
Đầu tiên, thực hiện lần lượt các lệnh trong phần công việc.
Sau đó kiểm tra biểu thức logic trong phàn điều kiện.
Nếu biểu thức logic nhận giá trị False thì quay lại nên đầu vòng lặp thực hiện tiếp
các lệnh trong phần công việc.
Nếu biểu thức logic nhận giá trị True thì thoát khỏi vòng lặp.
Như vậy các lệnh nằm giữa Repeat...Until được thực hiện ít nhất 1 lần.
Lệnh Repeat...Until không cần từ khoá Begin...End. Trong vòng lặp phải có lệnh nào đó làm thay đổi giá trị một biến trong biểu thức logic nhằm làm dừng vòng lặp nếu vòng lặp sẽ chạy mãi không dừng dẫn đến treo máy. Những chương trình cần lặp đi lặp lại theo ý muốn thường sử dụng vòng lặp Repeat...Until theo dạng quay vòng như sau:
Quay vòng:
Var CH: char;
begin
Repeat
...
Write('co tiep tuc nua khong? C/K ');
Readln(CH);
CH:=Upcase(CH);
Until CH='K';
End.
Chương trình yêu cầu nhập vào một mật khẩu là "thoat" thì mới thoát khỏi chương trình.
Bài giải
PROGRAM Mat_khau_thoat;
Var
Matkhau: String[5];
Begin
Repeat
Write('xin hay nhap mat khau');
Readln(Matkhau);
Until Matkhau='thoat';
Write('Ban da nhap mat khau thanh cong !');
Delay(1000);
readln;
End.
VÍ dụ:
Viết chương trình tìm ước chung lớn nhất của 2 số nguyên bất kỳ. Chương trình thoát khi nhập kí tự k
Bài giải
PROGRAM Tim_UCLN;
Var
a,b,r:integer;
CH: Char;
Begin
Repeat
Write('xin hay nhap 2 so nguyen a va b: ');
Readln(a,b);
While b<>0 Do
Begin
r:=a mod b;
a:=b;
b:=r;
End;
Write('UCLN la: ',a);
Write('Ban tim UCLN nưa khong C/K?');
readln(CH);
CH:=Upcase(CH);
Until CH='k';
End.
củng cô:
* Phân biệt sự khác nhau giữa hai vòng lặp. * Khi nào nên sử dụng vòng lặp Repeat...Until. * Khi nào nên sử dụng vòng lặp While...Do. * Có thể kết hợp 2 vòng lặp? bài tập 1:
Cấu trúc lặp kiểm tra điều kiện trước sau đây là đúng hay sai?
Thực hiện công việc.Kiểm tra điều kiện:Nếu bt logic là True thì thực hiện lại công việc rồi quay lại kiểm tra bt logic. Nếu bt logic là False thì máy lập tức thoát khỏi vòng lặp.
Kiểm tra bt logic trong điều kiện: Nếu bt logic là True thì thực hiện các lệnh trong phần công việc rồi quay lại kiểm tra bt logic. Nếu bt logic là False thì máy lập tức thoát khỏi vòng lặp.
Kiểm tra bt logic trong điều kiện: Nếu bt logic là False thì thực hiện các lệnh trong phần công việc rồi quay lại kiểm tra bt logic. Nếu bt logic là True thì máy lập tức thoát khỏi vòng lặp.
bài tập 2:
Cấu trúc lặp kiểm tra điều kiện sau sau đây là đúng hay sai?
Thực hiện công việc.Kiểm tra điều kiện:Nếu bt logic là False thì thực hiện lại công việc rồi quay lại kiểm tra bt logic. Nếu bt logic là True thì thoát khỏi vòng lặp.
Kiểm tra điều kiện:Nếu bt logic là False thì thực hiện lại công việc rồi quay lại kiểm tra bt logic. Nếu bt logic là True thì thoát khỏi vòng lặp.Rồi thực hiện công việc.
Thực hiện công việc.Kiểm tra điều kiện:Nếu bt logic là True thì thực hiện lại công việc rồi quay lại kiểm tra bt logic. Nếu bt logic là False thì thoát khỏi vòng lặp.
Về nhà:
- Học kỹ lý thuyết và xem lại các ví dụ. - Lấy thêm các ví dụ về cấu trúc lặp không xác định. - Chuẩn bị cho bài tới. Lời chào
Lời chào:
Bài làm không thể chánh những sai xót mong các bạn góp ý kiến Thanks!