Lập trình cấu trúc

Lập trình cấu trúc là một tập con của lập trình thủ tục. Trong một chương trình máy tính, các khối chức năng có thể được thực hiện không chỉ theo trình tự mà còn có thể theo các tình huống và lặp lại nhiều lần. Phương pháp lập trình cấu trúc được dựa trên các mô hình toán học của Bohm và Guiseppe, theo đó, một chương trình máy tính có thể được viết dựa trên ba cấu trúc: trình tự, quyết định và vòng lặp. Trình tự nghĩa là các câu lệnh được thực hiện theo trình tự nhất định: trên xuống. Quyết định là sự quy định sẽ thực hiện chương trình như thế nào phụ thuộc vào sự thoả mãn các điều kiện nhất định. Vòng lặp thể hiện sự thực hiện có tính lặp một số đoạn lệnh của chương trình khi các điều kiện nào đó vẫn được thỏa mãn. Thông qua các cấu trúc trên, mã chương trình trở nên sáng sủa và dễ đọc. Phương pháp lập trình thủ tục hay lập trình cấu trúc thường đi đôi với phương pháp phân tích trên xuống (top-down). Theo phương pháp này, người thiết kế hệ thống chia các chức năng (hàm) chính của hệ thống thành các chức năng nhỏ hơn, đến lượt mình, các chức năng nhỏ này lại được chia tiếp thành các chức năng nhỏ hơn nữa cho đến khi được các khối (hàm) chương trình đủ nhỏ. Việc phân tích này được thể hiện trực quan theo sơ đồ khối. Các ngôn ngữ hỗ trợ lập trình hướng cấu trúc phổ biến là Pascal, C, Foxpro. Lưu đồ Nassi–Shneiderman là một trong các lưu đồ nhất quán với lý thuyết của lập trình cấu trúc.