PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش جامع الگوریتم و فلوچارت برای شروع برنامه نویسی



Borna66
07-19-2012, 10:36 AM
سلام دوستان عزیز
در این تایپیک میخوام الگوریتم و فلوچارت رو خدمتتون آموزش بدم .
آموزش ها از اولین قدم تا آخرین قدم هست .
تمام منابع استفاده شده هم آخر آموزش ذکر خواهد شد .
از تمام دوستان و اساتید و مدیران خواهشمندم همکاری لازم را داشته باشند تا به کمک هم تایپیک جامع و مفیدی داشته باشیم .
پسورد فایل ها هم همشون ashiyane.org هست و منبع اموزشها هم همین سایت هست

Borna66
07-19-2012, 10:37 AM
الگوریتم
تقریبا همه ما روزانه کارهایی انجام میدهیم که از نظام خاصی پیروی میکنند ، مانند چگونه رفتن به محل کارمان ، روش تهیه یک نوع غذای خانگی یا یادگیری یک موضوع خاص .
به نمونه ای از تهیه یک غذای خانگی توجه کنید :
تهیه مواد اولیه ، اندازه مصرفی مواد اولیه ، حرارت شعله گاز و ...
به این گونه روش کار الگوریتم می گویند .
الگوریتم به معنی تشریح دقیق و کامل مراحل مختلف و نحوه انجام دادن یک کار بخصوص است .
نام الگوریتم برگرفته شده از نام ریاضیدان و منجم ایرانی قرن دوم هجری ابوجعفر محمد بن موسی الخوارزمی است .
برای بهتر متوجه شدن مفهوم الگوریتم مثالی را در نظر میگیریم :
اگر بخواهیم بین تعدادی عدد ، بزرگترین را پیدا کنیم ، بزرگترین آنها را پیدا کنیم چگونه عمل میکنیم؟؟
شاید به نظر برسد که کار ساده ای است و با نگاه کردن به مجموعه اعداد میتوان بزرگترین آنها را انتخاب کرد . اما اینکار همیشه ممکن نیست زیرا اگر تعداد اعداد بسیار زیاد باشد این روش کار ساز نخواهد بود .
احتمالا این فکر هم به نظر برسد که که یکبار تمام اعداد را از ابتدا تا انتها بررسی میکنیم و در هر لحظه به خاطر بسپاریم که بزرگترین عددی که تا کنون باهاش برخورد کرده ایم آن را به جای عدد بزرگنر قبلی به خاطر میسپاریم و در غیر اینصورت ، بدون تغییر دادن عدد به خاطر سپرده شده ، به بررسی خود ادامه میدهیم . این روش را می توان به صورت مجموعه ای از دستور العمل های منظم بیان کرد .

Borna66
07-19-2012, 10:37 AM
درس اول
تعریف الگوریتم
الگوریتم دستور العملی برای حل مساله است که دارای شرایط زیر باشد :
1-به زبان دقیق گفته شود .
2-جزئیات کامل حل مساله را داشته باشد .
3-ترتیب مراحل آن مشخص باشد .
4-شرط خاتمه عملیات مشخص باشد .
زبان دقیق : به این علت لازم است که اجرای الگوریتم درست به همان صورتی که مورد نظر نویسنده الگوریتم است صورت گیرد .
جزئیات کامل : به این علت لازم است که در طول اجرای الگوریتم عوامل ناشناخته ای پیش نیایند .
به مثال زیر توجه کنید :
ممکن است برای محاسبه اضافه کاری کارکنان یک اداره فرمول زیر ارائه شود :
دستمزد ساعتی اضافه کار × (تعداد ساعت موظف - تعداد ساعت کار ) = اضافه کاری
در این فرمول وضعیت تعداد ساعت کار و تعداد ساعت موظف معلوم است و روش محاسبه
“ دستمزد ساعتی اضافه کار” مشخص نیست . یعنی عامل “ دستمزد ساعتی اضافه کار” شناخته شده نیست . لذا این فرمول جوابگوی محاسبه اضافه کاری کارکنان نیست . مگر اینکه وضعیت این عامل نیز مشخص شود .
اگر فرض کنیم که دستمزد ساعتی اضافه کار به صورت زیر محاسبه گردد ، آنگاه اضافه کاری کارکنان قابل محاسبه می شود :
3/2 × دستمزد ساعتی حقوق = دستمزد ساعتی اضافه کار
ترتیب مراحل : اگر ترتیب مراحل الگوریتم را مشخص نکنیم ممکن است در هر بار اجرای الگوریتم دستورات گوناگون و متفاوتی اجرا شوند و نتایج متفاوتی را شاهد باشیم .
شرط خاتمه الگوریتم : اگر این شرط را رعایت نکنیم انجام عملیات هیچ گاه خاتمه نمی یابد و الگوریتم به مدت نامحدودی اجرا می شود .

