تبلیغات
elecomp - جلسه اول ( بخش دوم )
elecomp
علم را بیاموزید که در مقابل دیگران ناتوان نباشید

بازدید : مرتبه
تاریخ : جمعه 28 آبان 1389

الگوریتم ( Algorithm )

تعریف اول : برای حل یک مسئله لازم است عملیاتی را قدم به قدم انجام داد تا نهایتا به حل کامل مسئله دست یافت کلیه ی این عملیات گام به گام را الگوریتم گویند .

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

و...

به ادامه مطلب رجوع کنید

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

منظور از زبان دقیق ، آن است که الگوریتم دقیقا به همان صورتیکه مورد نظر نویسنده است اجرا گردد .

منظور از جرئیات کافی ، آن است که در طول اجرای الگوریتم عملیات ناشناخته پیش نیامده و باعث انحراف از مسیر و هدف اصلی نگردد.

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

منظور از شرط خاتمه ، پایان پذیر بودن الگوریتم می باشد و بهرحال الگوریتم باید در زمانی دلخواه و تحت شرط یا شروط داده شده خاتمه پذیرد .

برای درک بهتر تعاریف فوق به طرح چند مسئله ساده می پردازیم :

مثال 1 : فرض کنید کتابی در دست داریم و می خواهیم آن را بخوانیم الگوریتم مسئله بصورت زیر خواهد بود

1. شروع

2. کتاب را باز کرده و از صفحه ی اول شروع می کنیم .

3. یک خط از این صفحه را می خوانیم .

4. اگر به پایان صفحه نرسیده ایم به مرحله ی 3 باز می گردیم .

5. به صفحه ی بعد می رویم

6. اگر به پایان کتاب نرسیده ایم به مرحله ی 3 باز می گردیم .

7. پایان

 

  • الگوریتم فوق با شماره ی 1 شروع شده و در شماره ی 7 به پایان می رسد .
  • در شماره 4 چنانچه به پایان یک صفحه رسیده باشیم شماره ی 5 انجام حواهد شد.
  • در شماره 6 اگر به پایان کتاب رسیده باشیم شماره ی 7 انجام خواهد شد و در نتیجه الگوریتم پایان می پذیرد

مثال 2 : فرض کنید با لیستی از اجناس مورد نیاز خود به فروشگاهی وارد می شویم و در آنجا به فرض موجود بودن همه ی اجناس دلخواه با سبد مخصوص برای انتخاب جنس مورد نیاز عمل می کنیم در اینصورت الگوریتم خرید به صورت زیر خواهد بود .

1. شروع

2. نام یک جنس را از لیست می خوانیم .

3. در قفسه های فروشگاه برای یافتن آن جستجو می نمائیم .

4. اگر جنس مورد نظر پیدا شد آن را در سبد گذاشته به مرحله ی 5 می رویم در غیر اینصورت به مرحله ی 3 باز می گردیم .

5. نام این جنس را از لیست خود خط می زنیم .

6. اگر هنوز در لیست ما جنس خط نخورده  وجود دارد به مرحله ی 2 باز می گردیم .

7. مبلغ خرید را به فروشنده پرداخت کرده و از فروشگاه خارج می شویم .

8. پایان

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

مثال 3 : فرض کنید مسئول تصحیح اوراق امتحانی دانش آموزان هستیم الگوریتم کار بصورت زیر خواهد بود

1. شروع

2. برگه ها را برای تصحیح آماده می کنیم

3. یک برگه را برای تصحیح بر می داریم

4. یک پاسخ را بررسی کرده به آن نمره می دهیم

5. اگر هنوز پاسخی وجود دارد ، که نمره ندارد به مرحله ی 4 باز می گردیم .

6. مجموع نمرات را در بالای برگه نوشته و برگه را کنار می گذاریم

7. اگر برگه ی تصحیح نشده ی دیگری وجود دارد به مرحله ی 3 باز می گردیم

