مفهوم الگوریتم : فرض کنید میخواهید یک مدار الکتریکی لامپ درست کنید اولین عملی که انجام میدهید چیست؟ شما درابتدا یک مسیرکلی برای ساخت مدار الکتریکی رسم میکنید که دراین مسیر تعداد قطعات ونوع آن ها(ورودی ها) ومسیرساخت ومحاسبات(پردازش) ودرنهایت ساخت وتحویل گرفتن یک مدار الکتریکی لامپ(خروجی) به این مراحلی که طی کردیم یعنی دریافت ورودی ها پردازش بر روی ورودی ها ودریافت خروجی الگوریتم گفته میشود.
دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
الگوریتم در حقیقت مانند یک کارخانه عمل میکند برای مثال یک کارخانه کاغذ سازی را در نظر بگیرید الوار درخت به عنوان ورودی به کارخانه وارد میشود و بعد از انجام عملات تبدیل به کاغذ بر روی آن ها درنهایت کاغذ مورد نظر ودلخواه را به ما به عنوان خروجی میدهد. الگوریتم ها در حقیقت راه حل مسئله را برای ما تشریح میکند تا ما بتوانیم زودتر به حل مسئله بپردازیم. با توجه به توضیحات بالا می توان درتعریف الگوریتم گفت که مجموعه ای متناهی از دستورالعمل هاست که به ترتیب اجرا شده ومسئله ای را حل میکند.
ویژگی های یک الگوریتم :
تمام الگوریتمها باید شرایط و معیارهای زیر را دارا باشند:
- ورودی داشتن : یک الگوریتم باید حداقل یک ورودی داشته باشد.
- خروجی داشتن : یک الگوریتم باید یک مقدار یا چندین مقدار روبه عنوان خروجی به ما نشان دهد.
- قطعیت داشتن : دستورهای الگوریتم باید با زبانی دقیق، و بیابهام بیان شوند. هر دستورالعمل نیز باید انجامپذیر باشد.
- ابتدا وانتها داشتن : الگوریتم باید دارای شروع و پایان مشخصی باشد، به نحوی که اگر دستورهای آن را دنبال کنیم، برای تمامی حالتها، الگوریتم پس از طی مراحل، خاتمه یابد. به علاوه، زمان لازم برای خاتمه الگوریتم هم باید به گونهای معقول و کوتاه باشد.
عوامل مؤثر در ارائهٔ یک الگوریتم :
به طور کلی جهت ارائهٔ یک الگوریتم کامل به ۵ مؤلفهٔ اصلی احتیاج داریم که عبارتند از:
- مقادیر معلوم : اطلاعات اولیه ای که مسئله به ما میدهد مقادیر معلوم مسئله نامیده می شود.
- خواستهٔ مسئله : هر مسئله مجهولاتی دارد که مسئله در پی پیداکردن آن هاست وما در پی پاسخ دادن به آن ها هستیم که به این موارد خواسته های مسئله گفته می شود.
- عملیات محاسباتی : اجرای عملیات های ریاضی بر روی مقادیر معلوم به منظور یافتن خواسته های مسئله عملیات محاسباتی نامیده می شوند.
- دستورهای شرطی : در یک مسئله ممکن است برای اجرا یا عدم اجرای دستورات بعدی یک یا چند شرط مورد بررسی قرار گرفته تا اجرا شوند که دستورات شرطی نامیده می شوند.
- دستورهای تکرار (حلقهها): گاهی اوقات برای حل یک مسئله نیاز هست که یک سری از عملیات های محاسباتی را چندین بار تکرار کنیم که به این ها دستورات تکرار یا حلقه ها گفته میشود اگر با برنامه نویسی زبان های مختلف آشنا باشید کلمه لوپ یا حلقه هارا حتما شنیده اید وازآن استفاده کردید.
نکته : از آنجایی که هدف اصلی طراحی الگوریتم برای حل یک مسئله دستیابی به خواستههای مسئله میباشد بنابراین طی مراحل ۵ گانهٔ بالا در ارائهٔ الگوریتم الزامی است.
نکته های مهم در نوشتن الگوریتم
رعایت این موارد برای نوشتن یک الگوریتم صحیح لازم و ضروری است:
- قدمهای ضروری را در نظر گرفته و آنها را در طرح خود به کار ببرید.
- از بیان جزئیات بیهوده پرهیز کرده و سعی کنید تا حد امکان مراحل را ساده و در عین حال کامل بنویسید.
- از زبانی ساده برای نوشتن الگوریتم استفاده کنید، طوری که افراد مختلف برداشت متفاوتی از آن نداشته باشند.
- الگوریتم باید جامع ومانع باشد، طوری که در حالتهای خاص نیز نتیجهی مناسب را به شما بدهد.
توصیه هایی برای کم تر کردن خطا درالگوریتم :
- بلافاصله برای شروع الگوریتم شروع وپایان را بنویسید.
- الگوریتم ها را با فاصله وشماره گذاری شده وترتیب بنویسید.
- برای محاسبه یک عبارت ریاضی یا عملیات ریاضی همیشه مکانی را برای در ذخیره کردن حاصل آن در نظر بگیرید.
- اولویت عملگرهای ریاضی را هنگام نوشتن طرحتان در نظر داشته باشید (به عنوان مثال محاسبه حاصل ضرب نسبت به محاسبه حاصل جمع در اولویت است)پس برای اولویت دهی از پرانتز استفاده کنید.
نکته:به یاد داشته باشید، نمادهای ریاضی که از آنها برای حل الگوریتم استفاده میکنید باید در صفحه کلید رایانه شما نیز وجود داشته باشند! خیلی از نمادهای ریاضی (مانند خط کسری، توان و…) را نمیتوانید بر روی کیبورد خود بیابید در نتیجه اجازه ندارید برای نوشتن الگوریتم از آنها استفاده کنید.
فلوچارت چیست؟
تعریف فلوچارت : یک الگوریتم ممکن است از پیچیدگی منحصر به فردی برخوردار باشد.ودستیابی به حل مسئله وجواب را برای ما مشکل سازد. برای رفع این مشکل از فلوچارت استفاده میکنیم. فلوچارت به نمادهای تصویری که الگویتم را به نمادهای تصویری تبدیل میکند فلوچارت گفته میشود. از فلوچارت برای نمایش الگوریتم به صورت اشکال قابل فهم استفاده می شود.اشکال فلوچارت در زیر آمده است.
علائم فلوچارت ( مولفه های تصویری ) :
در فلوچارت برای نمایش مراحل حل مسئله نماد هایی وجود دارند که در زیر به اختصار آن هارا شرح میدهیم.
- خط جریان: یک پیکان، از نمادی به نماد دیگررا خط جریان می گویند.خط جریان برای اتصال مولفه های تصویری ورفتن از دستوری به دستور دیگر مورد استفاده قرار میگیرد.
- شروع و پایان : بهصورت بیضی نشان داده میشود. این شکلها معمولاً عبارات «شروع» یا «پایان» را دربر میگیرند و مفهوم ابتدا یا پایان یک دستور را میرسانند.
- دستورات: به صورت مستطیل نمایش داده میشود. این شکل برای نمایش دستورات، انتسابات، و اجرای آنها استفاده میشود.
- تصمیمگیری: یک لوزی، برای نمایش شرطها و تصمیمگیری بهکار میرود. این شرطها؛ معمولاً سوالات بله/خیر یا صحیح/غلط (True/False) هستند. این حالات شرطی، به وسیلهٔ دو پیکان به حالات دستورات بعدی متصل میشوند. هرچند تعداد حالات میتواند بیشتر از دو حالت باشد، اما معمولاً دو حالت صحیح یا غلط وجود در نظر گرفته میشود.
- ورودی وخروجی :یک متوازیالاضلاع؛ برای نمایش دریافت ورودیها یا نمایش خروجیها استفاده میشود.
- دستورات از پیش تعیین شده : یک مستطیل با دو برش موازی و عمودی، برای نمایش قدمهای پیچیدهٔ فرایند استفاده میشود که ممکن است در فلوچارت جداگانهای تعریف شدهباشند. دربرنامه نویسی به این ها تابع گفته می شود.
- اتصالدهنده: عموماً به شکل دایره نمایش داده میشود و نشان میدهد که فلوچارت در کدام قسمت به قسمت بعدی متصل میشود. اتصال دهنده ها به شکل دایره کوچک هستند.
- فایل ها وپایگاه داده: یک استوانه در فلوچارت به معنای فایل ها وپایگاه داده هایی است که مجموعه ای از فایل ها واطلاعات را در بر میگیرد.
نکته : اشکال دیگری هم هستند که در علم فلوچارت نویسی استفاده میشوند.اما ما از بازگویی آن ها خودکاری کردیم وعلامت هایی که بیشترین استفاده را دارند را در مقاله آورده ایم.