آموزش الگوریتم و فلوچارت قسمت اول
موضوع :برنامه نویسی
این مبحث اساس و پایه ی برنامه نویسی است. الگوریتم و فلوچارت تنها چیزهایی هستند که به طور کامل میان تمامی زبان های برنامه نویسی مشترک هستند. البته قعلا از بررسی فلوچارت خودداری می کنیم چون لازمه ی فلوچارت دانستن الگوریتم است.
شما برای تمامی کارهای زندگی خود یک روال خاص را طی می کنید تا آن کار انجام شود. برای مثال وقتی که کاری مثل غذا خوردن را انجام می دهید مراحل غذاخوردن به این صورت است : با استفاده از قاشق غذای خود را برمی دارید غذا را در داخل دهان قرار می دهید قاشق را در جای اول خود قرار می دهید و خوب غذا را آسیاب می کنید (می جویید!). پس شما برای رفع مشکل گرسنگی که راه حل اون غذا خوردن هست حتما باید این مراحل را قدم به قدم انجام دهید تا (مشکل) گرسنگی شما برطرف شود. این یک روال و یا الگوریتم شما و هر انسانی برای غذاخوردن است. یعنی شما در تمامی کارهای خود یک روال و برنامه را طی می کنید هرچند که شاید در بعضی موارد جزئی با هم تفاوت داشته باشند اما موارد اصلی را حتما استفاده می کنید.
در برنامه نویسی رایانه هم دقیقا این موارد حاکم است. شما برای حل یک مسئله و یا (مشکل) باید مرحله به مرحله مثل یک کودک به کامپیوتر یاد بدهید که آن مشکل را چگونه حل کند. در واقع هربرنامه ای که می نویسید باید یک مسئله را حل کند و برنامه ی شما مراحل قدم به قدم را به کامپیوتر نشان می دهد تا آن مسئله را حل کند. به این مراحل قدم به قدم که برای حل (مسئله) به کار گرفته می شوند ، الگوریتم می گویند. برای مثال وقتی که می خواهید برنامه ای بنویسید که فاکتوریل عدد ۷ را محاسبه کند اولا باید بدانید که این یک (مسئله) است و برای هر مسئله ای باید راه حلی به نام الگوریتم به کامپیوتر معرفی نمود. کامپیوتر خود به خود نمی تواند فاکتوریل یک عدد را حساب کند مگر این که فرمول محاسبه ی فاکتوریل یک عدد را با استفاده از یک برنامه به او بدهید.
بنابراین با توجه به مطالب گفته شده یک تعریف جامع و کلی از الگوریتم ذکر می کنیم :
الگوریتم مجموعه دستورالعمل های مشخصی است که مراحل انجام یک کار و یا مسئله را با زبانی دقیق و با جزییات کافی که چگونگی ترتیب کامل عملیات و کارها را ذکر می کند.
نکته : کلمه ی الگوریتم از دانشمند بزرگ و پرآوازه یعنی الخوارزمی گرفته شده است.
هنگامی که یک الگوریتم را می نویسید دقت کنید که موارد زیر را حتما رعایت کنید :
۱ – آغاز و پایان الگوریتم به طور دقیق مشخص باشد.
۲- مراحل دارای جزییات کافی باشند.
۳- مراحل با زبانی دقیق نوشته شوند. مثلا عبارت “حدود ظهر است” برای کامپیوتر نامفهوم است باید دقیق ذکر شود که مثلا “ساعت ۱۱:۵۲ است”.
۴- مراحل به ترتیب و درست نوشته شوند.
الگوریتمی که دارای ویژگی های فوق باشد الگوریتم درستی است و برای کامپیوتر به طور کامل قابل ترجمه و تفهیم است.
لازم است بدانید که هر الگوریتم دارای سه بخش اصلی است : آغاز – دستورالعمل ها – پایان که ترتیب این سه جزء مهم است.
انواع دستورالعمل ها :
۱- دستورالعمل های محاسباتی و انتسابی : در این نوع دستورالعمل ها می توانید مقداری را به یک متغیر نسبت دهید و یا عملیات محاسباتی را انجام دهید.
مثلا دستور (first = hello) مقدار hello را به متغیر first نسبت می دهد. و یا دستور (sec = 2*5) ابتدا عدد ۲ را در ۵ ضرب می کند و سپس آن را در متغیر sec قرار می دهد.
۲- عبارات توضیحی : برای اضافه کردن توضیح به برنامه و یا الگوریتم استفاده می شود. که برای جداکردن آن از دستورالعمل ها در داخل پرانتز قرار می گیرد.
۳- دستورالعمل های شرطی : بوسیله ی این دستورالعمل ها می توان شرطی را بررسی کرد در صورتی که آن شرط درست باشد عبارت بعد از آن اجرا می شود. برای مثال دستور “اگر ۲>3 باشد آنگاه چاپ کن درست است ” تنها در صورتی عبارت “درست است” را چاپ می کند (در برنامه نویسی معمولا منظور از چاپ کردن نمایش در صفحه ی نمایش است) که ۳ از ۲ بزرگتر باشد و چون این عبارت همیشه درست است در نتیجه همواره در هنگام اجرای برنامه عبارت “درست است” چاپ می شود.
۴- دستورالعمل های خروجی : به صورت “چاپ کن مقدار موردنظر” مورد استفاده قرار می گیرد.
حال با استفاده از مطالب ذکر شده یک مسئله طرح می کنیم و الگوریتم و یا شبه کد آن را می نویسیم : مثال : الگوریتمی بنویسید که دوعدد را بگیرد و آن ها را با هم جمع کند و سپس حاصل جمع آن ها را در خروجی نمایش دهد.
الگوریتم موردنظر به صورت زیر خواهد بود :
۱- شروع
۲- دو عدد a,b را بگیر
۳- S = a + b
4- S را چاپ کن
۵- پایان
توضیح : همان طور که در الگوریتم بالا می بینید مرحله به مرحله و قدم به قدم راه حل مسئله نوشته شده است. در خط ۱ برنامه شروع شده و در خط ۵ پایان یافته است. (دو مرحله ی اصلی اول و سوم) از خطوط ۲ تا ۴ دستورالعمل ها و کدها نوشته شده اند (دومین مرحله ی اصلی) . در خط ۲ الگوریتم ۲ عدد دلخواه a و b را می گیرد و در آن ها قرار می دهد. سپس در مرحله ی ۳ مجموع دو عدد a و b را به S نسبت می دهد یعنی در S قرار می دهد و در پایان مرحله ی ۴ S را که شامل مجموع دو عدد a و b است چاپ می کند و مسئله به همین راحتی حل می شود
موضوع :برنامه نویسی

