نمایان
www.3manage.com
لایسنس آنتی ویروس

آموزش فلوچارت و الگوریتم

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

شما برای تمامی کارهای زندگی خود یک روال خاص را طی می کنید تا آن کار انجام شود. برای مثال وقتی که کاری مثل غذا خوردن را انجام می دهید مراحل غذاخوردن به این صورت است : با استفاده از قاشق غذای خود را برمی دارید غذا را در داخل دهان قرار می دهید قاشق را در جای اول خود قرار می دهید و خوب غذا را آسیاب می کنید (می جویید!). پس شما برای رفع مشکل گرسنگی که راه حل اون غذا خوردن هست حتما باید این مراحل را قدم به قدم انجام دهید تا (مشکل) گرسنگی شما برطرف شود. این یک روال و یا الگوریتم شما و هر انسانی برای غذاخوردن است. یعنی شما در تمامی کارهای خود یک روال و برنامه را طی می کنید هرچند که شاید در بعضی موارد جزئی با هم تفاوت داشته باشند اما موارد اصلی را حتما استفاده می کنید. در برنامه نویسی رایانه هم دقیقا این موارد حاکم است. شما برای حل یک مسئله و یا (مشکل) باید مرحله به مرحله مثل یک کودک به کامپیوتر یاد بدهید که آن مشکل را چگونه حل کند. در واقع هربرنامه ای که می نویسید باید یک مسئله را حل کند و برنامه ی شما مراحل قدم به قدم را به کامپیوتر نشان می دهد تا آن مسئله را حل کند. به این مراحل قدم به قدم که برای حل (مسئله) به کار گرفته می شوند ، الگوریتم می گویند. برای مثال وقتی که می خواهید برنامه ای بنویسید که فاکتوریل عدد ۷ را محاسبه کند اولا باید بدانید که این یک (مسئله) است و برای هر مسئله ای باید راه حلی به نام الگوریتم به کامپیوتر معرفی نمود. کامپیوتر خود به خود نمی تواند فاکتوریل یک عدد را حساب کند مگر این که فرمول محاسبه ی فاکتوریل یک عدد را با استفاده از یک برنامه به او بدهید. بنابراین با توجه به مطالب گفته شده یک تعریف جامع و کلی از الگوریتم ذکر می کنیم : الگوریتم مجموعه دستورالعمل های مشخصی است که مراحل انجام یک کار و یا مسئله را با زبانی دقیق و با جزییات کافی که چگونگی ترتیب کامل عملیات و کارها را ذکر می کند. نکته : کلمه ی الگوریتم از دانشمند بزرگ و پرآوازه یعنی الخوارزمی گرفته شده است. هنگامی که یک الگوریتم را می نویسید دقت کنید که موارد زیر را حتما رعایت کنید : ۱ – آغاز و پایان الگوریتم به طور دقیق مشخص باشد. ۲- مراحل دارای جزییات کافی باشند. ۳- مراحل با زبانی دقیق نوشته شوند. مثلا عبارت “حدود ظهر است” برای کامپیوتر نامفهوم است باید دقیق ذکر شود که مثلا “ساعت ۱۱:۵۲ است”. ۴- مراحل به ترتیب و درست نوشته شوند. الگوریتمی که دارای ویژگی های فوق باشد الگوریتم درستی است و برای کامپیوتر به طور کامل قابل ترجمه و تفهیم است. لازم است بدانید که هر الگوریتم دارای سه بخش اصلی است : آغاز – دستورالعمل ها – پایان که ترتیب این سه جزء مهم است. انواع دستورالعمل ها : ۱- دستورالعمل های محاسباتی و انتسابی : در این نوع دستورالعمل ها می توانید مقداری را به یک متغیر نسبت دهید و یا عملیات محاسباتی را انجام دهید. مثلا دستور (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 است چاپ می کند و مسئله به همین راحتی حل می شود. ——————————————————————————– اما راستی چرا می گوییم که الگوریتم در بین همه ی زبان های برنامه نویسی مشترک است ؟ به این دلیل که کافی است با دستورات زبان برنامه نویسی موردنظر خود آشنا باشید و فقط عبارات فارسی موجود در الگوریتم بالا را به زبان برنامه نویسی موردنظر ترجمه کنید، کامپیوتر برنامه ی موردنظر شما را اجرا خواهد کرد و مجموع دو عدد را برای شما چاپ خواهد کرد. امیدوارم در این بخش از آموزش با الگوریتم آشنا شده باشید. در بخش بعدی مراحل پیشرفته تر و مثال های پیچیده تری را مطرح خواهیم کرد.

منبع : foxword.ir

۹پاسخ به “آموزش فلوچارت و الگوریتم”

  • shadi:

    سلام.مثالم بد نیست بزارید به جای کاربردش مثلا آموزش!!!!!!۱!!!!!!!

  • shadi:

    منظورم رسم فلوچارت!

  • میلاد:

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

  • reza rezaei:

    slm
    marse amouzashe jalabe boud
    vale ebtedahe
    man ba tasver mikhastam
    man dare
    kardane computer mikhounam
    by

  • سلام
    خواهشاآموزش رسم فلو چارت را هم بگین چون ما سال سومی ها واقعا موندیم توش

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

    • ابتدا عدد را از ورودی دریافت کنید سپس عدد گرفته شده را بر ۱۰ تقسیم کنید و در هر بار تقسیم یک عدد به نام مجازی که تعریف کرده اید اضافه کنید (که در زبان سی می توانید به اینصورت اقدام کنید ++i ) تا تعداد ارقام را بدست آورید . قسمت پایانی را می توانید بر اساس نیاز خود با صفر یا منفی نمایش دهید

  • pooya:

    فلوچارتی رسم کنید که تعدادی عدداز ورودی گرغتهو مینگین انها را حساب کند تا زمانی که عدد ۰ وارد شود….لطفا این رو انجام بدید…

    • سلام
      ابتدا شما تعداد n عدد از کابر ورودی بگیرید که در برنامه نویسی باید از حلقه while استفاده کنید و شرط خاتمه حلقه را برابر با صفر قرار دهید مثلا اگه ورودی هاتون را داخل متغییر i می ریزید , بنویسید حلقه تا زمانی تکرار شود که i مساوی صفر نیست , در ضمن یه شمارش تعریف کنید و در هر بار تکرار حلقه به آن یکی اضافه کنید و عدد هایی که از کاربر می گیرید را با هم جمع کنید و در یک متغییر به عنوان مثال sum بریزید و در پایان sum را تقسیم بر متغییر شمارش خود کنید .

یک نظر بگذارید

دسته‌ها
اين سايت را حمايت مي کنم