Bài 10. Cấu trúc lặp

Chia sẻ bởi Nguyễn Viết Duy | Ngày 10/05/2019 | 73

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:

Trang bìa
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

* Lưu đồ

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.

Ví dụ:
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ấu trúc lặp kiểm tra điều kiện sau
Cú pháp và lưu đồ:
* Cú pháp: Repeat Until <điều kiện> * Lưu đồ:

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.

Chú ý:
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.

Ví dụ:
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.

Sử dụng kết hợp 2 cấu trúc
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ố
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!
* 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ẻ: Nguyễn Viết Duy
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)