BÀI 3
CẤU TRÚC ĐIỀU KHIỂN
RẼ NHÁNH
I. TRÌNH BÀY THUẬT TOÁN
BẰNG LƯU ĐỒ
1. THUẬT TOÁN:
Dãy hữu hạn các bước để giải quyết bài tóan.
2. LƯU ĐỒ:
Biễu diễn thuật tóan bằng các ký hiệu hình
khối quy ước.
KÝ HIỆU QUI ƯỚC
START/END
INPUT/OUTPUT
PROCESS
CONDITION
Tiến trình , nối giữa các khối
Ví dụ 1: Viết chương trình nhập điểm tóan lý
hóa, tính điểm trung bình, in kết quả đậu hay
rớt.
Bắt đầu
Nhập
tóan,lý,hóa
TB=(toan+ly+hoa)/3
Xuất TB
Kết thúc
Ví dụ 2: Giải và biện luận PTB1
Bắt đầu
Nhập a, b
a≠0
Đ
x=-b/a
xuất x
Kết thúc
S
S
b=0
T
PTVSN
PTVN
Ví dụ 3: Giải và biện luận PTB2
VD 4:Tìm ước số chung lớn nhất của một số.
Bắt đầu
Nhập n > 1
u=n-1
n%u==0
S
Đ
xuất u
Kết thúc
u=u-1
3. CÁC CẤU TRÚC ĐIỀU KHIỂN
CƠ BẢN
a. Cấu trúc tuần tự:
cv1
cv2
cv3
b. Cấu trúc điều kiện:
S
S
đk
Đ
cv1
cv2
cv3
b. Cấu trúc điều kiện (dạng 2):
S
đk
Đ
cvx
cv1
cvy
cv2
cvz
cv3
c. Cấu trúc lặp:
S
đk lặp
Đ
cv1
cv2
cv3
II. KHỐI LỆNH (LỆNH GHÉP)
Câu lệnh: Là một phát biểu kết thúc bằng dấu ;
cout<<"Hello "; cout<<"world !";
cout<<"Hello world !";
Khối lệnh: Là dãy câu lệnh đặt giữa { }
{
cout<<"Hello ";
cout<<"world !";
}
Khối lệnh tương đương với câu lệnh về mặt cú
pháp.
III. CT. ĐIỀU KHIỂN IF
Lưu đồ dạng 1
S
btđk
Đ
câu lệnh;
Cách thực thi:
Câu lệnh C
if <btđk>
<câu lệnh>
trong đó:
btđk: là biểu thức cho
kết quả đúng sai
Ví dụ 1: Viết chương trình nhập điểm, tính
điểm trung bình, in thông báo thi lại nếu TB
dưới 5.
Ví dụ 2: Viết chương trình nhập 1 số nguyên,
in thông báo nếu số nhập vào là số chẵn.
Ví dụ 3: Viết chương trình nhập hệ số a, b.
Nếu a và b khác 0 thì đi giải phương trình bậc
1, in nghiệm số.
Lưu đồ dạng 2
S
btđk
Đ
Câu lệnh C
if <btđk>
<câu lệnh 1>;
câu lệnh 2;
Cách thực thi
câu lệnh 1;
else
<câu lệnh 2>;
trong đó:
btđk: là biểu thức cho
kết quả đúng sai
Ví dụ 1: Viết chương trình nhập điểm, tính điểm
trung bình, in thông báo đậu, rớt.
Ví dụ 2: Viết chương trình nhập 1 số nguyên, in
thông báo nếu số nhập vào là số chẵn, hay lẽ.
Ví dụ 3: Viết chương trình nhập hệ số a, b. Giải
và biện luận PTB1.
Ví dụ 4: Nhập a, b, c. Cho biết PTB2 có mấy
nghiệm.
* Cấu trúc if lồng nhau
Ví dụ:
if <dk1>
<cl1>;
else
if <dk2>
<cl2>;
else
<cl3>;
Ví dụ:
if <dk1>
if <dk2>
<cl1>
else
if <dk3>
<cl2>;
else
<cl3>;
Ví dụ 2: Giải và biện luận PTB2.
Ví dụ 3: Nhập vào 3 số đo a, b, c. cho biết a, b,
c có tạo thành tam giác không. Nếu có, hãy
xác định loại tam giác (thường, cân, vuông,
vuông cân, đều).
IV. HẰNG SỐ
ĐN: Là đối tượng không thay đổi giá trị trong
suốt thời gian thực hiện chương trình.
Khai báo:
cách 1: #define <TENHANG> <giá_trị>
cách 2: const <TENHANG> = <giá_trị>;
Giá trị: Là các trị thuộc kiểu cơ bản.
Vị trí khai báo: Trước khi sử dụng. Thường
đặt sau #include
Ví dụ: Khai báo hằng ¶ trong các bài tóan hình
tròn
#define PI 3.1415
const EPSILON 0.0001
Kiểu của hằng số: Do trình biên dịch chọn
số nguyên ----> kiểu int
số thực -------> kiểu double
* HẰNG GIÁ TRỊ
Là các giá trị thuộc một kiểu cơ bản nào đó: một số
nguyên, một ký tự, một số thực.
Cách viết hằng giá trị nguyên
Hệ 10:
4, +1, -2, ....
3l, 3u, 23lu, ....
Hệ 8: Bắt đầu bằng zero
012, 07, ...
Hệ 16: Bắt đầu bằng 0x hoặc 0X
0x10, 0x1F, ...
Hằng giá trị thực
3.1416
3.1416f
31416E-4
Hằng ký tự: đặt giữa hai dấu nháy đơn.
'A', '1', ' ', ....
'\n', '\t', ....
Hằng chuỗi ký tự: đặt giữa nháy kép.
V. CẤU TRÚC ĐK SWITCH