در مجموعه آموزشهای قبلی با مفهوم الگوریتم آشنا شدیم و دانستیم چگونه باید طرح و ایدهی خود را به الگوریتم تبدیل کنیم، اما اگر تعداد دستورات زیاد شود ایجاد الگوریتم کار آسانی نخواهد بود و باعث ایجاد بینظمی و اشتباه خواهد شد، در چنین مواقعی باید طرح خود را در قالب فلوچارت (روندنما) ارائه کنیم.
فلوچارت علاوه بر این که روند کلی طرح را در قالب نمودار نمایش میدهد از اعتبار بیشتری نیز برخوردار است و همچنین امکان بروز خطا را به حداقل میرساند، در ادامه با همیار آیتی همراه باشید تا با هم به بررسی فلوچارت پرداخته و بدانیم چگونه باید الگوریتم و طرح خود را به فلوچارت تبدیل کنیم.
فلوچارت (روندنما) چیست؟
فلوچارت مجموعهای از شکلهای قراردادی است که دستورالعملها و ترتیب اجرای آنها را مطابق با الگوریتم مورد نظر نمایش میدهد.
چگونه الگوریتم خود را به فلوچارت تبدیل کنیم؟
برای تبدیل الگوریتم به روندنما باید ابتدا با تعدادی از اشکال که میتوانید در روندنمای خود استفاده کنید آشنا شوید:
توجه: این اشکال قراردادی هستند و این امکان وجود دارد که در منابع مختلف تا حدودی متفاوت باشند.
علامتهای شروع و پایان ⇐ دایره
هنگامی که قصد دارید نقطهی آغاز یا پایان یک فلوچارت را نمایش دهید باید از نماد دایره استفاده کنید، به یاد داشته باشید که در فلوچارت تنها باید یک نقطهی شروع وجود داشته باشد، اما در تعداد نقاط پایان محدودیتی برای شما وجود ندارد، چراکه یک برنامه میتواند چندین حالت مختلف برای پایان داشته باشد اما همواره تنها یک حالت شروع خواهد داشت.
علامت ورودی (دریافت کن) ⇐ متوازیالاضلاع
هنگامی که قصد دارید، مقداری را از کاربر یا جایی در خارج از برنامه دریافت کنید باید نام آن متغیرها را در علامت لوزی نمایش دهید.
دستورات محاسباتی و انتساب ⇐ مستطیل
یک برنامهی کامیپوتری پر از دستورات محاسباتی و انتساب (Assign) است، بنابراین احتمالا به دفعات فراوان از تصویر مستطیل در فلوچارت خود استفاده خواهید کرد!
علامت شرط ⇐ لوزی
دستورات شرطی نیز معمولا زیاد در یک برنامهی کامپیوتری استفاده میشوند، همانطور که در تصویر اشاره کردیم حلقههای تکرار نیز در برنامهنویسی با استفاده از همین لوزیها نمایش داده میشوند، اگر میخواهید بیشتر با این دو مورد آشنا شوید توصیه میکنیم آموزش الگوریتم دستورات شرطی و آموزش الگوریتم حلقههای تکرار را مطالعه نمایید.
علامت خروجی (نمایش بده) ⇐ چهارضلعی منحنی
در نهایت هدف اصلی یک برنامه نمایش مقدار خروجی به کاربر است، بنابراین معمولا پس از انجام محاسبات فراوان و پردازشهای مختلف روی دادههای وروری یک مقدار خروجی تولید خواهد شد، در هنگام رسم فلوچارت این مقادیر را با شکل بالا (یک چهار ضلعی منحنیدار) نمایش میدهیم.
قالب کلی یک روندنما به صورت زیر است:
مثال: الگویتم و فلوچارتی بنویسید که عمل ضرب دو عدد طبیعی a*b را به کمک عملیات جمع محاسبه کرده و نمایش دهد.
- شروع
- a , b را دریافت کن.
- pr=a
- i=2
- pr=pr+a
- i=i+1
- اگر i<=b به مرحلهی ۵ برو
- pr را نمایش بده
- پایان
میتوانید فلوچارت این الگوریتم را در تصویر زیر مشاهده کنید.
مثال: الگوریتم و فلوچارتی بنویسید که اعداد زوج کوچکتر یا مساوی عدد طبیعی N را نمایش دهد.
- شروع
- عدد N را دریافت کن
- اگر N==1 آنگاه پایان
- K=2
- K را نمایش بده
- K=K+2
- اگر K<=N آنگاه به مرحلهی ۵ برو
- پایان
میتوانید فلوچارت این الگوریتم را در تصویر زیر مشاهده کنید.
حال که با مفاهیم الگوریتم و فلوچارت آشنا شدید وقت آن است که وارد مبانی برنامهنویسی شده و دانش خود را به عمل تبدیل کنید، برای آموزش الفبای برنامهنویسی به این مجموعه آموزشها مراجعه کنید.
همچنین برای اینکه بهتر با مفهوم فلوچارت (روندنما) آشنا شوید تمرینهای زیر را انجام دهید:
- الگوریتم و فلوچارتی بنویسید که سه عدد Third , Second, First را از ورودی دریافت کرده، محتویات آنها را جابجا نموده و حاصل را در خروجی چاپ کند.
- الگوریتم و فلوچارتی بنویسید که عددی را از ورودی دریافت کرده، قدر مطلق عدد را در خروجی چاپ کند.
- الگوریتم و فلوچارتی بنویسید که ضرایب یک معادله درجه دوم را از ورودی دریافت کرده، ریشههای آن را محاسبه در خروجی چاپ کند. (قرارداد: sqrt(x)=√x و pow(a,b)=a∧b)
- الگوریتم و فلوچارتی بنویسید که یک عدد در مبنای ۱۰ دریافت کرده و مبنای ۲ آنرا محاسبه و چاپ کند. (راهنمایی: از تقسیمهای متوالی استفاده کنید)
- الگوریتم و روندنمایی بنویسید که حاصل جمع زیر را محاسبه کند. (n>=0)
- الگوریتم و روندنمایی بنویسید که تا زمانی که کاربر عدد منفی وارد نکرده است از او یک عدد گرفته و آنرا چاپ کند.
always i used to read smaller posts that as well clear their motive, and that is also happening with this piece of writing which
I am reading at this time.