Môn học Tin đại cương
1
Lý Anh Tuấn Bộ môn Khoa học máy tính, Khoa Công nghệ thông tin, Trường đại học Thủy Lợi
Buổi 6: Cấu trúc lệnh lặp
Vòng lặp for Vòng lặp while Vòng lặp do-while
2
Câu lệnh (Nhắc lại)
Câu lệnh trong C++ được thiết lập từ các từ
khoá và các biểu thức …
Câu lệnh luôn luôn được kết thúc bằng dấu
chấm phẩy
Các câu lệnh được phép viết trên cùng một
hoặc nhiều dòng
Câu lệnh gồm nhiều lệnh được bao bởi cặp dấu ngoặc {} và được gọi là khối lệnh.
3
Các cấu trúc lệnh
Các cấu trúc lệnh cơ bản của chương trình
Cấu trúc tuần tự: Thực hiện các câu lệnh một cách
Cấu trúc lựa chọn: Chọn thực hiện một nhóm lệnh
tuần tự từ trên xuống dưới
dựa trên một điều kiện nào đó
- câu lệnh if, câu lệnh switch Cấu trúc lặp: Thực hiện lặp đi lặp lại một nhóm
lệnh cho đến khi một điều kiện nào đó được thỏa mãn
4
- vòng lặp for ,vòng lặp while, vòng do-while
Cấu trúc lặp
Khi giải quyết một vấn đề đôi khi ta cần làm đi làm
lại một công việc nhiều lần, trong ngôn ngữ lập trình người ta gọi đó là “lặp”.
Số lần lặp có thể biết trước hoặc không biết trước. VD: In ra 10 số tự nhiên từ 1->10, mỗi số in trên 1
dòng.
C++ cung cấp ba cấu trúc lặp:
Vòng lặp for (lặp biết trước số lần lặp) Vòng lặp while (kiểm tra điều kiện trước) Vòng lặp do-while (kiểm tra điều kiện sau)
5
Vòng lặp for
Cú pháp:
for (Khởitạo; Điềukiện; Lệnhlặp) Côngviệc;
Trong đó:
- Khởitạo: Gán giá trị ban đầu cho biến điều khiển - Điềukiện: Là một biểu thức logic, trả về giá trị true
hoặc false
- Lệnhlặp: Tăng hoặc giảm giá trị của biến điều khiển - Côngviệc: có thể là một lệnh đơn hoặc một lệnh
6
ghép (khối lệnh)
Vòng lặp for
Lưu đồ:
7
Vòng lặp for
Sự thực hiện:
Bước 1: Gán giá trị ban đầu cho một biến điều
Bước 2: Kiểm tra Điềukiện. Nếu Điềukiện là đúng
tiếp tục lặp, ngược lại kết thúc việc lặp
Bước 3: Thực hiện Côngviệc Bước 4: Tăng hoặc giảm giá trị của biến điều
khiển, việc này chỉ được thực hiện 1 lần
8
khiển và quay lại bước 2
Vòng lặp for
Ví dụ:
9
Lệnh break
Được sử dụng để thoát khỏi vòng lặp khi điều kiện
dừng chưa được thỏa mãn
10
Vòng lặp lồng nhau
Vòng lặp lồng nhau: một vòng lặp nằm trong thân
một vòng lặp khác
Ví dụ:
11
Vòng lặp while
Cú pháp:
Trong đó:
while (Điềukiện) Côngviệc;
- Điềukiện là một biểu thức logic, trả về giá trị true
hoặc false
- Côngviệc có thể là một lệnh đơn hoặc một lệnh
12
ghép (khối lệnh)
Vòng lặp while
Lưu đồ:
Sự thực hiện: Khi Điềukiện còn đúng thì Côngviệc còn
13
được thực hiện
Vòng lặp while
Đặc điểm:
− Trong Côngviệc thường có ít nhất một lệnh gây
− Kiểm tra Điềukiện rồi mới thực hiện Côngviệc, nên Côngviệc có thể không được thực hiện lần nào nếu Điềukiện sai ngay từ đầu.
14
ảnh hưởng đến giá trị của biểu thức Điềukiện, làm cho biểu thức Điềukiện đang đúng trở thành sai. − Nếu Điềukiện luôn luôn nhận giá trị đúng thì trong Côngviệc phải có lệnh kiểm tra điều kiện dừng và lệnh break.
Vòng lặp while
Ví dụ:
15
Vòng lặp do-while
Cú pháp:
Trong đó:
do Côngviệc while (Điềukiện);
- Điềukiện là một biểu thức logic, trả về giá trị true
hoặc false
- Côngviệc có thể là một lệnh đơn hoặc một lệnh
16
ghép (khối lệnh)
Vòng lặp do-while
Lưu đồ:
Sự thực hiện: Côngviệc còn được thực hiện khi
17
Điềukiện còn đúng
Vòng lặp do-while
Đặc điểm:
giống với vòng lặp while
18
− Thực hiện Côngviệc rồi mới kiểm tra Điềukiện, do đó Côngviệc sẽ được thực hiện ít nhất một lần − Các đặc điểm khác của vòng lặp do-while cũng
Vòng lặp do-while
Ví dụ:
19
Bài tập
số nguyên dương được nhập từ bàn phím.
1,Tính tổng S=1+1/2+1/3+..+1/n. Biết rằng n là một
2,Tính tổng các số nhập vào từ bàn phím khi tổng còn
nhỏ hơn 100.
3,Bài toán cổ: Vừa gà vừa chó, bó lại cho tròn, ba
20
mươi sáu con, một trăm chân chẵn. Hỏi có bao nhiêu gà và bao nhiêu chó?