8. پایان

  • در مرحله ی 5 اگر شرط نوشته شده برقرار نباشد مرحله ی 6 عمل خواهد شد.
  • در مرحله ی 7 چنانچه شرط برقرار نباشد به مرحله ی 8 یعنی مرحله ی پایانی خواهیم رسید .

مثال 4 : فرض کنید تعدادی اوراق امتحانی برای تصحیح وجود دارد و اکنون می خواهیم فقط اوراق 20 نفرو را تصحیح نمائیم با در نظر گرفتن اینکه ممکن است تعداد برگه ها کمتر از 20 باشد الگوریتم کار به صورت زیر خواهد بود .

1. شروع

2. برگه ها را برای تصحیح آماده می کنیم

3. بر روی یک کاغذ عدد صفر را می نویسیم

4. یک برگه را برای تصحیح بر می داریم

5. یک پاسخ را بررسی کرده به آن نمره می دهیم

6. اگر هنوز پاسخی وجود دارد ، که نمره ندارد به مرحله ی 5 باز می گردیم .

7. مجموع نمرات را در بالای برگه نوشته و برگه را کنار می گذاریم

8. به عدد نوشته شده بر روی کاغذ یک واحد اضافه می کنیم

9. اگر عدد روی کاغذ 20 است به مرحله ی 11 می رویم

10. اگر برگه ی تصحیح نشده ی دیگری وجود دارد به مرحله ی 4 باز می گردیم

11. پایان

  • در این الگوریتم چنانچه عدد نوشته شده بر روی کاغذ 20 باشد به مرحله 11 یعنی مرحله ی پایانی خواهیم رفت ، و شرط پایانی دوم عدم وجود برگه ی دیگر برای تصحیح ، در نظر گرفته شده است.

مثال 5 : فرض کنید در زمان رفتن به اداره متوجه شدیم چراغ اتومبیل پنچر است باید دست به کار شده مشکل را برطرف نمایئم ، الگوریتم آن با فرض وجود چرخ یدک بصورت زیر خواهد بود ،

1. شروع

2. اگر چرخ یدک پنچر است به مرحله ی 12 می رویم

3. چرخ یدک ، جک و آچارهای مورد نیاز را آماده می کنیم .

4. اتومبیل را بوسیله ی جک بالا می بریم

5. یک پیچ چرخ پنچر شده را بوسیله ی آچار مخصوص باز می کنیم

6. اگر هنوز پیچ باز نشده ای از چرخ پنچر شده وجود دارد به مرحله ی 5 باز می گردیم

7. چرخ پنچر را در آورده و چرخ یدک را به جای آن می گذاریم

8. یک پیچ را می بندیم

9. اگر هنوز پیچ بسته نشده ای وجود دارد به مرحله ی 8 باز می گردیم

10. جک را پایین می آوریم

11. به مرحله 13 می رویم

12. باید با وسیله ی نقلیه ی دیگری به اداره برویم

13. پایان

مثال 6 : می خواهیم بین دو عددی که جداگانه به ما داده می شوند بزرگترین را انتخاب نمائیم الگوریتم آن به صورت زیر خواهد بود

1. شروع

2. عدد اول را گرفته آن را بر روی کاغذ بعنوان بزرگترین یاداشت می کنیم

3. عدد اول را کنار گذاشته عدد دوم را می گیریم

4. اگر عدد دوم از عدد نوشته شده روی کاغذ بزرگتر است عدد اول را خط زده عدد دوم را یاداشت می کنیم

5. عدد نوشته شده روی کاغذ ، بزرگترین است

6. پایان

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

مثال 7 : می خواهیم بین سه عدد که جداگانه به ما داده می شوند بزرگترین را انتخاب نمائیم الگوریتم مسئله به صورت زیر خواهد بود .

1. شروع

2. عدد اول را گرفته آن را بر روی کاغذ بعنوان بزرگترین یاداشت می کنیم

3. عدد اول را کنار گذاشته عدد دوم را می گیریم

4. اگر عدد دوم از عدد نوشته شده روی کاغذ بزرگتر است آن را به عنوان بزرگتر یاداشت می کنیم

