آموزشبرنامه نویسی

الگوریتم و فلوچارت چیست؟ و چگونه؟

?what is an algorithm and flowchart? and how

می‎خوام خیلی ساده براتون بگم، الگوریتم(algorithm) روشی برای حل مسئله و مشکلات هستش که مرحله به مرحله با زبان ساده و دقیق نوشته میشه و شروع و پایان مشخصی داره، میشه گفت الگوریتم ساخته شده تا ما با استفاده ازش روش حل مسائل رو به زبان کامپیوتر تبدیل کنیم تا بتونه مسئله رو حل کنه و  نتیجه رو به ما بده.

اما ما بدونه این که متوجه بشیم هر روز از الگوریتم تو زندگیمون استفاده می‎کنیم، یه مثال ساده:

  1. شروع
  2. بیدار شدن از خواب
  3. پوشیدن لباس و برداشتن لوازم مورد نیاز
  4. خروج از خونه
  5. رفتن به محل کار
  6. انجام وظایف
  7. پایان کار
  8. برگشتن به خونه
  9. پایان

به همین سادگی این الگوریتم رفتن به سرکار و برگشتن به خونه بود.

همه کارهایی که قابل اجرا هستند چه تو زندگی و چه تو کامپیوتر دارن از الگوریتم پیروی می‎کنن.

دانلد اروین کنوث دانشمند علوم رایانه میگه: علم کامپیوتر چیزی جز مطالعه‌ی الگوریتم‌ها نیست. Donald Ervin Knuth

کلمه الگوریتم از اسم ریاضیدان، ستاره‎شناس و جغرافی‎دان ایرانی، ابوجعفر محمد بن موسی خوارزمی (الخوارزمی)، گرفته شده، تازه اون اولین کسی بود که علم جبر رو کشف کرد.

ویژگی‎های الگوریتم

همه الگوریتم‎ها باید این ویژگی‎ها رو داشته باشن:

ورودی: یه الگوریتم باید هیچ یا چندین پارامتر رو به عنوان ورودی داشته باشه.

خروجی: یه الگوریتم باید حداقل یه خروجی به عنوان نتیجه عملیات تولید کنه.

قطعیت: دستورات الگوریتم باید دقیق نوشته بشن، هر دستورالعمل هم باید قابل اجرا باشه.

محدودیت: هر الگوریتمی باید شروع و پایان داشته باشه و بالاخره یه جا تموم بشه، و این زمانی هم که قراره سپری شه باید کوتاه باشه.

روش‎های نمایش الگوریتم

اگه الگوریتمی ساده باشه می‎تونیم به صورت گام به گام تو چند مرحله اونو بنویسیم اما وقتی پیچیدتر میشه بهتره از فلوچارت(Flowchart) برای نمایش اون استفاده کنیم.

فلوچارت یا به زبان پارسی (رَوَندنما) نموداریه که برای نمایش داده‎ها، اطلاعات و روند کار یه الگوریتم با نمادها و خطوط جهت‎دار میشه ازش استفاده کرد.

نمادهای مورد استفاده تو فلوچارت:

خط جریان: یه فِلِش، از یه نماد به نماد دیگه که جهت پردازش فلوچارت رو نشون میده.

flowchart_line

آغاز و پایان: یه دایره یا بیضی، که توش کلمه‎ی “شروع” و “پایان” رو می‎نویسیم و معلوم کارشون چیه.

flowchart_terminal

دستورات: یه مستطیل، که برای نمایش و اجرای دستورات استفاده میشه.

flowchart_process

تصمیم‌گیری: یه لوزی، که برای نمایش و اجرای شرط‌هاست، معمول‍اً  یه سوال توشه که جوابش “بله/خیر” یا “صحیح/غلط” و یا “True/False” هستش.

flowchart_decision

ورودی و خروجی: یه متوازی‌الأضلاع؛ که برای نمایش دریافت ورودی‌ها یا نمایش خروجی‌ها استفاده میشه.

flowchart_io

حاشیه‌نویسی: حاشیه‌نویسی برای نمایش نظرات و نکات؛ کنار فلوچارت استفاده میشه.

flowchart_annotation

دستورات از پیش تعیین شده: یه مستطیل با دو برش موازی و عمودی، که برای نمایش مراحل پیچیده فرایند استفاده میشه که ممکنه تو یه فلوچارت جداگانه‌ای تعریف شده‎باشه.

flowchart_predefined_process

آماده‌سازی: یه شش‌ضلعی، که میشه برای مقداردهی اولیه ازش استفاده کرد. بعضی اوقات ممکنه تو حلقه‎های شرطی به جای نماد تصمیم‎گیری ازش استفاده کرد.

flowchart_preparation

اتصال‌دهنده: معمولا به شکل یه دایره ست و وقتی که فلوچارت اونقدر بزرگ میشه که دیگه تو یه صفحه جا نمیشه و به عنوان پایان یه فلوچارت تو اون صفحه ازش استفاده میکنیم.

flowchart_connector

اتصال‌دهنده: مثل شکل بالا عمل میکنه اما برای شروع ادامه یه فلوچارت تو یه صفحه دیگه ازش استفاده میشه.

off_page_connector

یه مثال از الگوریتم و فلوچارت تو برنامه‎نویسی

سوال: الگوریتمی بنویسید که سه عدد از ورودی دریافت کند و تعیین کند که این عداد میتونن اضلاع یه مثلث باشن یا نه؟

  1. شروع.
  2. A,b و c رو از ورودی دریافت کن.
  3. اگر a>b+c به 7 برو.
  4. اگر b>a+c به 7 برو.
  5. اگرc>a+b به 7 برو.
  6. در غیر این صورت بنويس “بله”
  7. بنويس “خیر”
  8. پايان.

و فلوچارت این برنامه به شکل زیر میشه:

flowchart_example

چند تا نمونه الگوریتم

الگوریتم‎های مرتب سازی: که برای مرتب سازی داده‎ها استفاده میشه.

الگوریتم‎های رمزنگاری: که برای امنیت تبادل اطلاعات استفاده میشه.

الگوریتم‎های فشرده سازی: که برای کم کرده حجم داده‎ها استفاده میشه.

بحث الگوریتم یه دانشی تخصصی ست، چیزهایی که درباره الگوریتم‎ها و فلوچارت‎ها تو این مقاله نوشته شد، نکات خیلی ابتدایی برای شفاف کردن این دو موضوع برای کاربران عزیز بود.

 

الگوریتم و فلوچارت چیست؟ و چگونه؟
5 (100%) 1 vote
منابع
wikipediaJUSTIT
تگ‎ها

muhammad

طحسیلاطم، خوندن و نوشطنِ و دوصط دارم چیذحایی که بحشون علاغه دارم رو یاد بگیرم، اینو یادطون باشه که ما فغت یه بار ذندگی می‌کنیم و این خیلی محمِ که چتوری ذندگی کنیم. "غلط‌های املایی رو از قصد نوشتم" :) چاکریم.♥

یه نظر

  1. سلام
    خیلی مطلب مفیدی بود. اطلاعات ارزنده ای که با بیانی ساده، آموزش داده شدند.
    ممنون از شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تائید دیدگاه فعال است. دیدگاه شما ممکن است کمی طول بکشد تا ظاهر شود.

دکمه بازگشت به بالا