برنامه‌نویسی ساخت‌یافته

برنامه‌نویسی ساخت‌یافته  یک پارادایم برنامه‌نویسی است که طبق آن برنامه‌نویس قدم‌ها و روال‌هایی را که لازم است تا برنامه به جواب برسد را مشخص می‌کند. در این روش از برنامه‌نویسی، انجام یک روال به روال‌های کوچک‌تر تقسیم می‌شود و به این ترتیب یک برنامه با شکسته شدن به ریز برنامه‌های کوچک‌تر سعی می‌کند تا عملکرد مد نظر را پیاده‌سازی کند.

رویه‌ها ، زیر رویه‌ها ، ساختار بلوک  و حلقه‌های for و while در کنار سادگی آزمودن کدها و صرف نظر کردن از Goto که برنامه را به یک کلاف سردرگم (به اصطلاح برنامه‌نویسی: spaghetti code) تبدیل می‌کرد، موجب شدند تا دنبال کردن برنامه و نگهداری از آن تا حد زیادی بهبود یابد.

این پارادایم در دههٔ ۱۹۶۰ توسط بوهن  و جاکوپینی  پدید آمد و در سال ۱۹۶۸ پدیدهٔ معروفی به نام Goto از سوی ادسخر دیکسترا زیان‌آور تشخیص داده شد و این پدیدهٔ تازه به صورت تئوری در قالب برنامه‌نویسی ساخت‌یافته ارائه شد و پس از آن توسط زبان الگول  به کمک ساختارهای کنترلی پشتیبانی گردید.Böhm, Jacopini. "Flow diagrams, turing machines and languages with only two formation rules" Comm. ACM , 9(5):366-371, May 1966

 مثال 
به عنوان مثال برای نوشتن برنامه‌ای که قراراست اطلاعات نمرات یک محصل را بگیرد و کارنامهٔ آن را چاپ کند، زیر روال‌های زیر لازم است:
 زیر روالی برای خواندن اطلاعات ورودی
 زیر روالی برای جمع‌آوری اطلاعات ورودی و محاسبهٔ معدل
 زیر روالی برای چاپ اطلاعات به صورت یک جدول
 زیر روالی برای اتصال به چاپگر و چاپ گزارش

هر زیر روال آنقدر کوچک می‌شود که برنامه‌نویس بتواند راحت‌تر کار کردن آن را درک کند (هر زیر روال معمولاً ۳۰ خط برنامه‌نویسی است). به این ترتیب برنامه‌نویس با نوشتن هر زیر روال بخشی از برنامه را تولید می‌کند و برنامه‌نویسان مختلف می‌توانند بر روی زیر روال‌های مختلف کار کنند تا در نهایت به اضافه نمودن آن‌ها به یکدیگر برنامهٔ نهایی ساخته شود.

در زبان‌های ساختار یافته توابع کتابخانه‌ای فراوانی وجود دارند که سعی می‌کنند به برنامه‌نویس در برخی از روال‌ها کمک کنند؛ مثلاً برای چاپ در مثال فوق، توابع کتابخانه‌ای برای سهولت انجام کار در این زیر روال، در زبان پاسکال، وجود دارد.

برخی از زبان‌های ساخت یافته:
 پاسکال
 سی

 منابع 

رده:اختراع‌های هلندی
رده:ادسخر دیکسترا
رده:پارادایم‌های برنامه‌نویسی
رده:کل‌نگری