Lập trình cấu trúc là gì? Ưu nhược điểm.

Lập trình cấu trúc là gì? Ưu nhược điểm.

Lập trình tuyến tính là gì? Ưu nhược điểm.

Lập trình hướng đối tượng là gì? Ưu, nhược điểm

Lập trình cấu trúc là gì? Ưu nhược điểm.

Lập trình hướng cấu trúc là gì?

  • Lập trình hướng cấu trúc hay còn gọi là lập trình hướng thủ tục (Procedure Oriented Programming – POP): là một kỹ thuật lập trình truyền thống, trong đó chương trình được chia thành các hàm (chương trình con)
  • Mỗi chương trình còn có thể được chia ra nhiều chương trình con khác để đơn giản hóa công việc của chúng. (Quá trình làm mịn)

– Ví dụ chương trình nhập và hiển thị thông tin người dùng sẽ chia thành hai chương trình con là chương trình nhập và xuất, nếu việc nhập thông tin phức tạp thì chương trình nhập thông tin có thể chia ra nhiều chương trình con khác nhau…

  • Các ngôn ngữ lập trình hướng cấu trúc: Pascal, C…

Đặc điểm, Tính chất

Chương trình = Cấu trúc dữ liệu + Giải thuật

  • Cấu trúc dữ liệu: cách mô tả, tổ chức dữ liệu
  • Giải thuật: thuật toán, các bước giải quyết bài toán

Để liên kết giữa các hàm với nhau ta thường dùng biến toàn cục hoặc con trỏ.

Các tính chất cơ bản của lập trình hướng cấu trúc là:

  • Tập chung vào công việc cần thực hiện (thuật toán)
  • Chương trình lớn được chia thành các chương trình con, mỗi chương trình con có thể gọi tới một hoặc nhiều lần theo thứ tự bất kỳ.
  • Phần lớn các hàm sử dụng dữ liệu chung
  • Dữ liêu trong hệ thống được chuyển động từ hàm này sang hàm khác.
  • Hàm biến đổi dữ liệu từ dạng này sang dạng khác
  • Sử dụng cách tiếp cận top-down trong thiết kế chương trình

Ưu nhược điểm

Ưu điểm:

  • Tư duy giải thuật rõ ràng.
  • Đơn giản, dễ hiểu.

Nhược điểm:

  • Trong lập trình hướng cấu trúc ta thường quan tâm đến việc phát triển các hàm mà ít quan tâm tới dữ liệu – thứ mà chúng dùng để xử lý công việc. (Điều này khiến cho dữ liệu khó kiểm soát)
  • Không hỗ trợ sử dụng lại mã nguồn: mỗi cấu trúc dữ liệu chỉ phù hợp với một số giải thuật, khi thay đổi cấu trúc dữ liệu thì giải thuật phải thay đổi theo.
  • Không phù hợp với các bài toán lớn có nhiều module.

 

Lập trình cấu trúc là gì? Ưu nhược điểm.

References:

https://en.wikipedia.org/wiki/Procedural_programming

stackjava.com