برای آموزش فلوچارت و اینکه تسلط کافی بر فلوچارت نویسی داشته باشیم لازم است که با مفهوم و تعریف فلوچارت آشنا شویم:
فلوچارت نموداری است که الگوریتمالگوریتم چیست به زبان ساده و با مثال های فراواندر این مقاله به زبان بسیار ساده و با مثال های متعدد توضیح داده شده که الگوریتم چیست و چه کاربردهایی دارد کامپیوتری را نشان میدهد. به بیان ساده، به علائمی که الگوریتم را با استفاده از نمادهای تصویری بیان میکند فلوچارت گفته میشود. به عبارت دیگر در تعریف فلوچارت میتوان گفت فلوچارت حل مسئله را قدم به قدم انجام میدهد. از فلوچارتها در طراحی یا مستند سازی فرآیندها و برنامهها در زمینههای مختلف استفاده میشود. آنها به بیننده کمک میکنند تا روند را درک کند و دیدی کلی از آن بهدست آورد، همچنین فرصتی را برای تشخیص ایرادات و ارائه راههای بهتر برای انجام فرایند فراهم میکند.
فلوچارت یک ابزار قدرتمند تجاری است که با طراحی و ساخت مناسب، مراحل یک فرآیند را به طور مؤثر و کارآمد منتقل میکند. فلوچارت ها که گاهی به صورت نمودار نوشته میشوند، از مستطیلها، بیضیها و شکلهای متعدد دیگر برای تعیین نوع گام، همراه با فلشهای متصل برای تعریف جریان استفاده میکنند. اگر تمام اشکال مختلف فلوچارتها را در نظر بگیریم، آنها یکی از رایج ترین نمودارهای روی کرهی زمین هستند که هم توسط افراد فنی و هم غیرفنی در زمینههای مختلف استفاده میشوند که ما درباره معانی اشکال در فلوچارت صحبت خواهیم کرد. فلوچارتها میتوانند از نمودارهای ساده و دستی گرفته تا نمودارهای رایانه ای که مراحل و مسیرهای متعدد را به تصویر میکشد، متغیر باشند.
تاریخچه
فلوچارتها برای مستند سازی فرآیندهای تجاری در دهه 1920 و 1930 مورد استفاده قرار گرفتند. در سال 1921، مهندسان صنایع، فرانک و لیلیان گیلبرت "نمودار فرآیند جریان" را به انجمن مهندسین مکانیک آمریکا (ASME) معرفی کردند.
یک فارغالتخصیل سال 1944 از کلاس موگنسن، به نام آرت اسپینگر، ابزارها را به Procter و Gamble برگرداند و در آنجا برنامه تغییر عمدی روشهای آنها را توسعه داد. یکی دیگر از فارغالتحصیلان سال 1944، بن اس.گراهام، مدیر مهندسی Formcraft در Standard Register Corporation نمودار فرآیند جریان را با توسعه نمودار فرآیند چند جریانی برای نمایش اسناد متعدد و روابط آنها، با پردازش اطلاعات تطبیق داد. در سال 1947، ASME مجموعهای از نمادها را که برگرفته از کار اصلی گیلبرت بود، به عنوان استاندارد ASME برای نمودارهای فرآیندی پذیرفت.
به گفته هرمان گلدستاین، در اواخر سال 1946 و اوایل سال 1947 با جان فون نویمان در دانشگاه پرینستون فلوچارتهایی را تهیه کرد. فلوچارت ها ابزار محبوبی برای توصیف الگوریتم های کامپیوتری بودند و هنوز هم برای این منظور استفاده میشوند. تکنیک های مدرن مانند نمودار های فعالیت زبان مدل سازی یکپارچه (UML) را میتوان پسوند فلوچارت در نظر گرفت. با این حال محبوبیت آنها زمانی کاهش یافت که در دهه 1970، پایانههای کامپیوتری تعاملی و زبان های برنامه نویسی نسل سوم به ابزارهای رایج تجارت تبدیل شدند زیرا الگوریتمها را میتوان بسیار مختصرتر و خواناتر به عنوان کد منبع در چنین زبانی بیان کرد.
نمادهای فلوچارت
اکنون با مفهوم فلوچارت کاملاً آشنا شدیم، حال چگونه فلوچارت بنویسیم؟ برای آموزش فلوچارت لازم است که نماد ها و اشکال مختلف فلوچارت را به طور کامل بررسی کنیم. فلوچارت اشکال مختلفی دارد که این اشکال به نمادهای فلوچارت معروف هستند.
دهها نماد وجود دارد که میتوان از آنها در فلوچارت استفاده کرد. اگر در زمینه فلوچارت تازهکار هستید، اولین قدم در فلوچارت نویسی و آموزش فلوچارت این است که بدانید نمادها چه چیزی را نشان میدهند. همانطور که استفاده از کلمه پیام خاصی را منتقل میکند، نمادهای فلوچارت نیز معنای خاصی دارند. در ادامه به بررسی معنی اشکال در فلوچارت میپردازیم.
بیضی
علامت های شروع و پایان را با دایره یا بیضی نشان میدهیم. هنگامی که قصد دارید نقطه آغاز یا پایان یک فلوچارت را نمایش دهید باید از نماد دایره یا بیضی استفاده کنید، به یاد داشته باشید که در فلوچارت تنها باید یک نقطه ی شروع وجود داشته باشد، اما در تعداد نقاط پایان محدودیتی برای شما وجود ندارد چرا که یک برنامه میتواند چندین حالت مختلف برای پایان داشته باشد اما همواره تنها یک حالت شروع دارد.
متوازی الاضلاع
ورودی ها و خروجی ها را با متوازی الاضلاع نمایش میدهیم. از علامت متوازیالاضلاع برای دستورات ورودی و دریافت متغیر ها استفاده کنید. هنگامیکه قصد دارید مقداری را از کاربر دریافت کنید باید نام آن متغیرها را در علامت متوازیالاضلاع نمایش دهید. همچنین نماد متوازیالاضلاع در فلوچارت به معنی نمایش دستورات خروجی نیز است.
مستطیل
برای دستورات محاسباتی و انتساب از نماد مستطیل استفاده میکنیم که پرکاربردترین نماد در فلوچارت است.
لوزی
علامت شرط را با لوزی نمایش میدهیم. دستورات شرطی معمولاً در یک برنامه کامپیوتری زیاد استفاده میشوند. حلقه های تکرار در برنامه نویسی با استفاده از همین نماد نمایش داده میشوند.
چهارضلعی منحنی
علامت خروجی با استفاده از چهار ضلعی منحنی نمایش داده میشود.
نماد اسناد چندگانه بهصورت زیر است که چندین سند را در فرایند نشان میدهد.
نماد حلقه دستی نیز به صورت زیر است که دنبالهای از دستورات را نشان میدهد و تا زمانی که به صورت دستی متوقف شود، به تکرار ادامه میدهد.
قالب کلی یک فلوچارت به صورت زیر است.
کاربرد فلوچارت
ما اغلب فلوچارت ها را بهعنوان فلوچارت برنامه نویسی میشناسیم اما باید گفت که علاوه بر فلوچارت برنامه نویسی، فلوچارت کاربردهای دیگری نیز دارد. طیف گستردهای از انواع فلوچارت وجود دارد که ما در اینجا به چند نمونه اشاره میکنیم:
- نمودارهای جریان شنا
- نمودارهای جریان داده
- نمودارهای نفوذ
- نمودارهای گردش کار
- نمودارهای جریان فرآیند
- فلوچارت بله/خیر
امروزه فلوچارتها کاربردهای مختلفی دارند و برای اهداف مختلفی در تولید، معماری، مهندسی، تجارت و فناوری و بسیاری از رشتههای دیگر استفاده میشوند.
برخی از کاربرد های فلوچارت در ادامه آورده شده است:
- برنامه ریزی پروژه
- طراحی برنامه یا سیستم از طریق برنامهنویسی فلوچارت
- مستندات فرآیند
- مستندسازی گردش کار
- الگوریتمهای کامپیوتری نقشه
نمونه سوالات فلوچارت
اکنون که با نماد های فلوچارت و ساختار کلی آن آشنا شدیم، برای یادگیری بیشتر پرکاربردترین نمونه سوالات فلوچارت از جمله فلوچارت سری فیبوناچی، فلوچارت اعداد اول، فلوچارت اعداد زوج و... را بررسی میکنیم.
قدم اول در فلوچارت نویسی نوشتن الگوریتمالگوریتم چیست به زبان ساده و با مثال های فراواندر این مقاله به زبان بسیار ساده و با مثال های متعدد توضیح داده شده که الگوریتم چیست و چه کاربردهایی دارد است؛ پس از آن رسم فلوچارت کار سادهای است، فقط کافی است که شما با مفهوم و تعریف فلوچارت آشنا باشید و معانی اشکال فلوچارت را کاملا درک کرده باشید. هرچه شما نمونه فلوچارت بیشتری مطالعه و تمرین کنید، درک بیشتری از فلوچارتنویسی خواهید داشت.
تمام این نمونه فلوچارت های برنامه نویسی به شما در نوشتن برنامهها در زبان های مختلف برنامه نویسی کمک خواهد کرد. ابتدا برای فهم بیشتر به بررسی نمونه فلوچارت های ساده میپردازیم و سپس با سؤالات پرکاربردتر از جمله فلوچارت و الگوریتم فیبوناچی ادامه میدهیم.
فلوچارت و الگوریتم برای جمع دو عدد ورودی را رسم کنید.
- شروع
- عدد اول را دریافت کن
- عدد دوم را دریافت کن
- دو عدد ورودی را باهم جمع کن
- حاصل مرحلهی 4 را در خروجی چاپ کن
- پایان
الگوریتم و فلوچارتی رسم کنید که سن افراد جهت واجد شرایط بودن یا نبودن آنها در رای گیری را بررسی کند.
همانطور که میدانید افراد بعد از 18 سالگی میتوانند رای بدهند، پس الگوریتم به صورت زیر میشود:
- شروع
- سن افراد را دریافت کن (از طریق ورودی)
- اگر سن فرد بزرگتر یا مساوی عدد 18 بود در خروجی "شما واجد شرایط رای دادن هستید" را چاپ کن
- اگر سن فرد کوچکتر از عدد 18 بود در خروجی "شما واجد شرایط رای دادن نیستید" را چاپ کن
- پایان
فلوچارت این الگوریتم به صورت زیر است:
الگوریتم و فلوچارتی بنویسید که اعداد اول را مشخص کند.
- شروع
- یک عدد را بخوان و در N قرار بده
- اگر N == 2 بود به مرحله ی 9 برو
- مقدار 2 را در P قرار بده
- باقی مانده تقسیم N بر P را در K قرار بده
- اگر K == 0 بود عدد اول نیست و به مرحله 10 برو
- یک واحد به P اضافه کن
- اگر N / 2 < P بود برو به مرحله 5 در غیر این صورت برو به مرحله 9
- N اول است و چاپ کن
- پایان
الگوریتم و فلوچارتی طراحی کنید که بررسی کند آیا با 3 عدد میتوان یک مثلث قائم الزاویه ساخت؟
برای بررسی اینکه آیا سه عدد میتوانند سازنده مثلث قائمالزاویه باشند یا خیر، لازم است که رابطه فیثاغورس را برای آنها بررسی کنیم.
فرمول فیثاغورس: A2 + B2 = C2
- شروع
- سه عدد ورودی را دریافت کن
- اگر A2 = B2 + C2 باشد "مثلث قائمالزاویه است" را در خروجی چاپ کن
- اگر B2 = A2 + C2 باشد "مثلث قائمالزاویه است" را در خروجی چاپ کن
- اگر C2 = B2 + A2 باشد "مثلث قائمالزاویه است" را در خروجی چاپ کن
- اگر هرکدام از مراحل 3 یا 4 یا 5 برقرار نبود "مثلث قائمالزاویه نیست" را در خروجی چاپ کن
- پایان
طراحی الگوریتم و فلوچارتی برای این که مشخص کند عدد بزرگتر از میان دو عدد صحیح کدام است.
- شروع
- عدد اول را دریافت کن
- عدد دوم را دریافت کن
- اگر عدد اول بزرگتر از عدد دوم بود آن را چاپ کن، در غیر اینصورت عدد دوم را چاپ کن
- پایان
طراحی الگوریتم و فلوچارت مسئله سری فیبوناچی برای اعداد کوچکتر از 1000
- شروع
- چهار متغیر تعریف میکنیم (با نام های a, b, i, x)
- متغیرهای مرحله ی قبل را مقداردهی میکنیم (a = 0, b = 1, x = 0)
- شرط سری فیبوناچی را وارد کن (عدد 1000)
- دو مورد اول سری فیبوناچی چاپ میشوند
- مراحل زیر در یک حلقه پیاده سازی شوند
- x = a + b
- a = b
- b = x
در هر دور از حلقه یک عدد به متغیر i اضافه شود
- متغیر x را چاپ کن
- پایان
الگوریتمی بنویسید که اعداد زوج دو رقمی را مشخص کند.
قبل از بررسی فلوچارت اعداد زوج بیایید به مسئله سادهتر نگاه کنیم. میخواهیم برنامهای بنویسم که زوج یا فرد بودن یک عدد را مشخص کند. ورودی در سیستم یک عدد خواهد بود، سپس برنامه بررسی میکند که آیا بر 2 بخش پذیر است یا خیر. اگر باقیمانده تقسیم عدد بر 2 برابر صفر بود آنگاه آن عدد زوج است.
- شروع
- مقدار 10 را به z بده
- z را چاپ کن
- z = z + 2
- اگر z <= 98 بود برو به خط 3
- پایان
ابزارهای آنلاین برای کشیدن فلوچارت
اولین و ساده ترین راه برای کشیدن فلوچارت آن است که مسئله خود را دستی بکشید. یا اینکه از اشکال ورد (Word) کمک بگیرید. برای کشیدن فلوچارت در ورد از قسمت Insert اشکال را انتخاب کنید و سپس با انتخاب شکل مورد نظر میتوانید فلوچارت مدنظر خود را رسم کنید.
اما اگر به ابزارهای مخصوص نیاز دارید سایتهای زیر میتوانند کار شما را در مدت زمانی کوتاه راه بیاندازد:
سایت Draw.io
این سایت امکان طراحی نمودارهای مختلف را به شما میدهد. برای رسم فلوچارت کافی است گزینه مربوط به آن را انتخاب کنید تا قالب آماده برای شما نمایش داده شود.
سایت Gliffy
این سایت نیز امکان طراحی نمودارهای مختلف را برای شما فراهم میکند و امکان تعیین اندازه نمودار خروجی را نیز به شما خواهد داد.
سایت Creately
این سایت یکی از محبوبترین ابزارهای آنلاین برای طراحی نمودارهای مختلف است. همچنین UI زیبایی دارد و رنگ تازه به طراحی شما میبخشد.
جمع بندی
ممکن است فکر کنید کشیدن فلوچارت برای مسائل پیچیده سخت است، اما بهیاد داشته باشید که فلوچارت در پیاده سازی منطق کلی به شما کمک کرده و میتواند مسائل طولانی را به ساده ترین حالت توضیح دهد. کشیدن فلوچارت برای کسانیکه تازه به دوران برنامهنویسی آمده اند اهمیت بیشتری دارد زیرا فلوچارت از پیش نیازهای یادگیری برنامه نویسی است.
انواع فلوچارت چیست؟
چندین نوع از فلوچارت ها عبارتند از: نمودار جریان فرایند، نمودار جریان داده، نمودار EPC، نمودار SDL و نمودار UML
نمادهای اصلی یک فلوچارت چیست؟
نمادهای اصلی یک فلوچارت عبارتند از فرآیند: که رایج ترین جز یک فلوچارت است، ترمینال: شروع یا پایان یک نمودار جریان را نشان میدهد، خط جریان: جهت فرآیند را نشان میدهد، تصمیم یا شرط: مرحلهای است که مرحلهی بعدی فرآیند را مشخص میکند.
فلوچارت برای چه مواردی استفاده میشود؟
فلوچارت یک ابزار بسیار پرکاربرد است که میتواند برای موارد ذکر شده استفاده شود: مستندسازی یک فرآیند، ارائه راه حل، طراحی یک سیستم و ذخیره اطلاعات
فلوچارت چیست؟
فلوچارت نوعی نمودار است که فرآیندها را توصیف میکند. این نمودارها از بلوکهایی تشکیل شدهاند که اغلب مستطیلی هستند و با فلش بههم متصل شدهاند. بلوکها حاوی اطلاعات یک مرحله در یک فرآیند به صورت مختصر هستند.
بهترین ابزارهای آنلاین برای کشیدن فلوچارت را نام ببرید.
سایت Draw.io، سایت Gliffy و سایت Creately که این سایت، به دلیل UI های زیبایی که دارد محبوب ترین ابزار آنلاین است.