Tải bản đầy đủ (.pdf) (25 trang)

S nmc5 loop

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 (1.04 MB, 25 trang )

Chương 5
Vịng lặp
while / do-while / for

Nhập mơn về lập trình (C5)

Slide 1


Learning outcomes
L.O.3.1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô
tả chúng.
L.O.3.2 – Mô tả được được nguyên tắc kết hợp các kiểu
điều khiển để mô tả các giải thuật.
L.O.3.3 – Hiện thực được các kiểu điều khiển bằng ngôn
ngữ C.
L.O.3.4 – Sử dụng các cấu trúc điều khiển để giải quyết bài
tốn thực tế.

Nhập mơn về lập trình (C5)

Slide 2


Vịng lặp là gì ?
 Vịng lặp là các phát biểu điều khiển dùng để thực hiện
một công việc nhiều lần.
 Các phát biểu thực hiện cơng việc trong vịng lặp gọi là
thân vịng lặp.
 Một vịng lặp thường có các phần :
• Khởi động vịng lặp.


• Thân vịng lặp.
• Điều khiển vịng lặp.

 Có thể phân loại vịng lặp theo các tiêu chuẩn sau :
• Điều kiện : đi trước hoặc đi sau.
• Số lần lặp : biết trước hoặc khơng biết trước.
Nhập mơn về lập trình (C5)

Slide 3


Vịng lặp
Sơ đồ
Khởi
Khởiđộng
động

Sai

Điều khiển
Điều khiển
Đúng

Thân
Thân

Thốt

Nhập mơn về lập trình (C5)


Slide 4


Vòng lặp
Phân loại
 VC++ cho phép sử dụng 3 loại vịng lặp với cú pháp như
sau:
• Vịng lặp while

while (condition) statement;
• Vịng lặp do

do statement while (condition);
• Vịng lặp for

for (initopt ; condopt ; loopopt ) statement;

Nhập môn về lập trình (C5)

Slide 5


Vòng lặp while
Cú pháp

:

while (condition) statement

Nghĩa là : trong khi điều kiện condition cịn đúng thì làm

phát biểu statement.
• condition là biểu thức luận lý điều khiển vòng lặp:
 Đúng thì lặp (thực hiện statement).
 Sai thì kết thúc (thốt khỏi vịng lặp).
• statement có thể là phát biểu ghép { ... }.

Vịng lặp while là vịng lặp có điều kiện đi trước và số lần
lặp không biết trước.

Nhập môn về lập trình (C5)

Slide 6


Vòng lặp while
Lưu đồ vận hành

Điều kiện đi trước
Sai
Điều
Điềukiện
kiện
Đúng
Lệnh
Lệnh
Kết thúc lặp

Nhập mơn về lập trình (C5)

Slide 7



Vịng lặp while
Ví dụ
 Tính tổng các số ngun S = 1 + 2 + 3 + ... + n
(1)
 Để có thể sử dụng vịng lặp, ta cần đưa cơng thức tính
dãy về dạng “từng bước”:
S(n) = G[S(n-1)]
 Theo dạng này, muốn tính giá trị bước thứ n, phải có giá
trị bước thứ (n-1).
 Xuất phát của vịng lặp là từ bước n=0.
 Ta có thể viết lại tổng trên như sau:
S(n) = 1 + 2 + 3 + ... + (n-1) + n
(2)
mặt khác theo (1) ta cũng có:
S(n-1) = 1 + 2 + ... + (n-1)
(3)
Vậy, từ (2) và (3) ta suy ra:
S(n) = S(n-1) + n
(4)
Nhập mơn về lập trình (C5)

Slide 8


Vịng lặp while
Ví dụ
 Để xác định giá trị ban đầu, từ (1) ta có:
S(1) = 1

(5)
Mặt khác, từ (4) ta có:
S(1) = S(0) + 1
(6)
Suy ra:
S(0)=0
 Trong cơng thức (4), ta thay n bằng biến đếm i (i = 1  n)
 Như vậy, các dữ kiện về vòng lặp là:
• Khởi động:
• Thân:
• Điều khiển:

Nhập mơn về lập trình (C5)

S=0,i=1
S=S+i,i=i+1
i <= n(lặp đến khi i lớn hơn n)

Slide 9


Vịng lặp while
Ví dụ

Nhập mơn về lập trình (C5)

Slide 10


Vòng lặp do-while