Borna66
07-19-2012, 10:38 AM
طراحی الگوریتم برای مسئله :
الگوریتم ها برای حل مسئله نوشته میشوند . مشکل ترین بخش حل مسئله ، طراحی الگوریتم برای آن است . در طراحی الگوریتم ، ابتدا تمام مراحل کلی انجام کار را مشخص میکنیم و با حل هر مرحله اصلی ، کل مسئله حل می شود . تقریبا تمام الگوریتم ها مراحل زیر را دارا هستند :
1- خواندن داده ها
2- انجام محاسبات
3- چاپ نتایج
هر مرحله از الگوریتم با بررسی دقیق ممکن است به بخشهای کوچکتری نیز تقسیم شود . به عنوان مثال ، مرحله انجام محاسبات یک مرحله کلی است که با پرداختن به مسئله ، به روابط ریاضی تبدیل می شود که مسئله را حل می کند . اصولا برای حل یک مسئله و طراحی الگوریتم برای آن ، موارد زیر باید مشخص شوند :
1- تعریف دقیقی از مسئله جهت مشخص کردن نیازمندیهای آن
2- ورودی های مسئله
3- خروجی های مسئله
4- بررسی راه حل های مختلف مسئله
5- رابطه بین ورودی ها و خروجی های مسئله
6- انتخاب یک راه حل مناسب و تهیه الگوریتم برای آن راه حل
7- اشکال زدایی و رفع اشکال الگوریتم

برای آشنایی با حل یک مسئله و طراحی الگوریتم آن ، مثالی را در نظر میگیریم :

دانشگاهی برای هر ترم شهریه ثابتی که در طول تحصیل دانشجو است دریافت می کند .
اگر میزان شهریه ثابت مشخص باشد ، دانشجو در مدت 4 ترم چه مبلغی باید پرداخت کند؟؟
ورودی های مسئله : میزان شهریه ثابت برای هر ترم
خروجی های مسئله : مبلغ شهریه ثابت پرداختی در ازای 4 ترم ( یعنی مبلغ کل )
رابطه بین ورودی ها و خروجی های مسئله :
4 × شهریه ثابت ترم = مبلغ کل
در این مثال ، تشخیص ورودی ، خروجی و رابطه بین آنها خیلی ساده است ولی ممکن است همیشه به این سادگی ها نباشد و مستلزم فرض ها و تسهیلات خاصی باشد .

Borna66
07-19-2012, 10:38 AM
مجری الگوریتم
الگوریتم های نوشته شده می توانند توسط افراد یا ماشین اجرا شوند و منظور از اجرای الگوریتم
دنبال کردن کلیه دستورات الگوریتم و اخذ نتیجه دلخواه است . اگر مجری الگوریتم ماشین باشد آن را کامپیوتر می گویند . مجری الگوریتم بعضی از اعمال را از قبل می داند و بعضی دیگر را
نمی داند . به عنوان مثال ، ممکن است مجری الگوریتم مفهوم جمع و تفریق را بداند و مفهوم باقیمانده یک تقسیم را نداند . لذا نویسنده الگوریتم باید از چیزهایی که مجری الگوریتم می داند آگاه باشد و هیچ گونه فرضی را در مورد مجری الگوریتم منظور نکند .
روش های بیان الگوریتم
الگوریتم ها را می توان به چند صورت مختلف کرد که 3 مورد از آن را بیان می کنیم :
1- بیان الگوریتم با جملات فارسی
2- بیان ریاضی الگوریتم
3- بیان الگوریتم توسط شکل ها
حالا به ترتیب با مثال ذکر خواهیم کرد :
بیان الگوریتم با جملات فارسی
در این روش الگوریتم ها بدون استفاده از نمادهای خاصی ذکر می شوند . به مثال زیر توجه کنید :

الگوریتمی که مجموع دو عدد را محاسبه می کند
1- اولین عدد را انتخاب کرده ، بر روی کاغذ بنویسد
2- دومین عدد را گرفته ، آن را زیر عددی که بر روی کاغذ نوشتید بنویسد
3- دو عدد روی کاغذ را با هم جمع کنید ، زیر آن دو عدد بنویسید
4- سومین عددی که بر روی کاغذ نوشته شد ، مجموع دو عدد است
5- پایان

