فرض کنید میخواهیم یک کاری را شروع کنیم مثلا ساختن یک آپارتمان ، آیا امکان دارد بدون اینکه پی ریزی خوبی انجام دهیم دیوارهای مستحکمی را روی آن بنا کنیم؟ قطعا نه ! در شروع آموزش برنامه نویسی نیز یک سری مبانی و مقدمات نیاز هست که بدون یاد گرفتن آنها شما نمیتوانید برنامه نویس خوبی بشید.
درک الگوریتم و فلوچارت یکی از این مبانی است که برای هر شخصی که در حیطه ی برنامه نویسی فعالیت میکند واجب است که آنرا به صورت کامل درک کند . در این مقاله بصورت روان و ساده درباره ی الگوریتم و فلوچارت براتون مینویسم.
الگوریتم در برنامه نویسی چیست ؟
به زبان ساده الگوریتم یعنی انجام کارها بصورت مرحله به مرحله و کاملا مشخص و اگر بخوام مثال بزنم فرض کنیم میخواهیم خانه را رنگ آمیزی کنیم. از زمانی که این تصمیم را میگیریم دقیقا کارهایی که میکنیم به شکل زیر است:
- رفتن به مغازه رنگ فروشی و خرید رنگ
- جمع کردن وسایل خانه
- آماده کردن مواد اولیه
- شروع کردن به رنگ کردن دیوار شماره 1
- اگر دیوار شماره 1 تمام شد برو دیوار 2
- بعد از رنگ کامل خانه باز کردن در و پنجره ها برای اینکه رنگ خشک شود
خطوط بالا که مرحله به مرحله و بصورت خیلی ساده شیوه ی انجام یک کار را به شما نشان میدهد در کامپیوتر و برنامه نویسی ، الگوریتم نامگذاری شده است.
علاوه بر اینکه شما میتوانید برای هرکاری یک الگوریتم کاملا جدید بنویسید میتوانید از انواع الگوریتم های اماده که قبلا طراحی شده اند نیز استفاده کنید.
الگوریتم بصورت گسترده ای در دنیای برنامه نویسی ، آی تی ، هوش مصنوعی و زمینه های مشابه استفاده میشود و معمولا مشکلات و مسائل با استفاده از الگوریتم مشخص بصورت گام به گام حل میشود تا در زمان صرفه جویی شود.
کمی که جلوتر میرویم میبینیم که بعضی اوقات قرار است ما چیزی بعنوان ورودی و چیزی به عنوان خروجی داشته باشیم همچنین ما میتوانیم شرط گذاری کنیم. به مثال زیر توجه کنید.
سوال :
الگوریتمی بنویسید که یک عدد را از کاربر دریافت کند و زوج یا فرد بودن آن را نشان دهد . تا زمانی که عدد وارد شده زوج باشه دوباره عدد بگیره و اگه عدد فرد بود برنامه تمام شود.
جواب :
1-شروع
2-یک عدد از کاربر دریافت کن
3-باقیمانده عدد بر 2 را حساب کن
4-اگر باقیمانده صفر بود یعنی زوج است برو خط 5 وگرنه عدد فرد است برو خط 6
5-عبارت " عدد زوج است " را چاپ کن و برو خط 2
6-عبارت " عدد فرد است " را چاپ کن
7-پایان
همانطور که میبینید در پاسخ به سوال بالا ورودی داریم که یک عدد است و خروجی دو عبارت است که نشان میدهد عدد فرد بوده یا زوج و همچنین شرط گذاری کردیم ( در خط 4 )
فلوچارت در برنامه نویسی چیست ؟
در قسمت بالا با الگوریتم و الگوریتم نویسی آشنا شدیم. حال اگر بخواهیم همون الگوریتم ها را بصورت تصویری در بیاریم و با اشکال هندسی نمایش بدیم از فلوچارت استفاده میکنیم.
فلوچارت همون الگوریتم هست ولی بصورت تصویری و با استفاده از چند شکل ساده که هر کدام به منزله ی یک چیز از الگوریتم است که در زیر بهش میپردازیم
- شروع و پایان الگوریتم با شکل دایره یا بیضی است
- شرط ها با استفاده از شکل لوزی است
- محاسبات و مقداردهی ها درون مستطیل است
- دریافت ورودی و نمایش خروجی در داخل متساوی الاضلاع است
اهمیت فلوچارت در برنامه نویسی خیلی زیاد است اگر شما بصورت تصویری و با اشکال بتوانید شیوه ی حل مسائل کوچک را یاد بگیرید ، ذهن شما آماده ی حل مسائل بزرگتر در آینده خواهد بود.
شبه کد چیست ؟
بعد از یادگیری الگوریتم و فلوچارت ، اگر بخواهید آنها را بصورت کدهای برنامه نویسی دربیارید باید برنامه نویسی بلد باشید اما همیشه نیاز نیست شما تخصص برنامه نویسی داشته باشید و شما میتوانید با استفاده از شبه کد الگوریتم یا فلوچارت خود را به کد تبدیل کنید.
شبه کد را میتوانید در لپتاپ یا حتی روی کاغذ بنویسید زیرا هرگز نیاز به اجرا ندارد.
شبه کد که نام انگلیسیش Pseudocode در تقویت یادگیری برنامه نویسی بسیار موثر هست و شما میتوانید نحوه ی نوشتن شبه کد را از دوره های مختلفی یاد بگیرید.
از چه دوره ی آموزشی برنامه نویسی را شروع کنیم ؟
یکی از بهترین دوره های آموزشی در وب فارسی که من شخصا ازش راضی بودم دوره ی 12 قدم شروع برنامه نویسی با تدریس مهندس سام نیکزاد بود چون برخلاف دیگر دوره ها توش الگوریتم فلوچارت و... کامل پوشش داده شده و کسی که با این دوره شروع میکند بعدا به مشکلات دیگری که مربوط به مبانی باشد برخورد نمیکنه
همچنین تمام مفاهیم بالا درون دوره به زبان برنامه نویسی سی پلاس پلاس هم تدریس میشه
طبق تجربه ی شخصی خودم ، دوره ی 12 قدم یکی از اصولی ترین دوره های آموزشی برای یادگیری و ورود به دنیای برنامه نویسی است که با دوره های دیگه خیلی متفاوته و واقعا چیزهایی که نیازه را بصورت اصولی به شما آموزش میدهد
تهیه دوره ی آموزش 12 قدم شروع برنامه نویسی
موفق باشین