dogtag
31-05-2009, 18:23
سلام.
اول بگم که من دانشجو نیستم که از ترس استاد (استاد که چه عرض کنم؟!) بدم برنامه ام رو شما بنویسید.
و می دونم که شما هیچ وظیفه ای ندارید و تماماً لطفتون رو می رسونه.
می خوام فقط اگر کسی این رو نوشته یا بلده بنویسه، سورسش رو (اگر شد با کامنت گذاری های مفید) ارائه بده.
چون نسبتاً برنامه جون داری ه. (حتی اگر خیلی ساده باشه!)
اگر هم نمی نویسید حداقل ایده اش رو بدید.
ولی جون بچه تون از اون حرف های دانشگاهی نزنید که حالم بد میشه.
مثلاً نگید یه لیست پیوندی می خوای و یه صف و باید event-driven کار کنی! :2:
بیاید به این پشت کنکوری علاقه مند بگید که اینها چیه و چجوری باید اون رو نوشت.
برنامه اینه:
================================================== =
اهداف پروژه
شبیه سازی یک فرایند مبتنی بر رویداد (event-driven)
بکارگیری ساختمان داده های صف اولویت و لیست پیوندی
هدف این پروژه شبیه سازی یک فروشگاه به منظور انجام یک تمرین برنامه نویسی با صفها است. مسئله اصلی این است که مدیر یک فروشگاه قصد دارد متوسط زمان انتظار مشتریان در فروشگاه و تعداد بهینه فروشندگان را تعیین کند. این امر به او کمک می کند تا تدابیری در جهت رضایتمندی مشتریان بیاندیشد. هدف این است که مشتریان به مدت طولانی در صف منتظر نماند و به علاوه تعداد فروشندگان زیاد نباشد تا در هزینه های فروشگاه صرفه جویی شود. برای این شبیه سازی نیاز به دانستن اطلاعات زیر است:
• فروشگاه در ساعت 8 صبح باز می شود و در ساعت 4 بعدازظهر می بندد. اگر از ساعت 4 گذشته باشد اما هنوز مشتری در صف باشد به او سرویس می دهند تا کارش به پایان برسد اما درهای ورودی فروشگاه بسته می شود و اجازه ورود مشتری جدید داده نمی شود.
• فروشگاه دارای تعدادی فروشنده است. هر فروشنده دارای یک صف مجزا است. هنگامی که یک مشتری وارد می شود به کوتاهترین صف ملحق می شود. اگر چند صف دارای طول یکسان باشند سمت چپ ترین صف (صفی که به در نزدیکتر است) را انتخاب می کند.
• تعدادی از صفها صف سریع نامیده می شوند. این صفها برای مشتریانی است که 10 یا کمتر کالا خریده اند. به عبارت دیگر اگر مشتری 10 یا کمتر کالا خرید کرده باشد در یکی از صفهای سریع می ایستد.
ورودی مسئله
فروشگاه دارای مشتریانی است که در زمانهای مختلف وارد فروشگاه می شوند. به علاوه مدت زمان سرویس مشتریان متفاوت است. اطلاعات مشتریان در فایل customers.txt قرار دارد. در هر خط از فایل اطلاعات نام مشتری، زمان ورود، زمان سرویس، تعداد کالاهایی که خریده است آورده شده است. این اطلاعات با یک فاصله از هم جدا شده اند.
خروجی برنامه
1- متوسط زمان انتظار مشتریان را برای حالات زیر مقایسه کنید.
• حالتی که تنها 5 صف معمولی تعریف شود (بدون در نظر گرفتن صفهای سریع).
• حالتی که 3 صف معمولی و 2 صف سریع تعریف شود.
2- متوسط زمان انتظار مشتریان برای 1، 5 و 10 فروشنده را مقایسه کنید. صفها معمولی در نظر گرفته می شوند.
نکته: زمان انتظار مشتری عبارت است از مدت زمان بین ورود مشتری به فروشگاه تا زمانی که نوبت او برای پرداخت می شود.
شبیه سازی مبتنی بر رویداد
در این روش شبیه سازی از صف اولویت برای پردازش رویدادها به ترتیب زمان وقوع آنها استفاده می شود. هرگاه رویدادی رخ دهد در صف اولویت درج می شود. هر رویداد بر حسب زمان وقوع خود در صف قرار می گیرد. رویداد نزدیکتر در ابتدای صف است. برای پیاده سازی صف اولویت از لیست پیوندی مرتب استفاده شود.
در هر مرحله از شبیه سازی، رویداد بعدی (رویداد نزدیکتر از لحاظ زمانی) انتخاب و پردازش می شود. تا زمانی که صف خالی شود. در این پروژه تعدادی از رویدادهای ممکن عبارتند از ورود، سرویس (تخصیص یک فروشنده به مشتری) و خروج یک مشتری.
مراحل کار به صورت زیر است: ابتدا رویدادهای ورود مشتریان در صف اولویت درج می شود. هرگاه رویداد جدیدی رخ دهد در محل مناسب از صف قرار می گیرد. هر فروشنده به نفر جلوی صف سرویس می دهد. هرگاه کار یک مشتری به پایان رسید صف را ترک می کند. این کار تا اتمام کار کلیه مشتریان ادامه می یابد.
================================================== =
پیشاپیش ممنون :11:
اول بگم که من دانشجو نیستم که از ترس استاد (استاد که چه عرض کنم؟!) بدم برنامه ام رو شما بنویسید.
و می دونم که شما هیچ وظیفه ای ندارید و تماماً لطفتون رو می رسونه.
می خوام فقط اگر کسی این رو نوشته یا بلده بنویسه، سورسش رو (اگر شد با کامنت گذاری های مفید) ارائه بده.
چون نسبتاً برنامه جون داری ه. (حتی اگر خیلی ساده باشه!)
اگر هم نمی نویسید حداقل ایده اش رو بدید.
ولی جون بچه تون از اون حرف های دانشگاهی نزنید که حالم بد میشه.
مثلاً نگید یه لیست پیوندی می خوای و یه صف و باید event-driven کار کنی! :2:
بیاید به این پشت کنکوری علاقه مند بگید که اینها چیه و چجوری باید اون رو نوشت.
برنامه اینه:
================================================== =
اهداف پروژه
شبیه سازی یک فرایند مبتنی بر رویداد (event-driven)
بکارگیری ساختمان داده های صف اولویت و لیست پیوندی
هدف این پروژه شبیه سازی یک فروشگاه به منظور انجام یک تمرین برنامه نویسی با صفها است. مسئله اصلی این است که مدیر یک فروشگاه قصد دارد متوسط زمان انتظار مشتریان در فروشگاه و تعداد بهینه فروشندگان را تعیین کند. این امر به او کمک می کند تا تدابیری در جهت رضایتمندی مشتریان بیاندیشد. هدف این است که مشتریان به مدت طولانی در صف منتظر نماند و به علاوه تعداد فروشندگان زیاد نباشد تا در هزینه های فروشگاه صرفه جویی شود. برای این شبیه سازی نیاز به دانستن اطلاعات زیر است:
• فروشگاه در ساعت 8 صبح باز می شود و در ساعت 4 بعدازظهر می بندد. اگر از ساعت 4 گذشته باشد اما هنوز مشتری در صف باشد به او سرویس می دهند تا کارش به پایان برسد اما درهای ورودی فروشگاه بسته می شود و اجازه ورود مشتری جدید داده نمی شود.
• فروشگاه دارای تعدادی فروشنده است. هر فروشنده دارای یک صف مجزا است. هنگامی که یک مشتری وارد می شود به کوتاهترین صف ملحق می شود. اگر چند صف دارای طول یکسان باشند سمت چپ ترین صف (صفی که به در نزدیکتر است) را انتخاب می کند.
• تعدادی از صفها صف سریع نامیده می شوند. این صفها برای مشتریانی است که 10 یا کمتر کالا خریده اند. به عبارت دیگر اگر مشتری 10 یا کمتر کالا خرید کرده باشد در یکی از صفهای سریع می ایستد.
ورودی مسئله
فروشگاه دارای مشتریانی است که در زمانهای مختلف وارد فروشگاه می شوند. به علاوه مدت زمان سرویس مشتریان متفاوت است. اطلاعات مشتریان در فایل customers.txt قرار دارد. در هر خط از فایل اطلاعات نام مشتری، زمان ورود، زمان سرویس، تعداد کالاهایی که خریده است آورده شده است. این اطلاعات با یک فاصله از هم جدا شده اند.
خروجی برنامه
1- متوسط زمان انتظار مشتریان را برای حالات زیر مقایسه کنید.
• حالتی که تنها 5 صف معمولی تعریف شود (بدون در نظر گرفتن صفهای سریع).
• حالتی که 3 صف معمولی و 2 صف سریع تعریف شود.
2- متوسط زمان انتظار مشتریان برای 1، 5 و 10 فروشنده را مقایسه کنید. صفها معمولی در نظر گرفته می شوند.
نکته: زمان انتظار مشتری عبارت است از مدت زمان بین ورود مشتری به فروشگاه تا زمانی که نوبت او برای پرداخت می شود.
شبیه سازی مبتنی بر رویداد
در این روش شبیه سازی از صف اولویت برای پردازش رویدادها به ترتیب زمان وقوع آنها استفاده می شود. هرگاه رویدادی رخ دهد در صف اولویت درج می شود. هر رویداد بر حسب زمان وقوع خود در صف قرار می گیرد. رویداد نزدیکتر در ابتدای صف است. برای پیاده سازی صف اولویت از لیست پیوندی مرتب استفاده شود.
در هر مرحله از شبیه سازی، رویداد بعدی (رویداد نزدیکتر از لحاظ زمانی) انتخاب و پردازش می شود. تا زمانی که صف خالی شود. در این پروژه تعدادی از رویدادهای ممکن عبارتند از ورود، سرویس (تخصیص یک فروشنده به مشتری) و خروج یک مشتری.
مراحل کار به صورت زیر است: ابتدا رویدادهای ورود مشتریان در صف اولویت درج می شود. هرگاه رویداد جدیدی رخ دهد در محل مناسب از صف قرار می گیرد. هر فروشنده به نفر جلوی صف سرویس می دهد. هرگاه کار یک مشتری به پایان رسید صف را ترک می کند. این کار تا اتمام کار کلیه مشتریان ادامه می یابد.
================================================== =
پیشاپیش ممنون :11: