Các cấu trúc điều khiển
Trang 1LẬP TRÌNH C++
§5 Các cấu trúc điều khiển
Trang 2I Cấu trúc tuần tự
Cú pháp :
S1;
S2;
Thực hiện xong S1
Rồi thực hiện S2
Tuần tự thực thi tiến trình Mỗi lệnh được
thực thi theo một chuỗi từ trên xuống, xong
lệnh này rồi chuyển xuống lệnh kế tiếp
Ví dụ
1 Tráo 2 số a và b
Giả sử a=8, b=15 thì sau khi tráo a=15 và b=8
2 Đọc vào số lượng và giá đơn vị, tính thuế (5%
của soluong*dongia)
S2 S1
Trang 3II Cấu trúc phân nhánh
a Cấu trúc 1 :
Cú pháp :
If (DK)
{
S;
}
Nếu DK đúng thì thực hiện S, còn thì
bỏ qua S
Ví dụ :
1. Sắp xếp hai số theo thứ tự tăng dần
2. Tìm số nhỏ nhất trong ba số
3. Tìm số lớn nhất trong ba số
4. Sắp xếp ba số theo thứ tự tăng dần
DK
S
-+
Trang 42 Cấu trúc 2
Cú pháp :
If (DK)
{
S1;
}
{
S2 }
Nếu DK đúng thì thực hiện S1, còn thì thực hiện S2
Ví dụ :
1. Kiểm tra xem một số nguyên là số chẵn hay số lẻ ?
2. Kiểm tra xem một số nguyên có chia hết cho 9 hay không ?
3. Kiểm tra xem 3 số a, b,c có lập thành 3 canh của một tam giác ?
DK
-+
Trang 53 Cấu trúc 3 :
Cú pháp :
if (Dk1)
{
S1;
}
else if (Dk2)
{
S2;
}
else if (DkN)
{
Dk1
S1
-+
Dk2
S2
-+
DkN
Sn
-+
- - -.
.
Sn+1
Trang 6III Cấu trúc lựa chọn
Cú pháp :
switch (b)
{
case h1:
S1;
break;
case h2:
S2;
break;
case hn: Ví dụ :
Sn; 1 Đọc vào hai số và một phép toán, in ra KQ break; 2 Đọc vào một số nguyên từ 1 đến 12
default : In ra cách đọc bằng chữ tiếng Anh
Sn+1; 3 Đọc vào một năm dương lịch, } In ra năm âm lịch
b=h1
S1
-+
b=h2
S2
-+
b=hn
Sn
-+
- - -.
.
Sn+1
Trang 7IV Cấu trúc lặp với điều kiện trước
Cú pháp :
while (DK)
{
S;
}
Khi DK còn đúng thì còn thực hiện S
Nếu DK sai thì thoát ra
Ví dụ :
1. Tìm UCLN của 2 số TN a và b
2. Tìm BCNN của 2 số TN a và b
3. Kiểm tra xem 1 số TN có phải là số chính
phương hay không ?
4. Kiểm tra xem 1 số TN có phải là số nguyên
tố hay không ?
5. Đọc vào một số TN n, tính tổng n số tự nhiên
DK
S
-+
Trang 8V Cấu trúc lặp với điều kiện sau
DK
S
+
- Cú pháp :
do
{
S;
}
while (DK)
Khi DK còn đúng thì còn thực hiện S
Nếu DK sai thì thoát ra
Ví dụ :
1. Đọc vào dãy số nguyên cho đến khi gặp số
0 tính tổng các số lẻ và tổng các số chẵn
2. Đọc vào dãy số thực cho đến khi gặp số 0
tính tổng và TB công của các số đã đọc
không tính số 0 cuối cùng
3. In ra 100 số nguyên tố đầu tiên
Trang 9V Cấu trúc lặp xác định for
Cú pháp :
For (i=a; (dk); i+=s)
{
S;
}
Tương đương với cấu trúc:
i=a;
While (dk)
{
S;
i=i+s;
}
lệnh continue dùng để chuyển về
đầu vòng lặp
break và return dùng để thoát
khỏi lệnh switch và vòng lặp
Giải thích Đầu tiên i=a;
Khi dk còn đúng thì còn thực hiên
S và tăng i lên s đơn vị Nếu điều kiên sai thì thoát ra
Ví dụ :
1. Tính tổng n số tự nhiên đầu tiên, vói n đọc từ bàn phím
2. Tính tổng 100 số lẻ đầu tiên
3. In ra n số chính phương đầu tiên , vói n đọc từ bàn phím
4. In ra tất cả các số nguyên tố không vượt quá n, vói n đọc từ bàn phím