1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình phân tích khả năng ứng dụng đối tượng dữ liệu mang bộ mô tả kiểu động p4

5 8 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 421,46 KB

Nội dung

Tham khảo tài liệu ''giáo trình phân tích khả năng ứng dụng đối tượng dữ liệu mang bộ mô tả kiểu động p4'', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

h a n g e Vi e c u -tr a c k w y N c Function Ten_ham(Danh sách tham số với kiểu liệu tương ứng): Kiểu kết trả Ví dụ Function FN(x:real; y:integer) : real Ðặc tả xác định hàm FN : REAL x INTEGER -> REAL Nếu chương trình trả nhiều kết khơng có kết trả tên chương trình thường gọi thủ tục (procedure subroutine) Cú pháp điển hình đặc tả thủ tục quy định ngơn ngữ lập trình Pascal: Procedure Ten_thu_tuc(Danh sách tham sốcùng với kiểu liệu tương ứng) Ví dụ Procedure SUB(X:real; Y:Integer; Var Z:Real; Var U:boolean); Trong đặc tả này, tham số có tên đứng sau VAR biểu thị kết tham số bị thay đổi Cú pháp đặc tả Ada là: Procedure SUB(X: IN Real; Y: IN Integer; Z: IN OUT Real; U: OUT Boolean) Thủ tục khai báo chương trình với xác định: SUB : Real x Integer x Real -> Real x Boolean Các từ IN, OUT IN OUT phân biệt ba trường hợp sau đây: IN định tham số bị thay đổi cương trình con, IN OUT định tham số bị thay đổi OUT định kết Mặc dù chương trình biểu diễn hàm tốn học có vấn đề tương tự phép tốn ngun thuỷ: - Chương trình có tham số ẩn dạng biến khơng địa phương mà tham chiếu - Chương trình có kết ẩn (hiệu ứng lề) trả thông qua thay đổi biến không địa phương thông qua việc thay đổi tham số IN-OUT - Chương trình nhạy cảm với tiền sử (tự sửa đổi), kết qủa khơng phụ thuộc vào tham số cho lần gọi mà cịn phụ thuộc vào toàn lịch sử lần gọi trước Nhạy cảm với tiền sử liệu địa phương giữ lại lần gọi chương trình thơng qua thay đổi mã riêng (ít phổ biến hơn) 6.2.2 Cài đặt chương trình Các phép tốn ngun thuỷ cài đặt cách dùng cấu trúc liệu phép tốn cung cấp máy tính ảo bên ngơn ngữ lập trình Chương trình biểu diễn phép toán xây dựng người lập trình chương trình cài đặt cách dùng cấu trúc liệu phép tốn cung cấp thân ngơn ngữ lập trình Sự cài đặt xác định thân chương trình con, bao gồm việc khai báo liệu cục xác định cấu trúc liệu dùng cho chương trình lệnh xác định hành động làm chương trình thực Sự khai báo lệnh thường bao gói, người sử dụng chương trình khơng thể truy xuất tới liệu cục lệnh bên chương trình Người sử 64 bu to k lic d o m o m w o d o Chương VI: Chương trình w w w w w C lic k to bu Ngôn ngữ lập trình C y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e y N c dụng gọi chương trình với tập hợp tham số nhận lại kết tính tốn Cú pháp Pascal chương trình điển hình: FUNCTION FN(x:REAL; y:INTEGER):REAL ; (Mô tả) VAR m : ARRAY[1 10] OF REAL; (Khai báo đối n : INTEGER; tượng liệu cục bộ) BEGIN (Dãy lệnh xác định hành động chương trình con) END; Thơng thường chương trình có chương trình khác biểu thị phép tốn định nghĩa người lập trình dùng cho chương trình chứa chúng Những chương trình "cục bộ" bao gói, nghĩa chúng khơng thể gọi tới từ bên ngồi chương trình chứa chúng Kiểm tra kiểu vấn đề quan trọng chương trình Mỗi lần gọi chương trình địi hỏi tham số có kiểu xác định đặc tả chương trình Kiểu kết trả chương trình phải biết đến Vấn đề kiểm tra kiểu tương tự phép tốn ngun thuỷ Kiểm tra kiểu thực cách tĩnh trình dịch, có khai báo kiểu cho tham số kết chương trình Mặt khác kiểm tra kiểu động q trình thực chương trình Sự chuyển đổi kiểu ẩn tham số để đổi chúng thành kiểu cung cấp cách tự động cài đặt ngôn ngữ 6.3 CƠ CHẾ GỌI CHƯƠNG TRÌNH CON 6.3.1 Ðịnh nghĩa kích hoạt chương trình Người lập trình viết định nghĩa chương trình chương trình Thơng qua việc thực chương trình, chương trình gọi kích hoạt chương trình (subprogram activation) tạo Khi thực chương trình kết thúc kích hoạt bị phá huỷ Nếu có lần gọi khác kích hoạt tạo Như từ định nghĩa chương trình con, có nhiều kích hoạt tạo q trình thực chương trình Sự định nghĩa dùng làm khn mẫu (template) cho việc tạo kích hoạt q trình thực Chú ý định nghĩa diễn tả chương trình viết biết đến trình dịch Kích hoạt chương trình có q trình thực Trong q trình thực hiện, định nghĩa tồn dạng khuôn mẫu mà từ kích hoạt tạo 6.3.2 Cài đặt định nghĩa kích hoạt chương trình Xét lại định nghĩa chương trình Pascal: FUNCTION FN(x : REAL; y : INTEGER) : REAL; CONST max = 20; 65 bu to k d o m o o c u -tr a c k w lic w w w d o Chương VI: Chương trình m C lic k to bu Ngơn ngữ lập trình w w w C y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e y N c VAR m : ARRAY[1 max] OF REAL; n : INTEGER; BEGIN n := MAX; x := * x + m[5]; END; Sự định nghĩa xác định thành phần cần thiết cho kích hoạt chương trình con: 1/ Bộ nhớ tham số, đối tượng liệu x y 2/ Bộ nhớ cho kết hàm, đối tượng liệu kiểu REAL; 3/ Bộ nhớ cho biến cục bộ, mảng m biến n 4/ Bộ nhớ cho trực kiện hằng, 20, 5/ Bộ nhớ cho mã thực phát sinh từ lệnh thân chương trình Ðịnh nghĩa chương trình cho phép vùng nhớ tổ chức mã thực xác định thơng qua việc dịch Kết việc dịch khuôn mẫu dùng để xây dựng kích hoạt riêng thời gian chương trình gọi trình thực Ðể xây dựng kích hoạt chương trình từ khn mẫu nó, khn mẫu ban đầu phải chép vào vùng nhớ Tuy nhiên thay chép hồn tồn, tách thành hai phần: 1/ Phần tĩnh, gọi đoạn mã (code segment) bao gồm mục (các hằng) (các mã thực được) nói Phần tĩnh khơng thay đổi trình thực chương trình dùng cho tất kích hoạt 2/ Phần động, gọi mẩu tin kích hoạt (Activation record) bao gồm mục (Các tham số), (Kết hàm) (dữ liệu cục bộ) cộng thêm nhiều mục khác liệu ẩn vùng nhớ tạm, điểm trở về, tham khảo biến không cục Phần động có cấu trúc giống cho tất kích hoạt chứa giá trị liệu khác cho kích họat Do kích hoạt cần thiết phải có mẩu tin kích hoạt riêng Hình vẽ sau trình bày cấu trúc kích hoạt chương trình hàm FN nói 66 bu to k d o m o o c u -tr a c k w lic w w w d o Chương VI: Chương trình m C lic k to bu Ngơn ngữ lập trình w w w C y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e c u -tr a c k w y N c Mở đầu Khối mã thực Mã lệnh thực Kết thúc 20 Đoạn mã FN Các Ðiểm trở Kết hàm Các tham số FN x y m : : : n Mẩu tin kích họat FN Các biến cục Ðối với chương trình con, đoạn mã tồn thơng qua thực chương trình Các mẩu tin kích hoạt tạo huỷ bỏ cách động thông qua thực lần chương trình gọi lần kết thúc RETURN Ðọan mã FN Kích họat Kích họat Kích họat thứ hai cuối Mẩu tin kích họat FN Mẩu tin kích họat FN Mẩu tin kích họat FN Kích thước cấu trúc mẩu tin kích hoạt chương trình thơng thường xác định q trình dịch, trình biên dịch (compile) xác định mẩu tin kích hoạt lớn vị trí phần tử Ðể truy xuất đến phần tử sử dụng cơng thức tính địa sở cộng độ dời trình bày mẩu tin bình thường 67 bu to k lic d o m o m w o d o Chương VI: Chương trình w w w w w C lic k to bu Ngôn ngữ lập trình C y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e y N c 6.4 CHƯƠNG TRÌNH CON CHUNG Sự đặc tả chương trình thơng thường liệt kê số lượng, thứ tự kiểu liệu tham số Chương trình chung (generic subprogram) chương trình có tên có nhiều định nghĩa khác nhau, phân biệt số lượng, thứ tự kiểu liệu tham số Khái niệm phép toán chung đề cập chương II (phần mục đích khai báo) Một phép tốn hay chương trình chung xuất hiện, vấn đề trình biên dịch xác định ý nghĩa tập hợp nhiều ý nghĩa có Thơng tin đối số phép toán tham số chương trình giúp chương trình dịch nhận biết ý nghĩa đích thực chương trình chung 6.5 TRUYỀN THAM SỐ CHO CHƯƠNG TRÌNH CON 6.5.1 Khái niệm truyền tham số Truyền tham số phương pháp chuyển giao liệu đơn vị chương trình nhằm đạt kết khác gọi thực chương trình Tham số có hai loại tham số hình thức tham số thực tế Tham số hình thức loại đặc biệt ÐTDL cục chương trình Nó xác định lúc định nghĩa chương trình Khi định nghĩa chương trình con, phải xác định danh sách tham số hình thức với khai báo kiểu tương ứng Tham số thực tế ÐTDL chia sẻ cho chương trình cách truyền lời gọi thực chương trình 6.5.2 Sự tương ứng tham số tham số thực tế tham số hình thức Khi chương trình gọi với danh sách tham số thực tế địi hỏi phải có tương ứng tham số hình thức tham số thực tế Sự tương ứng nhằm để xác định tham số thực tế truyền cho tham số hình thức Có hai phương pháp để xác định tương ứng này: Tương ứng vị trí: Sự tương ứng cặp tham số thực tế tham số hình thức đặt sở tương ứng vị trí chúng danh sách tham số thực tế lúc gọi danh sách tham số hình thức định nghĩa chương trình Hầu hết ngơn ngữ dùng tương ứng vị trí số lượng tham số hình thức tham số thực tế cặp tương ứng Tuy nhiên có ngơn ngữ cho phép lời gọi chương trình khơng cần cung cấp đủ số lượng tham số thực tế Tương ứng tên: Tham số hình thức bắt cặp với tham số thực tế định lời gọi chương trình Ví dụ Ada có lời gọi chương trình sau: SUB(y => B, x => 27) Trong tham số thực tế B bắt cặp với tham số hình thức y tham số thực tế 27 bắt cặp với tham số hình thức x 68 bu to k d o m o o c u -tr a c k w lic w w w d o Chương VI: Chương trình m C lic k to bu Ngơn ngữ lập trình w w w C y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c ... chương trình con: 1/ Bộ nhớ tham số, đối tượng liệu x y 2/ Bộ nhớ cho kết hàm, đối tượng liệu kiểu REAL; 3/ Bộ nhớ cho biến cục bộ, mảng m biến n 4/ Bộ nhớ cho trực kiện hằng, 20, 5/ Bộ nhớ cho... kết chương trình Mặt khác kiểm tra kiểu động q trình thực chương trình Sự chuyển đổi kiểu ẩn tham số để đổi chúng thành kiểu cung cấp cách tự động cài đặt ngơn ngữ 6.3 CƠ CHẾ GỌI CHƯƠNG TRÌNH CON... INTEGER; tượng liệu cục bộ) BEGIN (Dãy lệnh xác định hành động chương trình con) END; Thơng thường chương trình có chương trình khác biểu thị phép toán định nghĩa người lập trình dùng cho chương trình

Ngày đăng: 08/05/2021, 17:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN