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

Bài giảng Tin học cơ sở 4 - Bài 4: Luồng điều khiển, Lệnh 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 (1.75 MB, 33 trang )

Tin học cơ sở 4
Buổi 4. Luồng điều khiển
Lệnh lặp

Bộ mơn Khoa học máy tính - 2017


Nội dung buổi học
1. Luồng điều khiển lặp
2. Lệnh lặp
 while
 do-while
 for
2


Luồng điều khiển
 Thứ tự chạy các lệnh trong chương
trình
Tuần tự
Lệnh 1
Lệnh 2

Lệnh 3
Lệnh 4

Rẽ nhánh
No
Điều kiện

Yes


Lệnh nhánh YES

Lệnh tiếp theo
3


Luồng điều khiển lặp
Rẽ nhánh
No
Điều kiện

Yes
Lệnh nhánh YES

Lệnh tiếp theo

4


Luồng điều khiển lặp
Lặp
No
Điều kiện

Thốt khỏi vịng lặp
Yes
Nhánh lệnh cần lặp

5



Luồng điều khiển lặp
Đếm từ
1 đến 10

int n = 1;

No
n <= 10

Thốt khỏi vịng lặp
Yes
cout << n << endl;
n++;

6


Luồng điều khiển lặp
int n = 10;

Đếm ngược
khi phóng tên lửa

No
n >= 0

Thốt khỏi vịng lặp
Yes
if (n > 0) cout << n << endl;

else cout << "Lift off !!!" << endl;
n--;

7


Luồng điều khiển lặp
int n = 1, sum = 0;

Tính tổng các
số từ 1 đến 100

No
n <= 100

Thốt khỏi vịng lặp
Yes
sum += n;
n++;

8


Luồng điều khiển lặp
int n = 1, sum = 0;

Tính tổng các
số chia ba dư 1
từ 1 đến 100


No
n <= 100

Thốt khỏi vịng lặp

Yes
if (n % 3 == 1) sum += n;
n++;

9


Lệnh while
 Cú pháp
while ( điều kiện lặp ) {
Dãy lệnh lặp khi điều kiện lặp đúng
}
 Kiểm tra điều kiện trước khi lặp

10


Nếu10
khơng
CT1. Đếm từ 1 đến
có lệnh
n++ này ?

int n = 1;
while (n <= 10) {

cout << n << endl;
n++;
}
Thay đổi biến n, để điều
kiện có thể bị vi phạm

Cần 2 dấu đóng mở ngoặc
bao lấy điều kiện lặp
11


CT2. Đếm ngược phóng tên lửa
int n = 10;
Lồng các cấu trúc điều
while (n >= 0) {
khiển khác trong vòng lặp
if (n > 0) {
cout << n << endl;
} else {
cout << "Lift off !!!" << endl;
}
Giảm biến đếm n để điều
n--;
kiện lặp có thể bị vi phạm
}
12


CT3. Tính tổng tích lũy
int n = 1, sum = 0;

while (n <= 100) {
Cộng số n hiện tại vào
sum += n;
biến sum để tích lũy tổng
n++;
}
cout << "1+2+...+100 = " << sum << endl;

13


CT4. Tính tổng tích lũy có lựa chọn
int n = 1, sum = 0;
while (n <= 100) {
if (n % 3 == 1) {
sum += n;
Lựa chọn số n để tích lũy
}
vào tổng sum
n++;
}
cout << "1+4+7+...+100 = " << sum << endl;

14


Lệnh do - while
 Cú pháp
do {
Dãy lệnh lặp khi điều kiện lặp đúng

Lần đầu tiên không kiểm tra điều kiện
} while ( điều kiện lặp );
 Kiểm tra điều kiện sau khi lặp lần đầu tiên
 Luôn luôn lặp ít nhất 1 lần
15


Luồng điều khiển do-while
Nhánh lệnh cần lặp

No
Điều kiện

Thốt khỏi vịng lặp
Yes
16


CT5. Nhắc lại đến khi gặp “good bye”
string line = "good bye"; Đọc 1 dòng ký tự bằng
do {
lệnh getline
cout << "Write something: ";
getline(cin, line);
cout << "You entered: " << line << endl;
} while ( line != "good bye" );

Kiểm tra dịng nhập vào
có phải là “good bye”
17



CT6. Menu lựa chọn tính năng
string choice;
do {
cout << "Enter your choice: ";
getline(cin, choice);
Gọi hàm tương ứng
if (choice == "sum") {
lựa chọn
menuSum();
} else if (choice == "good bye") {
menuGoodbye();
} else {
cout << "Unrecognized choice\n";
}
} while (choice != "quit");

với

18


Lệnh for
 Cú pháp
for ( lệnh khởi tạo; điều kiện lặp; lệnh thay
đổi biến chạy ) do {
Dãy lệnh lặp khi điều kiện lặp đúng
}
 Kiểm tra điều kiện trước khi lặp lần

đầu tiên (giống lệnh while)
19


CT7: Tổng từ 1 đến 10
Khởi tạo

int sum = 0;
for (int n = 1; n <= 10; n++) {
sum += n;
Điều kiện lặp
Thay đổi biến chạy
}
cout << sum << endl;
cout << n << endl;

Lỗi: phạm vi biến n
nằm trong vòng lặp
20



×