Cú pháp và vận hành
Cú pháp

:

do statement while (condition) ;

Nghĩa là : làm phát biểu statement trước 1 lần, sau đó xét
điều kiện condition, nếu đúng thì lặp lại, sai kết thúc.
• condition là biểu thức luận lý điều khiển vịng lặp:
 Đúng thì lặp (thực hiện statement).
 Sai thì kết thúc (thốt khỏi vịng lặp).
• statement có thể là phát biểu ghép { ... }.

Vòng lặp do-while là vịng lặp có điều kiện đi sau và số lần
lặp khơng biết trước.

Nhập mơn về lập trình (C5)

Slide 11


Vòng lặp do-while
Lưu đồ vận hành

Lệnh
Lệnh
Điều kiện đi sau

Điều

Điềukiện
kiện

Sai

Đúng

Kết thúc lặp
Nhập mơn về lập trình (C5)

Slide 12


Vịng lặp do-while
Ví dụ tính giai thừa
 Tính giai thừa gt = 1*2*3*...*n
 Đưa về dạng lặp: gt(n)= gt(n-1)*n
 Từ đó, ta có thể xác định các dữ kiện vịng lặp như sau:
• Khởi động:
gt=1, i=1
• Thân:
gt=gt*i
i=i+1
• Kiều kiện lặp:
(i<=n)

Nhập mơn về lập trình (C5)

Slide 13



Vịng lặp do-while
Code ví dụ tính giai thừa

Nhập mơn về lập trình (C5)

Slide 14


Vòng lặp for
Cú pháp và vận hành
Cú pháp

:

for (initopt ; condopt ; loopopt ) statement

Nghĩa là : làm phát biểu statement trong khi điều kiện
condopt cịn đúng.





initopt :
condopt :
loopopt :
statement :

là phát biểu khởi động vòng lặp.

là biểu thức luận lý quyết định lặp hay dừng.
là phát biểu điều khiển vịng lặp.
có thể là phát biểu ghép.

Vịng lặp for cho phép thực hiện vịng lặp có số lần lặp biết
trước nếu dùng các dạng sau :
for (đếm=cậndưới; đếm<=cậntrên ; tăng đếm ) statement
for (đếm=cậntrên; đếm>=cậndưới ; giảm đếm ) statement

Nhập mơn về lập trình (C5)

Slide 15


Vòng lặp for
Lưu đồ vận hành

Init
Initopt
opt

cond
condopt
opt
Đúng

Điều kiện đi trước

Sai


Kết thúc lặp

Statement
Statement
loop
loopopt
opt

Nhập mơn về lập trình (C5)

Slide 16


Vịng lặp for
Ví dụ sắp thứ tự dãy

Nhập mơn về lập trình (C5)

Slide 17


Vịng lặp for
Giải thuật Bubble sort
i=0

55

22

77


11

44

j=1

55
22

55

77

11

44

55

77

22

44

j=2-3

22
11


j=4

11
Nhập mơn về lập trình (C5)

Slide 18


Vịng lặp for
Giải thuật Bubble sort
i=1

11

55

77

22

44

j=2-3

55
11

22


77

55

44

j=4

22

Nhập mơn về lập trình (C5)

Slide 19


Vịng lặp for
Giải thuật Bubble sort
i=2

11

22

77

55

44

j=3


77
11

22

55

77

44

77

55

j=4

55
11

Nhập mơn về lập trình (C5)

22

44

Slide 20



Vịng lặp for
Giải thuật Bubble sort
i=3

11

22

44

77

55

j=4

77
Xong

11

Nhập mơn về lập trình (C5)

22

44

55

77


Slide 21


Vòng lặp for
Nhập trị ban đầu và xử lý dãy
 Vòng lặp for thường dùng để xử lý dãy (array).

Nhập mơn về lập trình (C5)

Slide 22


Vòng lặp for
Vòng lặp lồng nhau
 Dùng 2 vòng for lồng nhau để xử lý ma trận.
Định nghĩa

Nhập phần tử

Nhập mơn về lập trình (C5)

Slide 23


Vịng lặp for
Tính tổng ma trận
 Dùng 2 vịng for lồng nhau để tính tổng 2 ma trận.

Nhập mơn về lập trình (C5)


Slide 24


Vòng lặp for
In ma trận
 Dùng 2 vòng for lồng nhau để in ma trận.

Nhập mơn về lập trình (C5)

Slide 25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×