نویسنده: داود دلدار، کارشناسی ارشد مهندسی زلزله، رئیس هیئت مدیره شرکت مجری طرح نوین تبریز
الگوریتم مجموعهای متناهی از دستورالعملها است، که به ترتیب خاصی اجرا میشوند و مسئلهای را حل میکنند.
در ریاضیات و علوم کامپیوتر، یک الگوریتم یک دنباله محدود از دستورالعملهای کاملاً تعریف شدهاست که معمولاً برای حل یک کلاس از مسائل خاص یا انجام یک محاسبات استفاده میشود. الگوریتمها به عنوان مشخصاتی برای انجام محاسبات، پردازش دادهها، استدلال خودکار، تصمیمگیری خودکار و سایر وظایف استفاده میشوند. شیوه محاسبه معدل در مدرسه، یکی از نمونههای الگوریتم است.
تمام الگوریتمها (خوارزمیها) باید شرایط و معیارهای زیر را دارا باشند:
-یک الگوریتم باید هیچ یا حداقل یک پارامتر را به عنوان ورودی بپذیرد.
-الگوریتم بایستی حداقل یک کمیت به عنوان خروجی (نتیجه عملیات) تولید کند.
-دستورهای الگوریتم باید با زبانی دقیق و بیابهام بیان شوند. هر دستورالعمل نیز باید انجامپذیر باشد. دستورهایی نظیر «مقدار ۶ یا ۷ را به x اضافه کنید» یا «حاصل تقسیم پنج بر صفر را محاسبه کنید» مجاز نیستند؛ چرا که در مورد مثال اول، معلوم نیست که بالاخره چه عددی باید انتخاب شود، و در خصوص مثال دوم هم تقسیم بر صفر در ریاضیات تعریف نشدهاست.
-الگوریتم باید دارای شروع و پایان مشخصی باشد، به نحوی که اگر دستورهای آن را دنبال کنیم، برای تمامی حالتها، الگوریتم پس از طی مراحل، خاتمه یابد. به علاوه، زمان لازم برای خاتمه الگوریتم هم باید به گونهای معقول و کوتاه باشد.
بهطور کلی جهت ارائه یک الگوریتم کامل به ۵ مؤلفه اصلی احتیاج داریم که عبارتند از:
مقادیر معلوم
خواسته مسئله
عملیات محاسباتی
دستورهای شرطی
دستورهای تکرار (حلقهها)
با بکارگیری دستورهای شرطی میتوان خروجی و رفتار یک الگوریتم را با توجه به شرایط از پیش تعیین شده مسئله کنترل کرد، از سوی دیگر استفاده از دستورهای تکرار (حلقهها) به برنامهنویس کمک میکنند یک دستور تکراری را چندین بار اجرا کند.
اکنون می خواهیم موضوع انتخاب روش مقاوم سازی را به زبانی ساده و در الگوریتمی ساده و مصور به فراگیران دانش بیان نماییم :