چطور الگوریتم بنویسیم؟

چطور الگوریتم بنویسیم؟?الگوریتم، مجموعه ای از قدم ها یا کارهایی است که برای حل یک مسئله یا انجام یک وظیفه طراحی میشود. الگوریتم ها معمولا به یک زبان برنامه نویسی و به عنوان یک شبه برنامه نوشته میشوند اما میتوانید به آنها زبان مکالمه ای تان را هم اضافه کنید.در این مقاله از سایت زیکو ،ی اد میگیرید چطور اولین الگوریتم خودتان را بسازید و به کمک آن کار خودتان را انجام دهید.قدم های اصلی طراحی یک الگوریتمقدم اول: مشخص کنید به چه چیزی میخواهید برسید؟نتیجه برنامه یا کار خودتان را تعیین کنید. از خودتان بپرسید برای چه میخواهم اینکار را انجام دهم؟ یا این برنامه قرار است در پایان چه کار بکند؟ این کار باعث میشود بتوانید مراحل انجام کار را تعیین کنید.قدم دوم: یک نقطه شروع تعیین کنید.پیدا کردن نقطه شروع و پایان در برنامه ها و کدهایتان یک امر بسیار ضروری و پر اهمیت است. برای اینکه بتوانید نقطه شروع الگوریتم را پیدا کنید به سوالات زیر جواب دهید:چه داده ها و ورودی هایی دارید؟داده ها و ورودی ها از کجا می آیند؟چه فرمول هایی برای حل مشکل دارید؟چه قوانینی در استفاده از داده ها وجود دارد؟چگونه داده ها و مقدارهایشان با هم ارتباط پیدا میکنند؟قدم سوم: نقطه پایان الگوریتم را مشخص کنید.مثل قدم دوم، میتوانید نقطه پایان الگوریتم را هم پیدا کنید. برای پیدا کردن آن سوالات زیر را از خودتان بپرسید:چه چیزی باید از این الگوریتم یاد گرفت؟چه چیزهایی از ابتدا تا انتها عوض میشوند؟چه چیزهایی اضافه یا حذف میشوند؟?قدم چهارم: قدم ها را از ابتدا تا انتها لیست کنید.وقتی که نقطه شروع و پایان الگوریتم را مشخص کردید وقت آن رسیده که با نوشتن مراحل بین ابتدا و انتها، آنها را به هم وصل کنید.لازم نیست خیلی دقیق شوید، همین که یک دید کلی برای هر مرحله داشته باشید کافی است. برای مثال فرض کنید میخواهید الگوریتمی برای پختن یک لازانیا بنویسید که آن را برای شام بخورید. مراحل الگوریتم به شکل زیر میشود:دستور پخت آن را پیدا کنید (در اینترنت یا کتاب آشپزی)مواد اولیه ای که دارید را در آشپزخانه پیدا کنید.موادی که ندارید را از فروشگاه تهیه کنید.به خانه برگردید.لازانیا را بپزید.لازانیا را از فر خارج کنید.قدم پنجم: مشخص کنید که هر مرحله را به چه صورتی باید انجام دهید؟اکنون وقت آن است که روی هر مرحله دقیق شوید. اول مشخص کنید که به چه زبانی باید برنامه را (اگر الگوریتم برای برنامه نویسی است) نوشت یا چه راه های مختلفی برای حل هر مرحله وجود دارد؟ و...برای مثال اولین مرحله از الگوریتم لازانیا پیدا کردن دستور پخت است. برای این کار شما باید مثلا یا به اینترنت وصل شوید یا کتاب آشپزی خودتان را پیدا کنید.سپس دستور پخت را در مرورگر سرچ کنید یا در کتاب قسمت فهرست غذا ها دنبال آن باشید و..در واقع هدف ما در این قدم این است که آنقدر مرحله را ساده و شفاف کنیم که هیچ چیزی گمراه کننده و گنگ نباشد.قدم ششم: الگوریتم را مرور کنید.بعد از اینکه تمام مراحل الگوریتم را با دقت، شفاف سازی کردید وقت آن است که آن را ارزیابی کنید. شما یک الگوریتم طراحی کرده اید که برنامه تان را اجرا کند.در پایان طراحی الگوریتم شما باید سوال های زیر را از خودتان بپرسید:-آیا این الگوریتم مشکل را حل کرد؟-آیا ورودی ها و خروجی ها واضح است؟-آیا نیاز است هدف نهایی خاص تر باشد؟-آیا میشود یکی از مرحله ها ساده تر شود؟-آیا این الگوریتم تضمین میکند من همیشه به جواب برسم؟سخن پایانیطراحی الگوریتم همیشه یکی از بخش هایی است که برنامه نویس های تازه کار با آن مشکل دارند و دائم میگویند اصلا نیازی به این کارها نیست. اما باید بدانید که الگوریتم به ساده کردن مشکلات و برنامه هایی که قرار است بنویسید کمک میکند.شاید در سطح های مبتدی دیده نشود اما هر چه پیشرفت کنید و برنامه های پیچیده تری بنویسید نیاز است که در مرحله اول یک الگوریتم موثر برای انجام پروژه داشته باشید.همچنین الگوریتم نه تنها در برنامه نویسی بلکه در تمام مراحل زندگی به دردتان میخورد پس آن را یاد بگیرید.