Bài giảng ngôn ngữ lập trình cấu trúc điều khiển

58 321 3
Bài giảng ngôn ngữ lập trình cấu trúc điều khiển

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương CẤU TRÚC ĐIỀU KHIỂN Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 11 Nội dung  Điều khiển trình tự (Sequence Control) – Expressions – Statements – Subprograms  Điều khiển liệu (Data control) – – – – – Basic concepts Local data and environments Shared data: dynamic scope Shared data: block structure Shared data: parameter transmission Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 4.1 Điều khiển trình tự  Biểu thức (expressions)  Phát biểu (statements)  Chương trình (subprograms) Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN Biểu thức  Cơ chế điều khiển  Cú pháp  Dạng thời gian thực thi biểu thức Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN Cơ chế điều khiển  Sự chồng chất hàm (functional composition) (A + B)∗(C - A) * ∗ (+ (A, B), - (C, A)) - + A B C Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN A Cơ chế điều khiển  Hiệu ứng lề + – A* FUNC(X) + A * A A FUNC(X) (A+) (A*) – A*B*C với số dương nhỏ biểu diễn máy tính 10-38 A= 1020 , B=10-20 C=10-20 (A * B) * C = (1020*10-20) * 10-20 = 1*10-20= 10-20 A * (B * C) = 1020*(10-20 * 10-20) = 1020 * 0= Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN Cú pháp biểu thức  Trung tố (infix): phổ biến tự nhiên (A + B) * (C - A) – Chỉ dùng cho phép toán hai toán hạng – Cần có qui định độ ưu tiên thứ tự thực phép toán để giảm tính mơ hồ (ambiguity) Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN Cú pháp biểu thức  Dạng tiền tố (prefix) – Tiền tố thường (ordinary) ∗ (+ (A, B), - (C, A)) – Tiền tố Cambridge Polish (∗ (+ A B) (- C A)) – Tiền tố Polish ∗ +AB-CA Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN Cú pháp biểu thức  Dạng hậu tố (postfix / suffix) – Thông thường ((A, B) +, (C, A) -) ∗ – Polish AB+CA-∗ – Thích hợp cho việc biểu diễn dạng thời gian thực thi biểu thức Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN Dạng thời gian thực thi biểu thức  Các biểu thức dạng cú pháp dịch sang dạng thời gian thực thi trước thực thi thật phần cứng máy tính chương trình thông dịch – Biên dịch: chuỗi lệnh máy – Thông dịch: cấu trúc cây, dạng tiền tố hậu tố Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 10 Tầm vực tĩnh program MAIN; var X: integer; … procedure SUB1; var X: real; … X → integer X := 1; procedure SUB2; … X := 2; Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 44 Tầm vưc tĩnh program MAIN; var X: integer; … procedure SUB1; var X: real; … X := 1; procedure SUB2; … X := 2; X → integer Static scopes define dynamic scopes Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 45 Cấu trúc khối program MAIN; … procedure SUB1; … procedure SUB3; … MAIN SUB1 SUB3 procedure SUB4; … procedure SUB2; … SUB4 SUB2 Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 46 Các quy tắc tầm vực tĩnh ngôn ngữcấu trúc khối Các khai báo đầu khối xác định môi trường tham khảo cục khối MAIN SUB SUB X: real SUB SUB Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 47 Các quy tắc tầm vực tĩnh ngôn ngữcấu trúc khối Nếu khối có tham khảo đến danh hiệu mà khai báo cục cho danh hiệu này, tham khảo liên hệ với khai báo cho danh hiệu có khối gần bao khối xét MAIN X: integer SUB1 X: real SUB X := SUB SUB Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 48 Các quy tắc tầm vực tĩnh ngôn ngữcấu trúc khối Mọi khai báo cục khối khối khối bị che tất khối bao lấy khối xét MAIN SUB1 X: real SUB3 SUB4 SUB2 Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 49 Các quy tắc tầm vực tĩnh ngôn ngữcấu trúc khối Tên khối phần môi trường tham khảo cục khối bao trực tiếp khối xét MAIN SUB1 SUB3 SUB4 SUB2 Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 50 Dữ liệu cục  Đặc tả: liệu cục chương trình bao gồm thông số hình thức, biến cục bộ, chương trình khai báo đầu chương trình  Hiện thực – Khi dịch đến ctc, chương trình dịch tạo trì bảng danh hiệu, ràng buộc danh hiệu với thông tin tương ứng khai báo cho danh hiệu đầu ctc – Trong thời gian thực thi ctc, liệu cục ctc lưu trữ ghi hoạt động tương ứng truy suất theo công thức địa cộng với độ dời (offset) – Các biến cục không muốn bị xóa sau ctc kết thúc (biến cục STATIC C) lưu phân đoạn mã thực thi ctc Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 51 Tham số ctc  Tham số hình thức tham số thực sự: Tham số hình thức biến liệt kê danh sách tham số (thường nằm phần đầu định nghĩa chương trình con) Còn tham số thực giá trị cụ thể biến thời gian chạy  VD //khai báo int sum(int addend_1, int addend_2) { return (addend_1 + addend_2); } //gọi hàm int sumValue; int value_1 = 40; int value_2 = 2; sumValue = sum (value1, value2); Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 52 Các phương pháp truyền tham số  Nói chung ngôn ngữ cung cấp nhiều phương pháp truyền tham số mà người lập trình lựa chọn để xác định khai báo tham số hình thức lúc định nghĩa chương trình cung cấp tham số thực tế lúc gọi thực chương trình Các phương pháp truyền tham số chủ yếu bao gồm: – Truyền giá trị – Truyền tham chiếu – Truyền giá trị-kết – Truyền kết Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 53 Truyền giá trị  Tham số hình thức tham số vào (IN-only parameters), tức nhận giá trị vào cho chương trình con, nghĩa vụ trả kết cho chương trình gọi Tham số hình thức xem biến cục chương trình cấp phát ô nhớ riêng  Tham số thực tế biểu thức (là biến, hằng, hàm biểu thức thực sự)  Phương pháp thực hiện: Tại thời điểm gọi, giá trị tham số thực tế chép vào ô nhớ tham số hình thức Trong trình thực chương trình con, thao tác tham số hình thức thao tác ô nhớ riêng nó, không ảnh hưởng đến tham số thực tế  Khi chương trình kết thúc, thay đổi giá trị tham số hình thức, không làm ảnh hưởng đến giá trị tham số thực tế Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 54 Truyền tham chiếu  Tham số hình thức tham số vào (IN-OUT parameters), tức có nghĩa vụ nhận giá trị vào cho chương trình trả kết cho chương trình gọi Tham số hình thức trỏ  Tham số thực tế phải biến, tức ĐTDL có ô nhớ  Phương pháp thực hiện: Tại thời điểm gọi, trỏ tham số thực tế chép cho tham số hình thức Trong trình thực chương trình con, thao tác tham số hình thức thao tác ô nhớ tham số thực tế  Khi chương trình kết thúc, thay đổi giá trị tham số hình thức làm giá trị tham số thực tế thay đổi theo Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 55 Truyền giá trị -kết  Tham số hình thức tham số vào (IN-OUT parameters) biến cục chương trình cấp phát ô nhớ riêng  Tham số thực tế phải biến, tức ĐTDL có ô nhớ  Phương pháp thực hiện: Tại thời điểm gọi, giá trị tham số thực tế chép vào ô nhớ tham số hình thức Trong trình thực chương trình con, thao tác tham số hình thức thao tác ô nhớ riêng nó, không ảnh hưởng đến tham số thực tế  Khi chương trình kết thúc, giá trị cuối tham số hình thức chép vào ô nhớ tham số thực tế Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 56 Truyền kết  Tham số hình thức tham số (OUT-only parameters), tức trả kết cho chương trình gọi, nghĩa vụ nhận giá trị vào cho chương trình Tham số hình thức xem biến cục chương trình cấp phát ô nhớ riêng  Tham số thực tế phải biến, tức ĐTDL có ô nhớ  Phương pháp thực hiện: Giá trị tham số thực tế không sử dụng chương trình Tham số hình thức gán trị biến cục Trong trình thực chương trình con, thao tác tham số hình thức thao tác ô nhớ riêng nó, không ảnh hưởng đến tham số thực tế  Khi chương trình kết thúc, giá trị cuối tham số hình thức chép vào ô nhớ tham số thực tế Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 57 Ví dụ Kết thực với phương pháp truyền tham số Truyền giá trị 1010 Truyền tham chiếu 2020 Truyền giá trị - kết 1020 Truyền kết 1020 Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 58 ... SPHN 19 Điều khiển trình tự chương trình  Gọi trở đơn giản  Gọi đệ qui Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 20 Cấu trúc gọi trở đơn giản  Khi chương trình thực thi, chương trình. .. trả điều khiển cho A ghi hoạt động B giải phòng Khi A kết thúc trả điều khiển cho chương trình ghi hoạt động A giải phóng, … Nguyễn Thị Hạnh – Bộ môn CNPM – Khoa CNTT – ĐH SPHN 25 Một số cấu trúc. .. 21 Hạn chế cấu trúc gọi trở đơn giản  Chương trình không đệ qui (bao gồm đệ qui trực tiếp, gián tiếp)  Cần có phát biểu gọi tường minh  Chương trình phải hoàn thành lần gọi  Điều khiển chuyển

Ngày đăng: 27/10/2017, 11:30

Mục lục

  • Chương 4 CẤU TRÚC ĐIỀU KHIỂN

  • Nội dung

  • 4.1. Điều khiển trình tự

  • Biểu thức

  • Cơ chế điều khiển

  • Cơ chế điều khiển

  • Cú pháp của biểu thức

  • Slide 8

  • Cú pháp biểu thức

  • Dạng thời gian thực thi của biểu thức

  • Slide 11

  • Điều khiển trình tự giữa các phát biểu

  • GOTO

  • Phát biểu ghép

  • Phát biểu điều kiện

  • Slide 16

  • Phát biểu lặp

  • Slide 18

  • Slide 19

  • Điều khiển trình tự giữa các chương trình con

Tài liệu cùng người dùng

Tài liệu liên quan