Tải bản đầy đủ (.ppt) (22 trang)

Slide bài giảng cấu trúc lặp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (177.55 KB, 22 trang )

Thế giới lập trình
Bài 4 / Slide
1 of 16
©NIIT
Cấu Trúc Lặp
Nội dung chính

Giới thiệu cấu trúc lặp

Vòng lặp while

Vòng lặp repeat … until

Vòng lặp for

Lệnh goto
Thế giới lập trình
Bài 4 / Slide
2 of 16
©NIIT
Cấu Trúc Lặp
Cấu trúc lặp

Cấu trúc lặp là cấu trúc cho phép thực thi một đoạn mã trong
chương trình nhiều lần.

Quá trình lặp của đoạn mã này được điều khiển bằng một điều
kiện gọi là điều kiện lặp. Trong khi điều kiện lặp còn đúng thì vòng
lặp sẽ được lặp lại. Khi điều kiện lặp là sai thì vòng lặp sẽ kết thúc
và lệnh ngay phía sau vòng lặp sẽ được thực thi.


Các câu lệnh chứa bên trong vòng lặp gọi là thân của vòng lặp.

Ví dụ: vẽ lưu đồ giải thuật nhập vào 10 số và tính tổng 10 số đó
Thế giới lập trình
Bài 4 / Slide
3 of 16
©NIIT
Cấu Trúc Lặp
Thế giới lập trình
Bài 4 / Slide
4 of 16
©NIIT
Cấu Trúc Lặp
Cấu trúc lặp

Có 4 vòng lặp cơ bản

Vòng lặp while

Vòng lặp repeat – until

Vòng lặp for

Lệnh nhảy goto
Thế giới lập trình
Bài 4 / Slide
5 of 16
©NIIT
Cấu Trúc Lặp
Vòng lặp while


Vòng lặp while dùng để thực thi các lệnh mã giả trong khi điều kiện
lặp còn đúng. Nếu điều kiện lặp sai, vòng lặp while sẽ kết thúc và
câu lệnh ngay phía sau vòng lặp được thực hiện.

Vòng lặp while có cú pháp như sau
while(điều kiện lặp)
begin
//các câu lệnh trong thân vòng lặp
end

Nếu ngay từ đầu điều kiện lặp không đúng thì các câu lệnh bên
trong vòng lặp while sẽ không được thực hiện.
Thế giới lập trình
Bài 4 / Slide
6 of 16
©NIIT
Cấu Trúc Lặp
Vòng lặp while - Ví dụ minh họa:

Jane là giáo viên tại trường Scholar, cô Jane cần tính
điểm trung bình cho lớp học của cô phụ trách lớp học
của cô Jane có 30 học viên. Vẽ lưu đồ giải thuật và
mã giả cho bài tóan trên.

Lưu đồ giải thuật:
Thế giới lập trình
Bài 4 / Slide
7 of 16
©NIIT

Cấu Trúc Lặp
Thế giới lập trình
Bài 4 / Slide
8 of 16
©NIIT
Cấu Trúc Lặp
Mã giả
begin
numeric nMarks, nTotal, nCounter, nAvg
nMarks = 0
nTotal = 0
nCounter = 0
nAvg = 0
while (nCounter < 30) //while the condition is true
begin
display “Enter the total marks of a student”
accept nMarks
nTotal = nTotal + nMarks
nCounter = nCounter + 1 //increments the counter by one
end
nAvg = nTotal / nCounter //calculates the average
display “The average marks of the class is”
display nAvg //displays the average
end
Thế giới lập trình
Bài 4 / Slide
9 of 16
©NIIT
Cấu Trúc Lặp
Vòng lặp repeat … until


Vòng lặp repeat … until thực hiện một đoạn mã giả cho đến khi
điều kiện lặp đúng.

Vòng lặp repeat … until có cú pháp như sau:
repeat
begin
// các câu lệnh bên trong vòng lặp
end
until (điều kiện lặp)
Thế giới lập trình
Bài 4 / Slide
10 of 16
©NIIT
Cấu Trúc Lặp
Vòng lặp repeat … until (tiếp theo)

Khác với vòng lặp while, vòng lặp repeat … until sẽ thực hiện
trước các lệnh bên trong thân vòng lặp trước, sau đó mới xét đến
điều kiện lặp. Do đó vòng lệnh repeat … until sẽ được thực hiện ít
nhất 1 lần.

Nếu điều kiện lặp là sai thì vòng lặp repeat … until sẽ quay lại thực
hiện tiếp, nếu điều kiện lặp là đúng thì vòng lặp repeat … until sẽ
kết thúc.
Thế giới lập trình
Bài 4 / Slide
11 of 16
©NIIT
Cấu Trúc Lặp

Vòng lặp repeat … until – ví dụ minh họa

Vẽ lưu đồ giải thuật và viết mã giả cho chương trình nhập vào hai
số sau đó tính tổng của hai số đó. Sau đó chương trình có chức
năng hỏi người dùng là có muốn tiếp tục không? Nếu người dùng
trả lời là “Yes” thì chương trình được tiếp tục thực hiện, nếu người
dùng trả lời “No” thì kết thúc chương trình.

Lưu đồ giải thuật:
Thế giới lập trình
Bài 4 / Slide
12 of 16
©NIIT
Cấu Trúc Lặp
Thế giới lập trình
Bài 4 / Slide
13 of 16
©NIIT
Cấu Trúc Lặp
Mã giả
begin
numeric nNum1, nNum2, nSum
character cChoice
repeat
begin
display “Enter the first number”
accept nNum1
display “Enter the second number”
accept nNum2
nSum = nNum1 + nNum2