مثال 2
الگوریتمی که از بین 3 عدد بزرگترین عدد را پیدا می کند .
1- اولین عدد را به عنوان بزرگترین عدد انتخاب کن و روی کاغذ بنویس
2- عدد دوم را با عدد روی کاغذ مقایسه کن ، اگر از عدد روی کاغذ بزرگتر بود ، آن را به عنوان بزرگترین عدد یادداشت کن
3- اگر عدد سوم ، از عددی که به عنوان بزرگترین انتخاب شد ، بزرگتر باشد ، آن را به عنوان بزرگترین عدد یادداشت کن
4- عدد روی کاغذ بزرگترین عدد است
5- پایان

Borna66
07-19-2012, 10:38 AM
بیان ریاضی الگوریتم
الگوریتم هایی که تا کنون مطرح شدند ، به زبان فارسی بیان شدند . نوشتن الگوریتم به زبان فارسی دارای دو اشکال عمده است :
1- الگوریتم ها طولانی می شوند
2- از دستورات الگوریتم تفسیرهای متفاوتی می شود
در این قسمت از آموزش سعی میکنیم مقدماتی را فراهم کنیم که الگوریتم را به جملات ریاضی بیان کنیم . زبان ریاضی زبان دقیق تری نسبت به زبان فارسی است . البته ناگفته نماند بیان ریاضی الگوریتم تنها راه بیان دقیق مراحل الگوریتم نیست و روش های دیگری وجود دارند که در ادامه به آموزش آنها هم خواهیم پرداخت . در بیان ریاضی الگوریتم با نمادهایی سر و کار داریم . این نمادها ، محلهای ذخیره ورودی ها و خروجی های الگوریتم هستند . این نماد ها را متغییر می نامیم . به عبارت دیگر می توان متغییر را این گونه تعریف کرد : متغییر نامی است که به کمیتی داده می شود و مقدار آن ممکن است در طول اجرای الگوریتم تغییر کند . به عنوان مثال ، در الگوریتم مربوط به بزرگترین عدد ، عدد بزرگتر یک عامل مهم است و باید نامی برای آن انتخاب شود . نامگذاری برای متغیر با ترکیبی از حروف a تا z و ارقام 0 تا 9 انجام می شود . نام متغیر باید با یکی از حروف شروع شود . حداکثر طول نام متغیر در این آموزش 6 فرض می شود . نمونه هایی از اسامی متغیرها عبارتند از : find , average , money , m , y , x1 , sum در نامگذاری متغیرها ، تفاوتی بین حروف کوچک و بزرگ وجود ندارد .

Borna66
07-19-2012, 10:40 AM
مثال 1
الگوریتمی که سه مقدار عددی را از ورودی خوانده ، میانگین آنها را محاسبه می کند . در این الگوریتم باید برای سه مقداری که از ورودی خوانده می شوند ، نامی انتخاب کنیم . نامگذاری برای میانگین و مجموع اعداد نیز لازم است .

1- a وb وc را از ورودی بخوان عدد اول a

2- sum= a + b + c عدد دوم b

3- ave = sum/3 عدد سوم c

4- ave را چاپ کن مجموع اعداد sum

5- پایان میانگین اعداد ave

آنچه که از این الگوریتم می آموزیم :
1- مجری الگوریتم " مفهوم خواندن " را می داند .
2- علامت + به معنی جمع است و مجری الگوریتم مفهوم جمع را می داند .
3- علامت = به معنی حکم انتساب است و مقدار سمت راست را در متغیر سمت چپ قرار
می دهد .
لینک علامت جهت سمت چپ هست که آپ کردم .

Borna66
07-19-2012, 10:40 AM
بیان الگوریتم توسط شکل ها
همانطور که در مثال های بالا دیدید در بیان ریاضی الگوریتم ، مراحل الگوریتم به صورت
دستور العمل های متوالی تنظیم می شوند . وقتی الگوریتم طولانی باشد و یا پیچیدگی الگوریتم بیشتر شود ، دنبال کردن مراحل الگوریتم دشوار می شود .
بیان الگوریتم توسط شکل ها ، به روش های متفاوتی امکان پذیر است . یکی از این روش ها فلوچارت ( flowchart ) نام دارد که به آن نمودار گردشی نیز می گویند . این روش مورد بررسی قرار می دهیم . در ضمن روش دیگر بیان الگوریتم توسط شکل ها ، نمودار ns است که در مبحث های آینده مورد بررسی قرار می دهیم .
دیگه یواش یواش مراحل ابتدایی داره تموم میشه