5. عدد دوم را هم کنار گذاشته عدد سوم را می گیریم

6. اگر عدد سوم از عدد نوشته شده روی کاغذ بزرگتر است آن را به عنوان بزرگتر یاداشت می کنیم

7. عدد نوشته شده روی کاغذ ، بزرگترین است

8. پایان

مثال 8 : فرض کنید تعدادی عدد در اختیار ماست و قرار است بزرگترین آنها را انتخاب کنیم الگوریتم مسئله به صورت زیر است

1. شروع

2. عدد اول را گرفته آن را بر روی کاغذ بعنوان بزرگترین یاداشت می کنیم

3. یک عدد دیگر را بررسی کرده ، اگر از عدد نوشته شده روی کاغذ بزرگتر است آن را به عنوان بزرگتر یاداشت می کنیم

4. اگر عدد دیگری برای مقایسه وجود دارد به مرحله ی 3 باز می گردیم

5. عدد نوشته شده روی کاغذ ، بزرگترین است

6. پایان

  • شرط پایان الگوریتم فوق پایان یافتن اعداد موجود می باشد
  • در این الگوریتم عدد اول بعنوان بزرگترین فرض می شود و با بقیه ی اعداد مقایسه میگردد

مثال 9 : فرض کنید می خواهیم الگوریتم مثال قبل را برای تعیین کوچکترین آنها بنویسیم

1. شروع

2. عدد اول را گرفته آن را بر روی کاغذ بعنوان کوچکترین یاداشت می کنیم

3. یک عدد دیگر را بررسی کرده ، اگر از عدد نوشته شده روی کاغذ کوچکتر است آن را به عنوان کوچکترین یاداشت می کنیم

4. اگر عدد دیگری برای مقایسه وجود دارد به مرحله ی 3 باز می گردیم

5. عدد نوشته شده روی کاغذ ، کوچکترین است

6. پایان

مثال 10 : تعدادی عدد وجود دارد که می خواهیم جمع آنها را محاسبه نمائیم ، الگوریتم مسئله بصورت زیر خواهد بود

1. شروع

2. بر روی یک کاغذ عدد صفر را می نویسیم

3. یک عدد را خوانده آن را به عدد نوشته شده بر روی کاغذ اضافه می کنیم

4. اگر عدد دیگری وجود دارد به مرحله ی 3 باز می گردیم

5. عدد نوشته شده بر روی کاغذ مجموع اعداد را نشان میدهد

6. پایان

مثال 11 :الگوریتم مثال قبل را برای 20 عدد می نویسیم

1. شروع

2. بر روی دو برگه ی کاغذ عدد صفر را می نویسیم

3. یک عدد را خوانده آن را به عدد نوشته شده بر روی کاغذ اول اضافه می کنیم

4. یک واحد به عدد نوشته شده بر روی کاغذ دوم اضافه می کنیم

5. اگر عدد کاغذ دوم کوچکتر از 20 است به مرحله ی 3 باز می گردیم

6. عدد نوشته شده بر روی کاغذ اول مجموع اعداد را نشان میدهد

7. پایان

مثال 12 : تعدادی عدد وجود دارد که می خواهیم میانگین آنها را محاسبه نمائیم ، الگوریتم مسئله بصورت زیر خواهد بود

1. شروع

2. بالای یک کاغذ حرف A و در بالای کاغذی دیگر حرف B را برای نام گذاری آنها می نویسیم .

3. عدد صفر را بر روی هر دو کاغذ A و B می نویسیم

4. یک عدد را خوانده و آن را به دو عدد کاغذ A اضافه می کنیم

5. یک واحد به عدد کاغذ B اضافه می کنیم

6. اگر عدد دیگری وجود دارد به مرحله 4 باز می گردیم

7. عدد کاغذ A را به عدد کاغذ B تقسیم کرده نتیجه همان میانگین اعداد خواهد بود

8. پایان

موفق باشید




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