ĐiỀU KHIỂN TUẦN TỰ
Chia sẻ bởi Lê Sơn Hồng |
Ngày 01/05/2019 |
155
Chia sẻ tài liệu: ĐiỀU KHIỂN TUẦN TỰ thuộc Power Point
Nội dung tài liệu:
Bài giảng
LÝ THUYẾT NGÔN NGỮ LẬP TRÌNH
Chương 7. ĐiỀU KHIỂN TUẦN TỰ
Khái niệm
Điều khiển tuần tự giữa các lệnh
Xử lý ngoại lệ
KHÁI NiỆM
Khái niệm:
Ðiều khiển tuần tự là tập hợp các quy tắc, xác định thứ tự thực hiện trong chương trình
về mặt cấu trúc có ba loại điều khiển
Ðiều khiển trong biểu thức.
Ðiều khiển giữa các lệnh.
Ðiều khiển giữa các chương trình con
về mặt thiết kế ngôn ngữ có hai loại điều khiển
Ðiều khiển ẩn: được thiết kế trong ngôn ngữ chẳng hạn quy tắc ưu tiên của các toán tử trong biểu thức.
Ðiều khiển tường minh: do người lập trình viết trong chương trình chẳng hạn sử dụng các câu lệnh điều khiển như rẽ nhánh, lặp lại
ĐiỀU KHIỂN TUẦN TỰ GiỮA CÁC LỆNH
Các lệnh cơ bản:
Lệnh cơ bản là lệnh trong đó không chứa các lệnh khác. Các lệnh cơ bản bao gồm: lệnh gán, lời gọi chương trình con, các lệnh nhập, xuất, lệnh nhảy goto
Các cấu trúc trong chương trình: tuần tự, lựa chọn và lặp lại. Các ngôn ngữ khác nhau, cài đặt các cấu trúc khác nhau
Điều khiển tuần tự dùng nhãn lệnh và lệnh GOTO
Các lệnh cơ bản:
GOTO không điều kiện. Trong một chuỗi các lệnh, một lệnh GOTO không điều kiện như GOTO NEXT chuyển điều khiển tới lệnh có nhãn là NEXT. Lệnh đứng sau GOTO sẽ không được thực hiện.
GOTO có điều kiện. Trong một chuỗi lệnh, một lệnh GOTO có điều kiện như IF A = 0 then GOTO NEXT chuyển điều khiển tới lệnh có nhãn là NEXT chỉ khi điều kiện sau IF đúng.
Lệnh GOTO có thuận tiện là dễ dùng, và có hiệu quả trong thực hiện vì nó phản ánh cấu trúc cơ bản của máy tính quy ước
Trong các NNLT bậc cao lệnh GOTO không được dùng nữa, vì không thể hiện được cấu trúc của chương trình
Các lệnh có cấu trúc
Một lệnh có cấu trúc là một lệnh chứa các lệnh khác. Các lệnh thành phần của một lệnh có cấu trúc có thể là một lệnh cơ bản hoặc một lệnh có cấu trúc. Hầu hết ngôn ngữ cung cấp một tập hợp các lệnh có cấu trúc biểu thị các dạng điều khiển cơ bản ( hợp thành, lựa chọn và lặp lại) mà không cần dùng lệnh GOTO
Các lệnh có cấu trúc
Lệnh hợp thành (Compound Statements)
Lệnh hợp thành là một chuỗi các lệnh được đặt vào trong một cặp ký hiệu thể hiện sự mở đầu và kết thúc của chuỗi đó
Cấu trúc lệnh hợp thành cho phép một tập hợp các lệnh được trừu tượng hóa thành một lệnh đơn
Các lệnh có cấu trúc
Lệnh điều kiện (Conditional Statements)
Lệnh điều kiện là một lệnh biểu thị sự lựa chọn của hai hoặc nhiều lệnh. Việc lưạ chọn được điều khiển bằng cách kiểm tra một số điều kiện thường được viết trong dạng biểu thức của các phép toán quan hệ và logic
Các lệnh điều kiện thông dụng
Lệnh IF… Then
Lệnh Case … of
Các lệnh có cấu trúc
Lệnh lặp (Interation Statements)
Lệnh lặp là lệnh được thực hiện lặp đi lặp lại một số lần tùy thuộc vào điều kiện nào đó
Các loại lệnh lặp:
Lặp với số lần lặp biết trước
Lặp với số lần lặp không biết trước
Kiểm tra điều kiện trước
Kiểm tra điều kiện sau
Xử lý ngoại lệ
Khái niệm
Trong quá trình thực hiện chương trình thường xảy ra một số sự kiện đặc biệt hoặc các lỗi như: sự tràn số, truy xuất đến chỉ số mảng nằm ngoài tập chỉ số, thực hiện lệnh đọc một phần tử cuối tập tin ... Các sự kiện đó được gọi là ngoại lệ (exception). Thay vì tiếp tục thực hiện chương trình bình thường, một chương trình con sẽ được gọi để thực hiện một vài xử lý đặc biệt nào đó gọi là xử lý ngoại lệ
Quá trình theo dõi các ngoại lệ, ngắt sự thực hiện chương trình và chuyển điều khiển đến xử lý ngoại lệ được gọi là đề xuất ngoại lệ (raising the exception)
Các lệnh có cấu trúc
Xử lý ngoại lệ
Thông thường các ngoại lệ đã được định nghĩa trước bởi ngôn ngữ, chẳng hạn như ZERO_DIVIDE chỉ sự kiện chia cho một số không, END_OF_FILE: hết tập tin , OVERFLOW: tràn số, hay tràn stack ... Xử lý ngoại lệ là một hành vi xử lý tương ứng khi một ngoại lệ có thể diễn ra
Sau khi đã hoàn thành việc xử lý một ngoại lệ và xử lý đó đã kết thúc thì có một vấn đề đặt ra là quyền điều khiển được chuyển tới chỗ nào? Ðiều khiển nên được chuyển tới chỗ mà ngoại lệ được đề xuất? Ðiều khiển nên chuyển về lệnh trong chương trình con chứa xử lý nơi mà ngoại lệ được đề xuất sau khi được truyền tới? Chương trình con chứa xử lý tự kết thúc và nó xuất hiện tại chương trình gọi như là không có gì xảy ra
Các lệnh có cấu trúc
Đề xuất ngoại lệ
Một ngoại lệ có thể được đề xuất bằng phép toán nguyên thuỷ được định nghĩa bởi ngôn ngữ chẳng hạn phép cộng, phép nhân có thể đề xuất ngoại lệ OVERFLOW. Ngoài ra, một ngoại lệ có thể được đề xuất một cách tường minh bởi người lập trình bằng cách dùng một lệnh được cung cấp cho mục đích đó. Lệnh này có thể được thực hiện trong một chương trình con sau khi xác định một biến riêng hoặc tập tin chứa giá trị không đúng
Các lệnh có cấu trúc
Lan truyền ngoại lệ
khi xây dựng chương trình thì vị trí mà một ngoại lệ xuất hiện không phải là vị trí tốt nhất để xử lý nó. Khi một ngoại lệ được xử lý trong một chương trình con khác, không phải trong chương trình con mà nó được đề xuất, thì ngoại lệ đó gọi là được truyền (propagated) từ điểm mà tại đó nó được đề xuất đến điểm mà nó được xử lý
Quy tắc để xác định việc xử lý một ngoại lệ được gọi là chuỗi các kích hoạt chương trình con hướng tới chương trình con khác có chứa lệnh ngoại lệ
Câu hỏi
1. Trình bày khái niệm về điều khiển tuần tự. Có các loại điều khiển nào ?
2. Trình bày sơ lược các lệnh điều khiển có cấu trúc.
3. Thế nào là xử lý ngoại lệ, đề xuất ngoại lệ, lan truyền ngoại lệ ?
LÝ THUYẾT NGÔN NGỮ LẬP TRÌNH
Chương 7. ĐiỀU KHIỂN TUẦN TỰ
Khái niệm
Điều khiển tuần tự giữa các lệnh
Xử lý ngoại lệ
KHÁI NiỆM
Khái niệm:
Ðiều khiển tuần tự là tập hợp các quy tắc, xác định thứ tự thực hiện trong chương trình
về mặt cấu trúc có ba loại điều khiển
Ðiều khiển trong biểu thức.
Ðiều khiển giữa các lệnh.
Ðiều khiển giữa các chương trình con
về mặt thiết kế ngôn ngữ có hai loại điều khiển
Ðiều khiển ẩn: được thiết kế trong ngôn ngữ chẳng hạn quy tắc ưu tiên của các toán tử trong biểu thức.
Ðiều khiển tường minh: do người lập trình viết trong chương trình chẳng hạn sử dụng các câu lệnh điều khiển như rẽ nhánh, lặp lại
ĐiỀU KHIỂN TUẦN TỰ GiỮA CÁC LỆNH
Các lệnh cơ bản:
Lệnh cơ bản là lệnh trong đó không chứa các lệnh khác. Các lệnh cơ bản bao gồm: lệnh gán, lời gọi chương trình con, các lệnh nhập, xuất, lệnh nhảy goto
Các cấu trúc trong chương trình: tuần tự, lựa chọn và lặp lại. Các ngôn ngữ khác nhau, cài đặt các cấu trúc khác nhau
Điều khiển tuần tự dùng nhãn lệnh và lệnh GOTO
Các lệnh cơ bản:
GOTO không điều kiện. Trong một chuỗi các lệnh, một lệnh GOTO không điều kiện như GOTO NEXT chuyển điều khiển tới lệnh có nhãn là NEXT. Lệnh đứng sau GOTO sẽ không được thực hiện.
GOTO có điều kiện. Trong một chuỗi lệnh, một lệnh GOTO có điều kiện như IF A = 0 then GOTO NEXT chuyển điều khiển tới lệnh có nhãn là NEXT chỉ khi điều kiện sau IF đúng.
Lệnh GOTO có thuận tiện là dễ dùng, và có hiệu quả trong thực hiện vì nó phản ánh cấu trúc cơ bản của máy tính quy ước
Trong các NNLT bậc cao lệnh GOTO không được dùng nữa, vì không thể hiện được cấu trúc của chương trình
Các lệnh có cấu trúc
Một lệnh có cấu trúc là một lệnh chứa các lệnh khác. Các lệnh thành phần của một lệnh có cấu trúc có thể là một lệnh cơ bản hoặc một lệnh có cấu trúc. Hầu hết ngôn ngữ cung cấp một tập hợp các lệnh có cấu trúc biểu thị các dạng điều khiển cơ bản ( hợp thành, lựa chọn và lặp lại) mà không cần dùng lệnh GOTO
Các lệnh có cấu trúc
Lệnh hợp thành (Compound Statements)
Lệnh hợp thành là một chuỗi các lệnh được đặt vào trong một cặp ký hiệu thể hiện sự mở đầu và kết thúc của chuỗi đó
Cấu trúc lệnh hợp thành cho phép một tập hợp các lệnh được trừu tượng hóa thành một lệnh đơn
Các lệnh có cấu trúc
Lệnh điều kiện (Conditional Statements)
Lệnh điều kiện là một lệnh biểu thị sự lựa chọn của hai hoặc nhiều lệnh. Việc lưạ chọn được điều khiển bằng cách kiểm tra một số điều kiện thường được viết trong dạng biểu thức của các phép toán quan hệ và logic
Các lệnh điều kiện thông dụng
Lệnh IF… Then
Lệnh Case … of
Các lệnh có cấu trúc
Lệnh lặp (Interation Statements)
Lệnh lặp là lệnh được thực hiện lặp đi lặp lại một số lần tùy thuộc vào điều kiện nào đó
Các loại lệnh lặp:
Lặp với số lần lặp biết trước
Lặp với số lần lặp không biết trước
Kiểm tra điều kiện trước
Kiểm tra điều kiện sau
Xử lý ngoại lệ
Khái niệm
Trong quá trình thực hiện chương trình thường xảy ra một số sự kiện đặc biệt hoặc các lỗi như: sự tràn số, truy xuất đến chỉ số mảng nằm ngoài tập chỉ số, thực hiện lệnh đọc một phần tử cuối tập tin ... Các sự kiện đó được gọi là ngoại lệ (exception). Thay vì tiếp tục thực hiện chương trình bình thường, một chương trình con sẽ được gọi để thực hiện một vài xử lý đặc biệt nào đó gọi là xử lý ngoại lệ
Quá trình theo dõi các ngoại lệ, ngắt sự thực hiện chương trình và chuyển điều khiển đến xử lý ngoại lệ được gọi là đề xuất ngoại lệ (raising the exception)
Các lệnh có cấu trúc
Xử lý ngoại lệ
Thông thường các ngoại lệ đã được định nghĩa trước bởi ngôn ngữ, chẳng hạn như ZERO_DIVIDE chỉ sự kiện chia cho một số không, END_OF_FILE: hết tập tin , OVERFLOW: tràn số, hay tràn stack ... Xử lý ngoại lệ là một hành vi xử lý tương ứng khi một ngoại lệ có thể diễn ra
Sau khi đã hoàn thành việc xử lý một ngoại lệ và xử lý đó đã kết thúc thì có một vấn đề đặt ra là quyền điều khiển được chuyển tới chỗ nào? Ðiều khiển nên được chuyển tới chỗ mà ngoại lệ được đề xuất? Ðiều khiển nên chuyển về lệnh trong chương trình con chứa xử lý nơi mà ngoại lệ được đề xuất sau khi được truyền tới? Chương trình con chứa xử lý tự kết thúc và nó xuất hiện tại chương trình gọi như là không có gì xảy ra
Các lệnh có cấu trúc
Đề xuất ngoại lệ
Một ngoại lệ có thể được đề xuất bằng phép toán nguyên thuỷ được định nghĩa bởi ngôn ngữ chẳng hạn phép cộng, phép nhân có thể đề xuất ngoại lệ OVERFLOW. Ngoài ra, một ngoại lệ có thể được đề xuất một cách tường minh bởi người lập trình bằng cách dùng một lệnh được cung cấp cho mục đích đó. Lệnh này có thể được thực hiện trong một chương trình con sau khi xác định một biến riêng hoặc tập tin chứa giá trị không đúng
Các lệnh có cấu trúc
Lan truyền ngoại lệ
khi xây dựng chương trình thì vị trí mà một ngoại lệ xuất hiện không phải là vị trí tốt nhất để xử lý nó. Khi một ngoại lệ được xử lý trong một chương trình con khác, không phải trong chương trình con mà nó được đề xuất, thì ngoại lệ đó gọi là được truyền (propagated) từ điểm mà tại đó nó được đề xuất đến điểm mà nó được xử lý
Quy tắc để xác định việc xử lý một ngoại lệ được gọi là chuỗi các kích hoạt chương trình con hướng tới chương trình con khác có chứa lệnh ngoại lệ
Câu hỏi
1. Trình bày khái niệm về điều khiển tuần tự. Có các loại điều khiển nào ?
2. Trình bày sơ lược các lệnh điều khiển có cấu trúc.
3. Thế nào là xử lý ngoại lệ, đề xuất ngoại lệ, lan truyền ngoại lệ ?
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Lê Sơn Hồng
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)