Bài giảng Tin đại cương - Bài 5: Vòng lặp - Trương Xuân Nam

Nội dung buổi trước

 Những ưu điểm khi tách một chương trình

thành các chương trình con (hàm)

 Khai báo hàm, viết phần thực thi và gọi hàm

 Khái niệm “lặp” khi thực hiện các thuật toán

 Vòng lặp sử dụng biến đếm

 Vòng lặp dừng khi đạt điều kiện cần

 Các phép toán logic và biểu thức logic

pdf 19 trang phuongnguyen 5100
Bạn đang xem tài liệu "Bài giảng Tin đại cương - Bài 5: Vòng lặp - Trương Xuân Nam", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Tin đại cương - Bài 5: Vòng lặp - Trương Xuân Nam

Bài giảng Tin đại cương - Bài 5: Vòng lặp - Trương Xuân Nam
TIN ĐẠI CƯƠNG
BÀI 5: VÒNG LẶP
Nội dung buổi trước
 Những ưu điểm khi tách một chương trình 
thành các chương trình con (hàm)
 Khai báo hàm, viết phần thực thi và gọi hàm
 Khái niệm “lặp” khi thực hiện các thuật toán
 Vòng lặp sử dụng biến đếm
 Vòng lặp dừng khi đạt điều kiện cần
 Các phép toán logic và biểu thức logic
Trương Xuân Nam - Khoa CNTT 2
Nội dung chính
1. Vòng lặp FOR
2. Vòng lặp WHILE
3. Vòng lặp DO-WHILE
4. Từ khóa break và continue
5. Bài tập
Trương Xuân Nam - Khoa CNTT 3
Vòng lặp FOR
Phần 1
Trương Xuân Nam - Khoa CNTT 4
Lặp FOR
 Ví dụ: in các số từ 1 đến 20 ra màn hình
for (int x = 1; x <= 20; x = x + 1) {
cout << x << endl;
}
 Quá trình thực hiện:
1. Khai báo biến x và gán giá trị x = 1
2. Kiểm tra x <= 20 không? Nếu không thì dừng
3. In giá trị x ra màn hình
4. Tăng x lên 1
5. Chuyển về bước 2
Trương Xuân Nam - Khoa CNTT 5
Lặp FOR
 Cú pháp:
for (; ; ) {
}
 Quá trình thực hiện:
1. Chạy khối 
2. Kiểm tra , nếu sai thì dừng lặp
3. Thực hiện 
4. Thực hiện 
5. Chuyển về bước 2
Trương Xuân Nam - Khoa CNTT 6
Lặp FOR: vài ví dụ
// tính tổng các số từ 1 đến 100
for (int i = 1, tong = 0; i <= 100; i++) {
tong = tong + i;
}
// tính tổng các số lẻ trong khoảng từ 1 đến n
for (int i = 1, tong = 0; i <= n; i = i + 2) {
tong = tong + i;
}
// đoán thử xem vòng lặp này thực hiện điều gì
for (a = n - 1; 0 != (n % a); a = a - 1) {}
Trương Xuân Nam - Khoa CNTT 7
Lặp FOR: ứng dụng
 Cấu trúc của vòng lặp FOR rất thích hợp với 
việc triển khai ý tưởng lặp dùng biến đếm
 Đây cũng là cách dùng thông dụng nhất của FOR
 Nếu biến khai báo trong phần thì 
chỉ có thể sử dụng trong vòng FOR và bị hủy 
khi kết thúc vòng lặp
 Một số phần trong lặp FOR có thể để trống nếu 
không cần thiết: for(;;) {}
 Theo thống kê thì vòng lặp FOR là vòng lặp sử 
dụng nhiều nhất trong lập trình C/C++
TRƯƠNG XUÂN NAM 8
Vòng lặp WHILE
Phần 2
Trương Xuân Nam - Khoa CNTT 9
Lặp WHILE
 Cú pháp:
while () {
}
 Quá trình thực hiện:
1. Kiểm tra , nếu sai thì dừng lặp
2. Thực hiện 
3. Chuyển về bước 1
 Ví dụ:
