الگوریتم و فلوچارت چیست؟ توضیح در مورد اصول اولیه برنامه‌نویسی
حوزه های تکنولوژی
دوشنبه 25 دی 1402
جهت مطالعه این مقاله به 8 دقیقه زمان نیاز دارید
الگوریتم و فلوچارت چیست؟ توضیح در مورد اصول اولیه برنامه‌نویسی
آنچه در این مقاله خواهیم خواند:

مقدمه

 

الگوریتم و فلوچارت برنامه‌نویسی، دو مفهوم پایه‌ای در برنامه‌نویسی هستند که هر برنامه‌نویس باید با آنها آشنا باشد. اگر با برنامه‌‌نویسی در ارتباط باشید و کلمه برنامه‌نویسی به گوشتان خورده باشد، محال است که کلمات فلوچارت و الگوریتم را نشنیده باشید. الگوریتم، به طور خلاصه به اجرای انجام کارها گفته می‌شود. اما همیشه کارها سر‌ راست نیستند و ممکن است هنگام انجام کار بر سر دو راهی یا چند راهی قرار بگیریم که باید یکی را انتخاب کنیم. این جاست که فلوچارت به ما کمک بیشتری می‌کند و در تصمیم‌گیری راحت‌تر هستیم. در واقع کلمه فلوچارت از دو کلمه فلو(flow) به معنی روند انجام یک کار و کلمه چارت(chart) به معنی نمودار تشکیل شده است؛ بنابراین فلوچارت به معنی نمودار روند انجام یک کار است و در واقع همان مفهوم الگوریتم را به طور بصری به ما بهتر نشان می‌دهد. الگوریتم و فلوچارت در برنامه‌نویسی دو مفهوم بسیار مهم هستند. اگر می‌خواهید بدانید که الگوریتم و فلوچارت چیست، با ما همراه باشید تا به طور کامل به توضیح الگوریتم و فلوچارت بپردازیم.
 

 

 

 

الگوریتم چیست؟

 

 

 

 

همانطور که پیش‌تر اشاره کردیم، الگوریتم به ترتیب انجام کارها گفته می‌شود. بیایید با یک مثال ساده در دنیای واقعی، مفهوم الگوریتم را بیشتر باز کنیم. یکی از دستگاه‌هایی که امروزه در هر خانه‌ای وجود دارد، ماشین لباسشویی است. این ماشین به راستی چطور کار می‌‌‌‌‌کند؟ حالت شست و شوی ساده یک ماشین لباسشویی بسیار معمولی را در نظر بگیرید. پس از این که ما دکمه شروع شست و شو را زدیم، مراحل زیر به ترتیب (به طور مثال) اجرا می‌شوند.
 

یک لیتر آب وارد محفظه شست و شو می‌شود.
محفظه شست و شو ده دور می‌چرخد تا آب بین همه لباس‌ها پخش شود.
یک لیتر آب دیگر وارد محفظه شست و شو می‌شود.
محفظه شست و شو ۲۰ دور می‌چرخد تا آب کاملا بین همه لباس‌ها پخش شود.
مقداری پودر (یا مایع) لباسشویی وارد محفظه می‌شود.
نیم لیتر آب دیگر وارد محفظه شست و شو می‌شود.
محفظه شست و شو ۴۰ دور می‌چرخد.

 

و این مراحل ادامه دارد تا شست و شو به پایان برسد. به ترتیب اجرای این دستورات که برای ماشین لباسشویی نوشته می‌شود، الگوریتم گفته می‌شود. حال تصور کنید این مراحل به ترتیب دیگری انجام شوند. مثلا:
محفظه شست و شو ۲۰ دور بچرخد.

محفظه شست و شو ۵۰ دور بچرخد.
یک لیتر آب وارد محفظه شست و شو شود.

نیم لیتر آب وارد محفظه شست و شو شود.
مقداری پودر (یا مایع) لباسشویی وارد محفظه می‌شود.

مقداری پودر (یا مایع) لباسشویی وارد محفظه می‌شود.
 

