(+84) 236.3827111 ex. 402

Mô hình lập trình (Programming Paradigms)


Có các mô hình lập trình sau:

· Lập trình Logic (Logical programming)

· Lập trình thủ tục (Procedural programming)

· Lập trình hàm (Functional programming)

· Lập trình hướng đối tượng (Object-oriented programming)

Lập trình logic bản chất là khai báo và phụ thuộc vào mục đích chung để hoạt động dựa trên các khai báo đó.

Lập trình hướng thủ tục phân rã chương trình thành các thủ tục và nhấn mạnh chương trình phải làm thế nào. Lập trình hướng thủ tục bao gồm tập các kỹ năng và thủ tục từng bước.

Lập trình hàm là mô hình lập trình xem việc tính toán là sự đánh giá các hàm toán học và tránh sử dụng trạng thái và các dữ liệu biến đổi. Lập trình hàm nhấn mạnh chương trình làm cái gì, và ứng dụng hàm số.

Lập trình hướng đối tượng phân rã chương trình thành các lớp bao gồm thuộc tính và chức năng hoạt động trên các đối tượng của lớp đó.

Có thể phân loại như sau:

· Lập trình chỉ thị, mệnh lệnh (Imperative programming) bao gồm lập trình hướng thủ tục (Procedural programming) như Pascal, C và lập trình hướng đối tượng (Object-oriented programming) như Java, C++, C#.

· Lập trình khai báo (Declarative programming) gồm lập trình hàm (Functional programming) như Lisp, Scheme, lập trình logic (Logical programming) như Prolog. Lập trình khai báo sử dụng ngôn ngữ mô tả để đặc tả các vấn đề, nhấn mạnh kết quả mong đợi hơn là cách thức nhận được kết quả, ứng dụng nhiều trong xử lý ngôn ngữ tự nhiên và trí tuệ nhân tạo.

Ví dụ ngôn ngữ lập trình:

· Một chương trình lập trinh logic như Prolog là tập hợp các mệnh đề:

- Mỗi mệnh đề được xây dựng từ nhiều vị từ

- Vị từ là là phát biểu về một đối tượng có thể đúng hay sai

Chương trình Prolog = các đối tượng dữ liệu và quan hệ giữa các đối tượng dữ liệu

Ví dụ:

Robin: chim cổ đỏ, Penguin: chim cánh cụt

For all x, ROBIN(x) -> BIRD(x) Với tất cả loài chim, nếu x là chim cổ đỏ, thì x là chim

For all x, PENGUIN(x) -> BIRD(x) Nếu x là chim cánh cụt, thì x là chim.

For all x, BIRD(x) -> CAN-FLY(x) Nếu x là chim, thì x có thể bay.

ROBIN (tweety)

PENGUIN (happyfeet)

student(an) an là sinh viên

Các sự kiện

nguoi(socrates) socrates là người

chet(X):- nguoi(X) mọi người đều sẽ chết

->chet(Socrates) Socrates sẽ chết

robber(jerry) Jerry là một kẻ cướp

childof(tom, john) Tom là con của john

rich(john) John thì giàu có

Các quy tắc

rich(X):- childof(X,Y), rich(Y)

rich(X):- robber(X)

X giàu có nếu X có cha giàu hay X là kẻ cướp

Ví dụ lập trình hàm:

Tính tổng các số nguyên từ 0 đến <150, không chia hết cho 5

int sum = Enumerable.Range(0, 150).Where(i => i % 5 != 0).Sum();