a = n - 1;
while (0 != (n % a)) { a = a – 1; }
Trương Xuân Nam - Khoa CNTT 10
Lặp WHILE: ứng dụng
 Vòng lặp WHILE sử dụng khi:
 Không biết chính xác cần phải lặp lại bao nhiêu lần
 Biết điều kiện để dừng việc lặp
 Ví dụ: nhập mật khẩu cho đến khi nhập đúng
 Nếu viết điều kiện dừng không tốt, có thể bị 
lặp “vô tận” (chương trình chạy không dừng)
 Vòng lặp vô tận “while(1) {}” lại là cách dùng 
ưa thích của nhiều lập trình viên
 Khi dùng lặp WHILE, chú ý khởi tạo giá trị các 
biến cần thiết trước khi vào vòng lặp
TRƯƠNG XUÂN NAM 11
Vòng lặp DO-WHILE
Phần 3
Trương Xuân Nam - Khoa CNTT 12
Lặp DO-WHILE
 Cú pháp:
do {
} while ();
 Quá trình thực hiện:
1. Thực hiện 
2. Kiểm tra , nếu sai thì dừng lặp
3. Chuyển về bước 1
 Ví dụ:
a = n;
do { a = a – 1; } while (0 == (n % a));
Trương Xuân Nam - Khoa CNTT 13
Lặp DO-WHILE: ứng dụng
 Vòng lặp DO-WHILE tương đối giống vòng lặp 
WHILE, nhưng sẽ kiểm tra điều kiện sau
 Lặp WHILE kiểm tra điều kiện trước
 Lặp DO-WHILE kiểm tra điều kiện sau
 Lặp DO-WHILE sẽ thực hiện ít nhất 1 lần
 Một số thống kê chỉ ra lặp DO-WHILE dễ gây 
lỗi hơn vòng lặp FOR và lặp WHILE
 Tuy nhiên không nhất thiết phải tránh dùng vòng 
lặp này chỉ vì sợ gây lỗi
TRƯƠNG XUÂN NAM 14
Từ khóa break và continue
Phần 4
Trương Xuân Nam - Khoa CNTT 15
Từ khóa “break”
 Sử dụng break khi cần dừng vòng lặp
 Dùng được cho cả for, while và do-while:
for (int i = 0; i < 100; i++) {
; // thực hiện 
break; // dừng vòng lặp for ngay lập tức
; // sẽ không được thực hiện
}
 Thường sử dụng khi phải chấm dứt lặp vì một 
lý do bất thường nào đó
 Ví dụ phần mềm đang thực hiện gửi email cho 10000 
người, trong lúc đang gửi ta phát hiện ra lỗi nên 
dừng lại để sửa nội dung email
Trương Xuân Nam - Khoa CNTT 16
Từ khóa “continue”
 Sử dụng continue khi cần dừng bước lặp hiện 
tại, tiếp tục luôn bước lặp mới
 Dùng được cho cả for, while và do-while:
for (int i = 0; i < 100; i++) {
; // thực hiện 
continue; // trở về đầu vòng lặp, chạy bước mới
; // sẽ không được thực hiện
}
 Ví dụ: gửi email cho 10000 người, kiểm tra 
thấy địa chỉ người thứ 9 bị sai, ta không cần 
gửi tiếp mà chuyển sang người thứ 10,
Trương Xuân Nam - Khoa CNTT 17
Bài tập
Phần 5
Trương Xuân Nam - Khoa CNTT 18
Bài tập
1. Nhập số n nguyên dương, tính và in các số chính 
phương từ 12 đến n2 ra màn hình, mỗi số một dòng
2. Tính giá trị số X dưới đây
𝑋 = 1 × 2 + 2 × 3 +⋯+ 99 × 100
3. Nhập số n nguyên dương, tính giá trị số Y dưới đây
𝑌 = 1 +
1
2
+
1
3
+⋯+
1
𝑛
4. Nhập số n chẵn và tính giá trị của số Z sau đây
𝑍 = 1 −
1
2
+
1
3
−
1
4
+⋯−
1
𝑛
Trương Xuân Nam - Khoa CNTT 19

File đính kèm:

  • pdfbai_giang_tin_dai_cuong_bai_5_vong_lap_truong_xuan_nam.pdf