1 Phát triển hệ thống 1 1 Giới thiệu 2



tải về 1.95 Mb.
trang6/20
Chuyển đổi dữ liệu30.08.2016
Kích1.95 Mb.
#28837
1   2   3   4   5   6   7   8   9   ...   20

1.5Kĩ thuật lập trình

1.5.1Lập trình thủ tục


  • Kĩ thuật lập trình dùng "thủ tục" để mô tả giải pháp được gọi là lập trình thủ tục. Lập trình thủ tục là ngôn ngữ lập trình đầu tiên được dùng trong các ngôn ngữ cấp cao. Nó là kĩ thuật lập trình qui ước được sử dụng rộng rãi nhất ngày nay.

  • Các ngôn ngữ hỗ trợ cho lập trình thủ tục bao gồm FORTRAN, COBOL, PL/1, Pascal, ALGOL, BASIC và ngôn ngữ C. Trong những ngôn ngữ này, cú pháp được cung cấp cho từng lệnh để làm cho máy tính thực hiện. Nói cách khác, một chương trình thủ tục được coi như kết tập của các câu lệnh. Cũng có thể nói rằng, "chương trình bao gồm các cấu trúc dữ liệu và các thuật toán." Điều này là ích lợi nhất cho phương pháp chương trình được lưu trữ, một đặc trưng của máy tính kiểu von Neumann.

  • Tính hiệu quả và tính bảo trì của lập trình thủ tục được nâng cao thêm với việc đưa vào lập trình có cấu trúc và sơ đồ có cấu trúc.

  • Khái niệm về lập trình có cấu trúc là diễn đạt mọi thuật toán bằng việc dùng ba cấu trúc điều khiển cơ bản (tuần tự, tuyển chọn và lặp). Bằng việc dùng sơ đồ lập trình này, chúng ta có thể tối thiểu hoá việc dùng câu lệnh goto thường gây ra vấn đề trong công việc bảo trì.


  • Hình 1-4-1 Lập trình thủ tục và lập trình hàm



























1.5.2Lập trình hàm


  • Kĩ thuật lập trình dùng các hàm để mô tả cho giải pháp được gọi là lập trình hàm. LISP, được phát triển để làm cho việc giải quyết các kí tự và kí hiệu dễ dàng hơn, là ngôn ngữ điển hình hỗ trợ cho lập trình hàm. LISP ban đầu được phát triển để dùng trong nghiên cứu về trí tuệ nhân tạo. Đặc trưng của ngôn ngữ này là việc dùng cấu trúc danh sách. Bởi vì các đối tượng (dữ liệu) được xử lí là được giải quyết như các cấu trúc danh sách nên nhiều hàm được cung cấp để xử lí danh sách. Để mô tả và định nghĩa các hàm, một hệ thống ngôn ngữ trừu tượng cao, gọi là tính toán lambda, được dùng tới.

  • Với lập trình thủ tục, các giá trị trong cấu trúc dữ liệu trong bộ nhớ chính bị thay đổi khi chương trình được thực hiện, chỉ ra rằng hiệu quả phụ động xảy ra. Tuy nhiên, với lập trình hàm, các hàm xử lí dữ liệu vào và đưa ra các giá trị hàm. Cho nên nó không chứa hiệu quả phụ. Việc viết lại các giá trị trong cấu trúc dữ liệu là không được phép. Việc này cũng còn được gọi là lập trình khai báo, vì chương trình được mô tả theo kiểu khai báo. Luồng điều khiển được mô tả bằng lập trình thủ tục, trong khi luồng dữ liệu lại được mô tả bằng lập trình hàm, và trong trường hợp đó có sự khác biệt giữa hai cách lập trình này (xem Hình 1-4-1).


1.5.3Lập trình logic


  • Phương pháp lập trình, mô tả giải pháp bằng một "kết tập các khai báo" được gọi là lập trình logic. Lập trình logic bao gồm các biểu thức logic và cơ chế lập luận thuộc vào hệ thống logic nền tảng, và không có hiệu quả phụ. Prolog là ngôn ngữ lập trình tiêu biểu hỗ trợ cho lập trình logic. Đặc trưng của ngôn ngữ này là qui tắc giải dựa trên tam đoạn luận. Trong trường hợp của Prolog, ba cú pháp được dùng: qui tắc, sự kiện và hỏi. Việc sánh mẫu (thống nhất) tìm tự động (lần ngược) v.v.. Được dùng như cơ chế điều khiển cơ bản.

  • Hình 1-4-2 Ví dụ về lập trình logic



    • Một ví dụ suy diễn bằng Prolog




    • "Nên tránh" và "Không mạnh khoẻ" cả hai đều là tân từ. "X" chỉ một biến. "Thuốc lá" chỉ một hằng.




    • Hệ thống logic









    • Sự kiện

    • Không mạnh khoẻ (thuốc lá)

    • ;

    • "B(b)" chỉ ra rằng "b là B."




    • Qui tắc

    • Nên tránh (x): Không mạnh khoẻ (x)

    • ;

    • "A:-B" chỉ ra rằng "nếu B là đúng, thì A là đúng."


















    • Chương trình









    • Hỏi

    • ?  nên tránh (A)

    • ;

    • "?-A(a)" chỉ ra "Cái gì là a cho A?"


    Suy diễn














    • Kết quả












    • A = thuốc lá

    • ;

    • Kết luận "Nên tránh thuốc lá."



  • Với lập trình logic, các quan hệ cố hữu trong vấn đề và các ràng buộc được mô tả theo kiểu khai báo. Các quan hệ vào-ra được mô tả bằng các biểu thức logic. Kết quả của tính toán (suy diễn) là hoặc "thành công" hoặc "không thành công." Việc đưa vào một biểu thức logic và chứng minh tiếp đó rằng biểu thức này trùng với kết luận của biểu thức logic đã cho xem như chương trình là tương đương với việc thực hiện (tính toán) của chương trình.

  • Như được lấy làm điển hình trong Hình 1-4-2, suy diễn này được tiến hành bằng qui tắc tam đoạn luận.

  • "Hút thuốc là không mạnh khoẻ."  "Nên tránh việc dùng thứ không mạnh khoẻ."  "Nên tránh hút thuốc lá."


1.5.4Lập trình hướng đối tượng


  • Phương pháp lập trình mô tả cho giải pháp bằng trạng thái của đối tượng và hành vi của chúng được gọi là lập trình hướng đối tượng. Smalltalk-80 là ngôn ngữ điển hình hỗ trợ cho lập trình hướng đối tượng. Tuy nhiên, các ngôn ngữ lập trình sau đây, tất cả đều là những phiên bản mở rộng của các ngôn ngữ đã có, cũng đang được sử dụng rộng rãi.

  • - Phiên bản mở rộng của C  C++ và Objective-C

  • - Phiên bản mở rộng của Prolog ESP

  • - Phiên bản mở rộng của LISP  Flavor và CLOS

  • - Phiên bản mở rộng của Pascal Object Pascal

  • Như được mô tả trong 1.2.3, với cách lập trình hướng đối tượng, việc phát triển chương trình được tiến hành có hiệu quả bằng việc dùng các tiện nghi sau:



  • Hướng đối tượng

  • Thể nghiệm

  • :

  • Tạo ra đối tượng từ lớp




  • Bao bọc

  • :

  • Tổ hợp dữ liệu và phương pháp




  • Truyền thông báo

  • :

  • Gửi/nhận thông báo




  • Kế thừa

  • :

  • Làm cho con kế thừa các đặc trưng của bố mẹ


tải về 1.95 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9   ...   20




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương