Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
1
CHƯƠNG 7:
ĐIỀU KHIỂN TUẦN TỰ
•
Khái niệm về điều khiển tuần tự (ĐKTT).
•
ĐKTT trong biểu thức.
•
ĐKTT tự giữa các lệnh.
•
Ngoại lệ và xử lý ngoại lệ.
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
2
KHÁI NIỆM
ĐIỀU KHIỂN TUẦN TỰ
•
Tập hợp các quy tắc xác định thứ tự thực
hiện trong chương trình.
•
ĐKTT trong biểu thức.
•
ĐKTT giữa các lệnh.
•
ĐKTT chương trình con.
•
ĐKTT ẩn.
•
ĐKTT tường minh.
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
3
ĐIỀU KHIỂN
TRONG BIỂU THỨC
•
Đặt vấn đề.
•
Biểu diễn biểu thức theo cấu trúc cây.
•
Cú pháp của biểu thức: Tiền tố, hậu tố và
trung tố.
•
Trong biểu thức trung tố: Phải sử dụng tiền
tố, nguyên tắc kết hợp, độ ưu tiên.
•
Dịch biểu thức thành biểu diễn cây.
•
Biểu diễn trong thời gian thực hiện.
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
4
ĐIỀU KHIỂN TUẦN TỰ
GIỮA CÁC LỆNH
•
Các lệnh cơ bản.
•
ĐKTT dùng nhãn lệnh và GOTO:
–
GOTO không điều kiện.
–
GOTO có điều kiện.
–
Sử dụng GOTO để thực hiện các lệnh khác.
•
Các lệnh cấu trúc.
5
SỬ DỤNG GOTO
ĐỂ THỰC HIỆN CÁC LỆNH
Hợp thành Lựa chọn Lặp
S0 S0 S0
GOTO L1 IF a=0 GOTO L1 L1: IF a=0 GOTO L2
L2: S2 S1 S1
GOTO L3 GOTO L2 GOTO L1
L1: S1 L1: S2 L2: S2
GOTO L2 L2: S3
L3: S3
Chuỗi lệnh thực hiện Chuỗi lệnh thực hiện Chuỗi lệnh thực hiện
S0 S1 S2 S3 S0 S2 S3 Hoặc S0 S2 hoặc
S0 S1 S3 S0 S1 S2 hoặc
S0 S1 S1 S2 hoặc
S0 S1 S1 S2
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
6
CÁC LỆNH CẤU TRÚC
•
Lệnh hợp thành.
•
Lệnh điều kiện: IF, CASE.
•
Lệnh lặp: WHILE, FOR, LOOP
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
7
NGOẠI LỆ VÀ
XỬ LÝ NGOẠI LỆ
•
Một số khái niệm.
•
Xử lý ngoại lệ.
•
Đề xuất một ngoại lệ.
•
Lan truyền ngoại lệ.
•
Sau khi một ngoại lệ được xử lý.
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
8
MỘT SỐ KHÁI NIỆM
•
Ngoại lệ (exceptions): Sự cố đặc biệt.
•
Xử lý ngoại lệ: Gọi một chương trình con
đặc biệt để xử lý các sự cố đó.
•
Đề xuất một ngoại lệ: Phát hiện sự kiện,
ngắt sự thực hiện chương trình và chuyển
điều khiển đến chương trình con xử lý
ngoại lệ.
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
9
XỬ LÝ NGOẠI LỆ (1)
•
Các ngoại lệ được định nghĩa trước bởi
ngôn ngữ: ZERO_DIVIDE,
OVERFLOW,
•
Ví dụ:
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
10
XỬ LÝ NGOẠI LỆ (2)
•
Ví dụ:
Public void Read_a_file () {
try {
RandomAccessFile file = new
RandomAccessFile(pathname. “r”);
while (file.getFilePointer() < file.length())
{ }
}
Catch (Exception e)
{system.out.println(“Error ”+e.toString()); }
}
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
11
ĐỀ XUẤT MỘT NGOẠI LỆ
•
Đề xuất ẩn.
•
Đề xuất bởi người lập trình.
Nguyễn Văn Linh - Programm
ing Languages - Chapter 7
12
LAN TRUYỀN NGOẠI LỆ
•
Một ngoại lệ có thể được đề xuất từ một chỗ và
được xử lý tại một chỗ khác.
•
Lan truyền ngoại lệ từ điểm được đề xuất đến
điểm được xử lý.
•
Giả sử có một ngoại lệ P được đề xuất trong
chương trình con C. Nếu trong C không có một xử
lý cho P thì C kết thúc và truyền ngoại lệ đến B
(chương trình gọi C). Nếu trong B không có một
xử lý Cuối cùng một xử lý của ngôn ngữ sé
được gọi tới.