در این بخش با آموزش الگوریتم و فلوچارت به زبان ساده خدمت شما هستیم. در ادامه با الگوریتم و فلوچارت و همچنین نحوه نوشتن و رسم انها، اشنا خواهیم شد.
آخرین آموزش هامون رو میتونید از این لینک ببینید.
فهرست مطالب
الگوریتم چیست؟
الگوریتم به زبان ساده یعنی دنبالهای از مراحل که برای حل یک مسئله مشخص تعریف میشود.
به طراحی گام به گام این الگوریتم نیز الگوریتم نویسی میگویند.
در زبان برنامهنویسی، الگوریتم یک دستورالعمل است و به مواد تشکیلدهنده آن ورودی گفته میشود . رایانه دستور شما را بررسی میکند. آن را مطابق خواسته دنبال میکند و در انتها میتوانید نتایج را که به آنها خروجی گفته میشود را مشاهده کنید. در واقع یک الگوریتم نحوه انجام کاری را توصیف میکند و رایانه شما هر بار دقیقاً این روش را انجام می دهد.
ویژگی های الگوریتم
به طور کلی الگوریتمها دارای چهارتا مشخصه هستند:
- ورودی (input)
هر الگوریتمی باید دارای یک سری ورودی باشه، البته گاهی اوقات هم لازم نیست. در برنامهنویسی این ورودیها میتوانند شامل انواع دادهها از قبیل عدد، رشته، لیست و… باشند
- خروجی (out put)
هر الگوریتم سالم باید در پایان حداقل یک خروجی ایجاد کند.در برنامهنویسی هم خروجی انواع متفاوتی داره. خروجی ما میتونه در یه متغیر یا فایل ذخیره بشه و یا در صفحه نمایش نشون داده بشه.
- قطعیت (definiteness)
قطعیت یعنی شفاف و بدون ابهام بودن. به عبارتی الگوریتم ما برای هر نوع ورودی معتبری باید یه روال خاصی رو داشته باشه و مبهم و گنگ نباشه.
- کاملبودن (finiteness)
کاملبودن یعنی الگوریتم ما بعد از انجام یه تعداد گامها باید تموم بشه. و اگه مثلا بیفته توی یه حلقه بینهایت که هیچ وقت هم تموم نشه، اون وقت دیگه به اون الگوریتم کامل نمیگن.
روش های اجرای الگوریتم
الگوریتمها به طور کلی از سه نوع برای کنترل ساختارها استفاده میکنند:
- متوالی (دنبالهای): یعنی یه سری از گامها به ترتیب و بدون هیچ قید و شرطی پشت سر هم اجرا میشن.
- شعبهای (انتخابی):در این جا در حین پشت سر گذاشتن گامهای الگوریتم به یه سری دو یا چند راهی برمیخوریم که با توجه به صحیح بودن شرطهای مربوطه یه راه رو میریم. مثل اگه فلان شرط برقرار بود مسیر آ رو برو، در غیر این صورت مسیر ب رو ادامه بده. توی برنامهنویسی میتونیم با استفاده از دستورات شرطی مثل if اونا رو پیادهسازی کنیم.
- حلقوی (تکرار): در این روال مادامی که یه شرطی برقرار باشه یه سری کارها و عملیات تکرار میشه. در زبانهای برنامهنویسی مثل پایتون میتونیم با استفاده از حلقههای for یا while این بخشها رو پیادهسازی کنیم.
نمونه الگوریتم ساده
نمونه الگوریتم ساده و نوشتاری :
الگوریتم زوج و فرد بودن :
۱- شروع
۲- عدد را قرار بده در a
۳- باقی مانده ی a بر ۲ را قرار بده در R
۴- اگر R=0 بر قرار بود بنویس “a زوج است”
۵- در غیر این صورت بنویس “a فرد است”
۶- پایان
در مثال بالا یک الگوریتم ساده را میبینیم که زوج یا فرد بودن ورودی را تشخیص میدهد.
فلوچارت چست؟
فلوچارت به بیان ساده یه نمایش گرافیکی از یک الگوریتم است. با استفاده از فلوچارت ما میتوانیم الگوریتمها را در قالب نمادهای گرافیکی بازنویسی کنیم. تفاوت فلوچارت و الگوریتم مثل تفاوت نقشه و آدرس متنی هست. به عبارتی الگوریتمهایی که به صورت شبه کد نوشته شدهاند رو میشود مثل یک آدرس متنی در نظر گرفت در صورتی که فلوچارت روا میشود نقشهی همان آدرس در نظر گرفت.
نمادهای فلوچارت
استانداردی برای نمایش نمادها در فلوچارت وجود دارد که در جدول زیر این نمادها به همراه کاربرد اونا جمعآوری شدند.
تصویر بالا فقط یه طرح کلی از استفاده نمادها در فلوچارت هست. که البته هیچ لزومی ندارد که مثلا این نمادها با این ترتیب نوشته بشوند. گاهی اوقات بعضی از نمادها مثل شرط را لازم نداریم یا مثلا گاهی اوقات ترتیب استفاده از اونا در مسایل دیگه مختلف هست.
نمونه فلوچارت ساده
در فلوچارت بالا تشخیص زوج یا فرد بودن ورودی را داریم که مثالی ساده برای فلوچارت میباشد.