شنبه 27 آبان 1396 | Saturday 18 th of November 2017 صفحه اصلی گروه الکترونیکی کامپیوتر
ساختار اموزش الگوریتم فروشنده دوره گرد در نرم افزار swish max

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

ماتریس مثال را نیز با ابزار shape  رسم می کنیم. 

در فریم مرحله اول ، توضیحاتی را در مورد الگوریتم در صفحه قرار داده ، و در فریم های مرحله بعد حذف می کنیم. به این ترتیب که جعبه متنی را رسم و توضیحات مربوط به این الگوریتم را در  ان می نویسیم. سپس در فاصله فریم های مرحله اول ، بر روی جعبه متن در پانل timelineراست کلیک کرده و در منوی میانبر یکی از افکتها که را به ان اعمال می کنیم. افکتی که در اینجا بر روی این جعبه متن اعمال کردیم ، افکت 3d pinاز منوی appear in positionمی باشد. سپس در فاصله فریم های مرحله بعد ، با انتخاب گزینه ی removeاز منوی میانبر پانل  timelineان را  حذف می کنیم.

مرحله بندی این الگوریتم نیز مانند بسیاری از الگوریتم های این پروژه به صورت فریم های 5 تایی دسته بندی شده است. هر 5 فریم را در خط زمان پانل timelineسکانس اصلی یک مرحله در نظر گرفته و بعد از ان افکت توقف یا همان stop  را قرار می دهیم.  سپس در رویداد  on press()کلید های "مرحله بعد" و "مرحله قبل" با استفاده از دستور gotoandplay(fram)بین این مراحل پیمایش می کنیم.

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

V = { v1 ,v2 , v3 , v4 }

و مسیر ها را به صورت [ v1 , v 2 , v3 , v 4 ]نشان می دهیم.

سپس در اولین مرحله مجموعه تهی را در نظر می گیریم ، یعنی Aرا برابر با V1  در نظر می گیریم و مسافت هر رأس تا V1را پیدا می کنیم. و با توجه به ماتریس مجاورتی از رأسی به رأس دیگر یالی وجود نداشت از علامت بی نهایت استفاده می کنیم. این مجموعه را مجموعه تک عضوی نامیده در فریم های مرحله اول قرار می دهیم. به این صورت جعبه متنی را حاوی عنوان "مجموعه های تک عضوی " قرار داده و در سمت چپ صفحه کاری قرار می دهیم. سپس دیگر اعضای این مجموعه را در جعبه متن های جداگانه قرار داده و در پانل timelineدر فریم های مرحله دوم به انها افکت place  می دهیم .

کادری را حاوی فرمول کلی الگوریتم در وسط صفحه قرار می دهیم.  این فرمول طول کوتاهترین مسیر که از هر رأس در Aدقیقا یکبار عبور کند را محاسبه می کند.

D[Vi][A]= minimum (W[i][j] + D[Vj][A-{Vj}])  Vj € A

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

جعبه متن حاوی عنوان "مجموعه های دو عضوی" را در صفحه در کنار مجموعه های تک عضوی قرار می دهیم. سپس جعبه متن های اعضاء مجموعه دو عضوی را زیر عنوان ان قرار می دهیم.  سپس بر روی جعبه متن هریک از اعضاء کلیک راست کرده و از منوی میانبر گزینه یConvert to buttonرا انتخاب می کنیم. سپس عنوان مجموعه همراه با  اعضای ان که به کلید تبدیل کرده و بر روی انها کلیک راست می کنیم ، سپس از منوی میانبر گزینه ی convert to spriteرا انتخاب می کنیم .این movie clip  را باز کرده و به هریک از اعضای ان در پانل timelineبه ترتیب افکت می دهیم. به طوریکه در مرحله سوم ، به ترتیب عنوان و اعضای این مجموعه در صفحه قرار       می گیرد.

 برای مثال ، یکی از اعضای این مجموعه را در نظر گرفته و نحوه اموزش ان را توضیح می دهیم. روی جعبه متن حاوی این عنصر ، کلیک کرده و ان را به کلید تبدیل می کنیم. سپی در پانل outlineروی نام این کلید کلیک کرده تا فعال شود. سپس در رویداد on press()ان قطعه کد زیر را       می نویسیم:

On press() {

Root.gotoandplay(fram)

}

در اینجا چون کلید ها در داخل move clipقرار دارند برای اینکه بتوانیم با کلیک بر روی انها به فریم مورد نظرمان در سکانس اصلی برویم قبل از دستور gotoandplay(fram)کلمه  root  را می نویسیم. کلمه rootوقتی قبل از دستور یا تابعی قرار می گیرد به شئ یا خط زمان اجرای سکانس اصلی اشاره می کند.

جعبه متنی را در صفحه درج و  نحوه محاسبه این عضو را از روی فرمول اصلی الگوریتم که در کادری در وسط صفحه قرار دادیم ، در این جعبه متن می نویسیم . سپس ان را به movieclipتبدیل کرده و در فریمی از صفحه اصلی که در دستور به عنوان پارامتر به تابع دادیم ، place     می کنیم .  درون  movie clipبه این جعبه متن از منوی  میانبر  پانل  timelineافکتی را انتخاب و به ان اعمال می کنیم. در فریم پایان افکت نیز ، در پانل timelineروی اخرین فریم کلیک کرده و از منوی میانبر افکت توقف (stop)را انتخاب می کنیم.

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26