display nSum
display “Do you wish to calculate the sum of more numbers?”
accept cChoice
end
until(cChoice = “No”) //until the choice entered is “No”
end
Thế giới lập trình
Bài 4 / Slide
14 of 16
©NIIT
Cấu Trúc Lặp
Vòng lặp for

Vòng lặp for được dùng trong trường hợp ta biết trước số lần lặp
trước khi vòng lặp được thực hiện. Vòng lặp for được cấu thành từ
3 thành phần cơ bản được phân cách bằng dấu chẩm phảy (;) như
sau:

Biểu thức khởi động: biến điều khiển vòng lặp được gán cho giá trị
ban đầu.

Điều kiện lặp: điều kiện lặp được kiểm tra ở đầu vòng lặp, nếu điều
kiện lặp đúng thì vòng lặp được thực hiện, nếu điều kiện lặp sai,
vòng lặp for sẽ kết thúc.
Thế giới lập trình
Bài 4 / Slide
15 of 16
©NIIT
Cấu Trúc Lặp
Vòng lặp for (tiếp theo)


Biểu thức tăng/giảm biến điều khiển vòng lặp: giá trị của biến điều
khiển vòng lặp được tăng hoặc giảm.

Cú pháp của vòng lặp for như sau:
for(biểu thức khởi động; điều kiện lặp; biểu thức tăng/giảm biến
điều kiển)
begin
//các câu lệnh bên trong vòng lặp for
end
Thế giới lập trình
Bài 4 / Slide
16 of 16
©NIIT
Cấu Trúc Lặp
Vòng lặp for - ví dụ minh họa

Vẽ lưu đồ giải thuật và viết mã giả chương trình hiển thị tất cả các
số chẳng bé hơn hoặc bằng 100.

Lưu đồ giải thuật
Thế giới lập trình
Bài 4 / Slide
17 of 16
©NIIT
Cấu Trúc Lặp
Mã giả
begin
numeric nCounter
for(nCounter=2;nCounter<=100;

nCounter=nCounter+2)
begin
display nCounter
end
end
Thế giới lập trình
Bài 4 / Slide
18 of 16
©NIIT
Cấu Trúc Lặp
Câu lệnh nhảy goto

Câu lệnh nhảy goto được dùng trong tình huống là sự thực thi của giải thuật
không tuân theo một thứ tự tuần tự.

Trong chương trình bạn có thể nhảy đến vị trí bất kỳ bằng câu lệnh goto. Để
đánh dấu vị trí mà chương trình có thể nhảy đến bạn cần phải gán nhãn
cho nó.

Cú pháp lệnh nhãy goto như sau:
nhãn 1:
// các câu lệnh
goto nhãn 1;
Thế giới lập trình
Bài 4 / Slide
19 of 16
©NIIT
Cấu Trúc Lặp
Câu lệnh nhảy goto (tiếp theo)


Lệnh nhảy goto cung cấp sự linh động trong việc điều khiển dòng
chảy của chương trình trong giải thuật. Tuy nhiên lệnh nhảy goto
có một số điểm không thuận lợi như sau:

Nó phá vở dòng chảy của chương trình vì lệnh nhảy goto cho phép
nhảy đến một nhãn bất kỳ.

Nhiều câu lệnh goto được dùng sẽ làm tăng độ phức tạp của
chương trình.

Lệnh nhảy goto làm cho chương trình không có tính cấu trúc do đó
rất khó để bắt lỗi và sửa lỗi.
Thế giới lập trình
Bài 4 / Slide
20 of 16
©NIIT
Cấu Trúc Lặp
Câu lệnh goto – ví dụ minh họa

Viết mã giả cho chương trình hiển thị các số chẵng nhỏ hơn 100.
begin
numeric nCounter
nCounter=2
Label1:
nCounter=nCounter+2
display nCounter //displays all the even numbers
if(nCounter<=100)
goto Label1 //transfers the control to Label1
end
Thế giới lập trình

Bài 4 / Slide
21 of 16
©NIIT
Cấu Trúc Lặp
Tóm tắt

Cấu trúc lặp là cấu trúc cho phép thực thi một đoạn mã trong
chương trình nhiều lần.

Quá trình lặp của đoạn mã này được điều khiển bằng một điều
kiện gọi là điều kiện lặp. Trong khi điều kiện lặp còn đúng thì vòng
lặp sẽ được lặp lại. Khi điều kiện lặp là sai thì vòng lặp sẽ kết thúc
và lệnh ngay phía sau vòng lặp sẽ được thực thi.

Có 4 loại vòng lặp

Vòng lặp while

Vòng lặp repeat – until

Vòng lặp for

Lệnh nhảy goto
Thế giới lập trình
Bài 4 / Slide
22 of 16
©NIIT
Cấu Trúc Lặp
Bài tập
Bài 1: Vẽ lưu đồ giải thuật và viết mã giả cho chương trình tính tổng của

các số chẵng nhỏ hơn 100.
Bài 2: Vẽ lưu đồ giải thuật và viết mã giả cho chương trình nhập vào số n,
sau đó tính n giai thừa.
Bài 3: Vẽ lưu đồ giải thuật và viết mã giả cho chương trình nhập vào 10 số
bất kỳ, sau đó in ra số lớn nhất trong 10 số đã nhập.

×