در این حالت، خروجی کاملا متفاوت خواهد بود. لباس‌ها کاملا خیس هستند و مقدار زیادی پودر (یا مایع) لباسشویی روی آنها وجود داشته، و خروجی دستگاه اصلا مورد پسند ما نیست.
این یک مثال بسیار ساده از توضیح الگوریتم بود. تمام دستگاه‌ها از الگوریتم‌ها پیروی می‌کنند و حتی خود ما نیز بسیاری از کارها را بر اساس الگوریتم‌ها انجام می‌دهیم و الگوریتم یک جزء جدایی‌ناپذیر از برنامه‌نویسی است. در بخش بعد به مفهوم فلوچارت می‌پردازیم و آن را به طور کامل بررسی خواهیم کرد.
 

فلوچارت چیست؟

 

 


 

 

همیشه مسائلی که می‌خواهیم حل کنیم به سادگی مثال ماشین لباسشویی نیستند. بعضی اوقات مثال‌‌ها کمی پیچیده‌تر می‌شوند. بیاید به مثال قبل برگردیم و جزییات بیشتری از آن را مورد بررسی قرار دهیم.
یک لیتر آب وارد محفظه شست و شو می‌شود.
همین قسمت ممکن است مشکل داشته باشد. اگر لوله آب قطع باشد چه؟ یعنی اگر آب وارد محفظه شست و شو نشود، اجرای مرحله دوم بی‌فایده است. بنابراین ما از شرط استفاده کرده و مرحله یک را بازنویسی می‌کنیم.
اگر مشکلی پیش نیاید، یک لیتر آب وارد محفظه شست و شو می‌شود. اما اگر مشکلی پیش آمد، صدای هشدار‌دهنده ماشین لباسشویی را پخش کن.
محفظه شست و شو ده دور می‌چرخد تا آب بین همه لباس‌ها پخش شود.
این قسمت نیز ممکن است مشکل داشته باشد. اگر محفظه گیر کند و نتواند بچرخد چه؟ بنابراین این قسمت نیز در‌صورتی که مشکلی پیش نیاید انجام می‌‌شود. اما اگر مشکلی پیش آمد باز هم صدای هشدار‌دهنده پخش می‌شود.
در تمام مراحل ممکن است اتفاقات مختلفی رخ دهد که به صورت سرراست نباشند و نیاز به تصمیم‌گیری داشته باشیم که در برنامه‌نویسی به آن دستورات شرطی گفته می‌‌شود. بنابراین ما باید در هنگام نوشتن الگوریتم، بسیاری از شرط‌های مختلف را بررسی کنیم. اما وقتی کمی الگوریتم ما طولانی شود، انجام این کار ممکن است کمی سخت شود. اینجاست که فلوچارت به کمک ما می‌آید تا مراحل و شرط‌های مختلف الگوریتم را راحت‌تر بررسی کنیم و در واقع آن را به صورت بصری ببینیم تا درک آن برای ما راحت‌تر باشد. در واقع فلوچارت یار کمکی الگوریتم است که یک برنامه‌نویس، روند اجرای برنامه را راحت‌تر بررسی و مشاهده کند.
 

نتیجه‌گیری

 

 

 

 

الگوریتم و فلوچارت، دو اصل مهم و پایه‌ای در برنامه‌نویسی هستند و بدون یادگیری این دو مفهوم، درک دنیای برنامه‌نویسی بسیار سخت خواهد بود. این دو مفهوم در عین اهمیت زیادی که دارند، بسیار ساده و قابل درک هستند و حتی می‌توان این دو مفهوم را به کودکان با سن بسیار کم هم آموزش داد. کودکان پس از یادگیری این دو مفهوم می‌توانند بسیار راحت‌تر وارد دنیای شیرین برنامه‌نویسی شوند و پس از تسلط بر برنامه‌نویسی، به مرحله‌ای برسند که الگوریتم‌های پیچیده را در ذهن خود تحلیل کنند و نیازی به استفاده از فلوچارت نداشته باشند. البته این به شرطی محقق می‌شود که ابتدا دو مفهوم فلوچارت و الگوریتم را به درستی بیاموزند و روی آنها تسلط یابند.
 

منابع


https://en.wikipedia.org/wiki/Flowchart
https://www.visual-paradigm.com/tutorials/flowchart-tutorial/