این مبحث اساس و پایه ی برنامه نویسی است. الگوریتم و فلوچارت تنها چیزهایی هستند که به طور کامل میان تمامی زبان های برنامه نویسی مشترک هستند. البته قعلا از بررسی فلوچارت خودداری می کنیم چون لازمه ی فلوچارت دانستن الگوریتم است.
شما برای تمامی کارهای زندگی خود یک روال خاص را طی می کنید تا آن کار انجام شود. برای مثال وقتی که کاری مثل غذا خوردن را انجام می دهید مراحل غذاخوردن به این صورت است : با استفاده از قاشق غذای خود را برمی دارید غذا را در داخل دهان قرار می دهید قاشق را در جای اول خود قرار می دهید و خوب غذا را آسیاب می کنید (می جویید!). پس شما برای رفع مشکل گرسنگی که راه حل اون غذا خوردن هست حتما باید این مراحل را قدم به قدم انجام دهید تا (مشکل) گرسنگی شما برطرف شود. این یک روال و یا الگوریتم شما و هر انسانی برای غذاخوردن است. یعنی شما در تمامی کارهای خود یک روال و برنامه را طی می کنید هرچند که شاید در بعضی موارد جزئی با هم تفاوت داشته باشند اما موارد اصلی را حتما استفاده می کنید.
در برنامه نویسی رایانه هم دقیقا این موارد حاکم است. شما برای حل یک مسئله و یا (مشکل) باید مرحله به مرحله مثل یک کودک به کامپیوتر یاد بدهید که آن مشکل را چگونه حل کند. در واقع هربرنامه ای که می نویسید باید یک مسئله را حل کند و برنامه ی شما مراحل قدم به قدم را به کامپیوتر نشان می دهد تا آن مسئله را حل کند. به این مراحل قدم به قدم که برای حل (مسئله) به کار گرفته می شوند ، الگوریتم می گویند. برای مثال وقتی که می خواهید برنامه ای بنویسید که فاکتوریل عدد ۷ را محاسبه کند اولا باید بدانید که این یک (مسئله) است و برای هر مسئله ای باید راه حلی به نام الگوریتم به کامپیوتر معرفی نمود. کامپیوتر خود به خود نمی تواند فاکتوریل یک عدد را حساب کند مگر این که فرمول محاسبه ی فاکتوریل یک عدد را با استفاده از یک برنامه به او بدهید.
بنابراین با توجه به مطالب گفته شده یک تعریف جامع و کلی از الگوریتم ذکر می کنیم :
الگوریتم مجموعه دستورالعمل های مشخصی است که مراحل انجام یک کار و یا مسئله را با زبانی دقیق و با جزییات کافی که چگونگی ترتیب کامل عملیات و کارها را ذکر می کند.
نکته : کلمه ی الگوریتم از دانشمند بزرگ و پرآوازه یعنی الخوارزمی گرفته شده است.
هنگامی که یک الگوریتم را می نویسید دقت کنید که موارد زیر را حتما رعایت کنید :
۱ – آغاز و پایان الگوریتم به طور دقیق مشخص باشد.
۲- مراحل دارای جزییات کافی باشند.
۳- مراحل با زبانی دقیق نوشته شوند. مثلا عبارت “حدود ظهر است” برای کامپیوتر نامفهوم است باید دقیق ذکر شود که مثلا “ساعت ۱۱:۵۲ است”.
۴- مراحل به ترتیب و درست نوشته شوند.
الگوریتمی که دارای ویژگی های فوق باشد الگوریتم درستی است و برای کامپیوتر به طور کامل قابل ترجمه و تفهیم است.
لازم است بدانید که هر الگوریتم دارای سه بخش اصلی است : آغاز – دستورالعمل ها – پایان که ترتیب این سه جزء مهم است.
انواع دستورالعمل ها :
۱- دستورالعمل های محاسباتی و انتسابی : در این نوع دستورالعمل ها می توانید مقداری را به یک متغیر نسبت دهید و یا عملیات محاسباتی را انجام دهید.
مثلا دستور (first = hello) مقدار hello را به متغیر first نسبت می دهد. و یا دستور (sec = 2*5) ابتدا عدد ۲ را در ۵ ضرب می کند و سپس آن را در متغیر sec قرار می دهد.
۲- عبارات توضیحی : برای اضافه کردن توضیح به برنامه و یا الگوریتم استفاده می شود. که برای جداکردن آن از دستورالعمل ها در داخل پرانتز قرار می گیرد.
۳- دستورالعمل های شرطی : بوسیله ی این دستورالعمل ها می توان شرطی را بررسی کرد در صورتی که آن شرط درست باشد عبارت بعد از آن اجرا می شود. برای مثال دستور “اگر ۲>3 باشد آنگاه چاپ کن درست است ” تنها در صورتی عبارت “درست است” را چاپ می کند (در برنامه نویسی معمولا منظور از چاپ کردن نمایش در صفحه ی نمایش است) که ۳ از ۲ بزرگتر باشد و چون این عبارت همیشه درست است در نتیجه همواره در هنگام اجرای برنامه عبارت “درست است” چاپ می شود.
۴- دستورالعمل های خروجی : به صورت “چاپ کن مقدار موردنظر” مورد استفاده قرار می گیرد.
حال با استفاده از مطالب ذکر شده یک مسئله طرح می کنیم و الگوریتم و یا شبه کد آن را می نویسیم : مثال : الگوریتمی بنویسید که دوعدد را بگیرد و آن ها را با هم جمع کند و سپس حاصل جمع آن ها را در خروجی نمایش دهد.
الگوریتم موردنظر به صورت زیر خواهد بود :
۱- شروع
۲- دو عدد a,b را بگیر
۳- S = a + b
4- S را چاپ کن
۵- پایان
توضیح : همان طور که در الگوریتم بالا می بینید مرحله به مرحله و قدم به قدم راه حل مسئله نوشته شده است. در خط ۱ برنامه شروع شده و در خط ۵ پایان یافته است. (دو مرحله ی اصلی اول و سوم) از خطوط ۲ تا ۴ دستورالعمل ها و کدها نوشته شده اند (دومین مرحله ی اصلی) . در خط ۲ الگوریتم ۲ عدد دلخواه a و b را می گیرد و در آن ها قرار می دهد. سپس در مرحله ی ۳ مجموع دو عدد a و b را به S نسبت می دهد یعنی در S قرار می دهد و در پایان مرحله ی ۴ S را که شامل مجموع دو عدد a و b است چاپ می کند و مسئله به همین راحتی حل می شود
آخرین ویرایش توسط مدیر: