در مطلب قبلی درباره الگوریتم صحبت کردیم و تعدادی از الگوریتمهای مهم برنامهنویسی را توضیح دادیم. اما پسازآنکه مفهوم یک الگوریتم را بدانیم، سادهسازی آن اهمیت زیادی دارد. اینکه بتوان مراحل را گامبهگام ترسیم کرد و حتی به شکلی سادهتر، آن را به دیگران توضیح داد. فلوچارتها چنین امکانی را به ما میدهند. با ما همراه باشید تا یاد بگیریم فلوچارت چیست و چگونه باید از آن استفاده کرد.
فلوچارت چیست؟
الگوریتمها دارای پیچیدگیهای مختلفی هستند و پیادهسازی کد مربوط به هرکدام ممکن است کوتاه و یا طولانی و شامل دستورات پیچیده باشد. برای فهم بهتر یک الگوریتم برنامهنویسی و نحوه عملکرد آن میتوان از فلوچارت (FlowChart) استفاده کرد. فلوچارت نمایشی گرافیکی از فرایند یک برنامه است و از مجموعه شکلهای قراردادی تشکیل شده که به کمک آنها میتوان دستورات را به ترتیب ترسیم نموده و روند یک الگوریتم را سادهسازی کرد. کشیدن فلوچارت مربوط به قبل از شروع برنامهنویسی است و وابستگی به نوع زبان برنامهنویسی ندارد. فلوچارتها در تعیین روند اجرای دستورات و تعیین ورودی و خروجی برنامه نقش مهمی دارند.
نمادهای مهم در رسم فلوچارت چیست؟
گفتیم که برای کشیدن فلوچارت از مجموعه شکلهای قراردادی استفاده میکنیم که هرکدام در نمایش دستورات مختلف یک برنامه نقش دارند. چند نمونه از بارزترین نمادهای فلوچارت را در این بخش معرفی میکنیم:
- ترمیناتور (Terminator): که شروع و پایان فرایند را مشخص کرده و به شکل بیضی نشان داده میشود. هر فلوچارت یک ترمیناتور برای شروع و یکی برای پایان دارد.
- فرایند (Process): به شکل مستطیل که برای نمایش دستورات معمولی مانند دستورات محاسباتی و انتسابی استفاده میشود.
- تصمیم (Decision): تصمیمگیری برای برقراری شرط است و با لوزی نشان داده میشود. این مرحله دو خروجی متفاوت وابسته به پاسخ شرط دارد.
- ورودی (Data):ورودیها به شکل متوازی الاضلاع نشان داده میشوند.
- سند (Document): برای نمایش خروجی و گزارش نهایی از چهارضلعی منحنی استفاده میشود.
- ارجاع به درون برنامه (On-Page Reference): به شکل دایره که حرفی درون آن قرار گرفته نمایش داده میشود و به معنی پایان این مرحله در این فلوچارت و لزوم ادامه آن در فلوچارت دیگری است.
- تاخیر یا انتظار (Delay or wait): به شکل یک نیمه بیضی که به معنی انتظار و وقفه در انجام فرایند است.
مثال عملی از تبدیل الگوریتم به فلوچارت
فلوچارتها میتوانند منطق برنامه را به تصویر بکشند و بخشهای چالش برانگیز برنامه را مشخص کنند. وقت آن رسیده که به طور عملی بدانیم فلوچارت چیست و به همین دلیل در این بخش با چند مثال ساده نحوه کشیدن فلوچارت را یاد میگیریم. البته که یک فلوچارت را میتوان به شیوههای مختلف رسم کرد به طوریکه صورت مسئله برای برنامه نویس راحتتر شود.
برنامه ای که 10 بار عبارت Hello World را چاپ کند
- شرع فرایند
- برای پیاده سازی دستور حلقه ابتدا متغیری درنظر گرفته و مقدار 0 را به آن میدهیم.
- سپس عبارت را چاپ میکنیم.
- یک واحد به متغیر شمارنده اضافه میکنیم.
- چک میکنیم که آیا مقدار جدید شمارنده کمتر از 10 است یا خیر. اگر کمتر بود به مرحله 3 میرویم در غیر این صورت به 6.
- پایان
برنامهای که کاربر بتواند به حساب کاربری فیسبوک ورود کند.
- شروع فرایند
- وارد شدن به سایت فیسبوک
- رفتن به صفحه اصلی
- وارد کردن ایمیل و رمزعبور
- بررسی شرط: اگر اطلاعات وارد شده صحیح بود کاربر وارد پروفایل خود شود. در غیر این صورت با نشان دادن پیغام خطا به مرحله 4 بازگردد.
- پایان برنامه
معرفی ابزارهای آنلاین برای کشیدن فلوچارت
اولین و سادهترین راه برای کشیدن فلوچارت این است که مسئله خود را دستی بکشید. اما اگر برای انجام تمرینهای خود و داشتن یک طراحی مرتب به ابزارهای مخصوص نیاز دارید، سایتهای زیر میتوانند کار شما را در مدت زمان کوتاهی راه بیندازند. این سایتها رایگان بوده و میتوانید به راحتی از آنها استفاده کنید.
سایت draw.io
این سایت امکان طراحی نمودارهای مختلف را به شما خواهد داد. برای رسم فلوچارت کافی است گزینه مربوط به آن را انتخاب کنید تا قالب آماده برای شما نمایش داده شود. پس از کشیدن فلوچارت میتوانید آن را با فرمتهای PDF، JPEG، SVG و غیره ذخیره (Export) کنید.
سایت gliffy
این سایت نیز امکان طراحی نمودارهای مختلفی از جمله فلوچارت را برای شما فراهم میکند و امکان تعیین اندازه نمودار خروجی را نیز به شما خواهد داد. همچنین امکان Export و انتخاب محل ذخیره را به شما خواهد داد.
سایت creately
این سایت یکی از محبوبترین ابزاهای آنلاین برای طراحی نمودارهای مختلف است. همچنین UI زیبایی دارد و رنگی تازه به طراحی شما میبخشد. انتخاب استایل و پالت رنگی از دیگر امکاناتی است که کریتلی به شما میدهد.