programming paradigms

13
Programming Paradigms Nhóm 3

Upload: kirby-church

Post on 02-Jan-2016

43 views

Category:

Documents


0 download

DESCRIPTION

Programming Paradigms. Nhóm 3. Nội dung thuyết trình. Mẫu hình lập trình (Programming Paradigms) Lập trình hướng thủ tục (Procedural Programming) Lập trình hướng chức năng (Functional Programming) Lập trình logic (Logic Programming) Lập trình hướng đối tượng (Object-oriented Programming). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programming Paradigms

Programming ParadigmsNhóm 3

Page 2: Programming Paradigms

Nội dung thuyết trình

1. Mẫu hình lập trình (Programming Paradigms)

2. Lập trình hướng thủ tục (Procedural Programming)

3. Lập trình hướng chức năng (Functional Programming)

4. Lập trình logic (Logic Programming)

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

Page 3: Programming Paradigms

Mẫu hình để chỉ một lớp các phần tử có nhiều tính chất tương tự nhau.

A programming paradigm is an approach to programming a computer based on a mathematical theory or a coherent set of principles

Mẫu hình lập trình là một hướng tiếp cận để lập trỉnh dựa trên một tập các nguyên tắc chặt chẽ

Các ngôn ngữ lập trình khác nhau dẫn đến các mẫu hình lập trình khác nhau.

1. Mẫu hình lập trình

Page 4: Programming Paradigms

1. Mẫu hình lập trình

Page 5: Programming Paradigms

1. Mẫu hình lập trình

• Tại sao phải tìm hiểu mẫu hình lập trình• Đối với một lập trình viên muốn trở thành

professional trong lĩnh vực phần mềm thì ít nhất cần biết vài ngôn ngữ lập trình và vài mẫu hình lập trình

• Nếu như bạn đã từng học các mẫu hình lập trình và biết cách làm thế nào để áp dụng chúng vào các ngôn ngữ lập trình khác nhau thì bạn sẽ giải quyết các vấn đề nhanh hơn là khi bạn phải học thêm các ngôn ngữ lập trình đó

Page 6: Programming Paradigms

1. Mẫu hình lập trình

Page 7: Programming Paradigms

2. Lập trình hướng thủ tục

• Lập trình hướng thủ tục là phương pháp mà người lập trình xem một chương trình là một tập các hàm đủ nhỏ để dễ lập trình và kiểm tra.

• Trong chương trình, các hàm làm việc độc lập với nhau

• Việc chia chương trình thành các hàm cho phép nhiều người có thể tham gia vào việc xây dựng chương trình. Mỗi người xây dựng một hay một số các hàm độc lập với nhau

Page 8: Programming Paradigms

2. Lập trình hướng thủ tục

• Algol 60 (ALGOrithmic Language, 1958-1960)

• Là một trong những ngôn ngữ có tầm ảnh hưởng nhất.Algol chứa hầu hết các ngôn ngữ theo hướng thủ tục : Pascal, C, C++, Ada, Java

• Là một phương pháp chuẩn để mô tả các thuật toán

• Các bộ phận cấu thành :• Đệ quy, khối cấu trúc : begin/end, các kiểu

khai báo biến

Page 9: Programming Paradigms

3. Lập trình hướng chức năng

• Functional Programming là thể loại lâu đời nhất trong ba paradigm lập trình chính. Ngôn ngữ FP đầu tiên là IFP, được phát minh vào năm 1955, một năm trước khi có Fortran. Sau đó, LISP ra đời năm 1958.

• FP xem chương trình là một tập hợp các hàm nhận vào đối số và trả về giá trị. Hàm trong FP rất giống với hàm trong toán học vì nó không làm thay đổi trạng thái của chương trình. Ví dụ như:

• - Một đại lượng khi được gán giá trị thì không bao giờ thay đổi giá trị đó.

• - Hàm không sửa đổi giá trị của đối số được truyền vào, và giá trị do hàm trả về hoàn toàn là một giá trị mới.

Page 10: Programming Paradigms

4. Lập trình logic

Page 11: Programming Paradigms

5. Lập trình hướng đối tượng(OOP )

• Là một mẫu hình điển hình và thông dụng

• Người lập trình xem chương trình là tập các đối tượng

• Trong ngôn ngữ lập trình thuần nhất, thì các hàm không nằm ngoài các lớp class. Tuy nhiên, không phải tất cả đều nằm trong các class hay phải áp dụng kỹ thuật kế thừa

Page 12: Programming Paradigms

5. Lập trình hướng đối tượng(OOP )

• Lập trình hướng đối tượng là một phương pháp lập trình có các tính chất chính sau:

• Tính trừu tượng (abstraction)• Tính đóng gói (encapsulation)

và che giấu thông tin (information hiding)

• Tính đa hình (polymorphism)• Tính kế thừa (inheritance)

Page 13: Programming Paradigms

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

• Nhánh đầu tiên : Simula67• 1965-1967• Based on Simula I and Algol60• Nhánh kế tiếp : Smalltalk 1980s• Inspired by Simula67