Borna66
07-19-2012, 10:41 AM
در ادامه آموزشها میریم سراغ فلوچارت :
برای درک بهتر شکل ها فایل پی دی اف درست کردم . از این لینک دانلود کنین . در ضمن استقبال خیلی کمه دوستان . الگوریتم و فلوچارت یه مبحث خیلی کاربردی و مفیده تو برنامه نویسی .
ALGORITHM BY TSAM.pdf (http://www.mediafire.com/?wwib5oum3vw6w9d)

Borna66
07-19-2012, 10:41 AM
با سلام خدمت دوستان عزیز و گرامی :
بقیه آموزشها رو با هم ادامه میدیم ، برای درک بهتر مطالب یک فایل پی دی اف درست کردم . از این به بعد هم ادامه آموزشها در فایلهای پی دی اف خواهد بود . موفق باشید .
ALGORITHM 3 BY TSAM.pdf (http://www.mediafire.com/?xng29rr1c4e7mdn)

Borna66
07-19-2012, 10:41 AM
سلام مجدد خدمت دوستان . ادامه آموزشها رو دنبال می کنیم . مثال های این درس رو تو قسمت بعد قرار میدم . موفق باشید .
ALGORITHM 4 BY TSAM.pdf (http://www.mediafire.com/?fpn9nltk5js5f8v)

Borna66
07-19-2012, 10:42 AM
سلام خدمت دوستان گرامی . مثال های درس قبل رو در این آموزش قرار دادم . موفق باشید .

ALGORITHM 5 BY TSAM.pdf (http://www.mediafire.com/?8ub0nbgua963osp)

Borna66
07-19-2012, 10:42 AM
با سلام خدمت همه دوستان گرامی . میریم سراغ ادامه آموزشهامون . حجم آموزش ها هم کمه و دوستان دیال آپی مشکلی واسه دانلود ندارند . موفق باشید .

ALGORTHME 6 BY TSAM.pdf (http://www.mediafire.com/?twgmla4u5191g5k)

Borna66
07-19-2012, 10:42 AM
با سلام خدمت همه دوستان
ادامه آموزشهامون رو دنبال می کنیم . موفق باشید .
ALGORITHME 7 BY TSAM.pdf (http://www.mediafire.com/?agq5pfmcaqocoes)

Borna66
07-19-2012, 11:04 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 8
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 8.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%208.pdf)

Borna66
07-19-2012, 11:05 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 9
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 9.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%209.pdf)

Borna66
07-19-2012, 11:06 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 10
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 10.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%2010.pdf)

Borna66
07-19-2012, 11:06 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 11
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 11.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%2011.pdf)

Borna66
07-19-2012, 11:09 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 12
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 12.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%2012.pdf)

Borna66
07-19-2012, 11:10 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 13
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 13.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%2013.pdf)

Borna66
07-19-2012, 11:10 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 14
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 14.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%2014.pdf)

Borna66
07-19-2012, 11:11 AM
سلام مجدد خدمت دوستان .
ادامه آموزشها رو دنبال می کنیم .
آموزش الگوریتم نویسی -قسمت 15 و پایانی
لینک دانلود
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_Part 15.pdf (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_Part%2015.pdf)

Borna66
07-19-2012, 11:13 AM
دانلود کلیه قسمت آموزش بصورت یک فایل از ادرس زیر
پرشین گیگ - دانلود - Amozeshe-_ALGORITHM_15Part.rar (http://wdl.persiangig.com/pages/download/?dl=http://package2shop.persiangig.com/other/algortim/Amozeshe-_ALGORITHM_15Part.rar)

و یا بصورت قسمت به قسمت از لینک زیر
Index of /other/algortim (http://package2shop.persiangig.com/other/algortim/)

موق باشید
روزگار خوش

sahar72
04-25-2013, 07:51 PM
خیلی ممنون از تاپیک آموزش فلوچارتتون من امتحانشو دارم .فعلا فایلا رو نخوندم ولی حالا که 1 منبع واسه خوندن دارم خیالم راحت شد. خدا خیرتون بده. بازم ممنونم:26::72::72:

Borna66
04-25-2013, 08:02 PM
خیلی ممنون از تاپیک آموزش فلوچارتتون من امتحانشو دارم .فعلا فایلا رو نخوندم ولی حالا که 1 منبع واسه خوندن دارم خیالم راحت شد. خدا خیرتون بده. بازم ممنونم:26::72::72:

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

روزگار خوش

atena9568
05-23-2016, 05:08 PM
سلام دوستان عزیز
در این تایپیک میخوام الگوریتم و فلوچارت رو خدمتتون آموزش بدم .
آموزش ها از اولین قدم تا آخرین قدم هست .
تمام منابع استفاده شده هم آخر آموزش ذکر خواهد شد .
از تمام دوستان و اساتید و مدیران خواهشمندم همکاری لازم را داشته باشند تا به کمک هم تایپیک جامع و مفیدی داشته باشیم .
پسورد فایل ها هم همشون ashiyane.org هست و منبع اموزشها هم همین سایت هست

کاملا کاربردی و پر استفاده مرسی از شما
طراحی سایت (http://www.portalsaz.com/)
سایت ساز (http://www.portalsaz.com/)