از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
چهارده سال پیش منتشر شده
تعداد بازدید: 4288
کد پروژه: 3244
شرح پروژه
دقيقا پروژه اي که قبلا تحت عنوان فايل هاي شاخص دار با کد 2326 http://www.freelancer.ir/project2326.html انجام شده توضيحات: براي سرعت بخشيدن به عمليات بازيابي اطلاعات از مجموعه فايلها، يکي از ساختارهاي ارائه شده Indexed File (فايلهاي شاخصدار) ميباشد. در اين پروژه فايلي (نامرتب) به عنوان ورودي به برنامه داده خواهد شد که بر روي آن عمليات جستجو، درج و حذف بايد انجام پذيرد. در نظر داشته باشيد که محيط عملياتي، جامعه دانشجويان کشور است. جزئيات مربوط به طراحي: ساختار ثابت مکاني رکوردها با صفات زير طراحي ميشود: سال ورود دانشگاه شماره دانشجويي نام و نام خانوادگي نام و نام خانوادگي: نام نام خانوادگي حداکثر نيازمند 20 بايت (به عبارتي 20 کاراکتر) است و در صورتيکه حجم داده موجود در آن کمتر از فضاي دادهاي در نظر گرفته شود، انتهاي داده معتبر با علامت – (dash)مشخص ميشود. - D R A M N A V A J N A M A S همانطور که مشاهده ميکنيد بعد از اتمام نام خانوادگي علامت - گذاشته شده است. شماره دانشجويي: از شماره 107 تا (1-108) خواهد بود. (8 کاراکتر) دانشگاه: تعداد دانشگاههاي محيط عملياتي محدود و کمتر از 50 مورد است. (نام دانشگاه در فايل ورودي به شکل دنباله اي از کاراکترها بيان ميشود) سال ورود: در بازه 57 تا 89 قرار دارد. براي سادگي پروژه شماره دانشجويي هم بعنوان شاخص و هم بعنوان کليد اوليه انتخاب شود. ضمنا در نظر داشته باشيد که حداکثر ميزان استفاده از حافظه اصلي براي انجام اين پروژه (مرتبسازي، واکشي رکوردها، پيادهسازي heap در صورت نياز براي مرتب سازي و ذخيره برخي از شاخصها در حافظه) حداکثر 4 بافر 4KB ميباشد. حافظههاي لازم براي اجراي برنامه، GUI و ... محدوديتي ندارد و جزو اين 16KB محسوب نميگردد. بعبارت ديگر در هر بار خواندن از فايل بيش از 16KB نميتوانيد از فايل بخوانيد (به طور مثال براي خواندن کامل يک فايل حدود 8MB بايد 512 بار از فايل خوانده شود). شاخص سطح x قابل ذخيره در حافظه است. بعبارت ديگر عمل شاخصسازي را تا جايي ادامه ميدهيد که در نهايت شاخص سطح x فقط يک بلاک باشد. فايل ورودي، داراي ساختار پايل است که رکوردها در آن داراي فرمت زير هستند: Mahdi- 10269813-Beheshti-86 اين فايل پايل، pure text (هر کاراکتر يک بايت) است و در هر سطر يک رکورد قرار دارد (بعبارت ديگر در حد فاصل هر 2 رکورد ↵ قرار گرفته). اعداد نيز به صورت text ذخيره شده است (بعبارت ديگر شماره دانشجويي در 8 بايت ذخيره گرديده است). براي تست پروژه نوشته شده يک نمونه فايل با تعداد کمي رکورد (از طريق Email) از TAدريافت کنيد. برنامه شما ميبايست پس از مرتب نمودن رکوردها، روي فايل جديد مرتب شده با استفاده از فيلد شاخص (شماره دانشجويي) ساختار ايجاد کرده، ساختار را (indexed files) در جايي ذخيره کند. سپس بنا به درخواست کاربر (که در ادامه جزئيات آن ذکر شده است) و با استفاده از ساختار ايجاد شده عمليات مورد نظر را انجام دهد. مرتبسازي با توجه به محدوديت استفاده از حافظه اصلي بايد مرتبسازي خارجي باشد (که يکي از الگوريتمهاي مناسب براي مرتبسازي استفاده از replacement selection و سپس p-way merge تکه فايلهاي مرتب شده است). در طي مرتب سازي رکوردها اجازه داريد ساختار فيلد يا فيلدهايي را تغيير داده و آن را از حالت pure text خارج نماييد. بعبارت ديگر فايل پس از مرتب سازي شما ممکن است داراي ساختار ديگري باشد. پروژه شما بايد داراي قابليتهاي زير باشد: - درج به صورت تک رکورد و همچنين درج دستهاي (به کمک فايل ورودي از دادهها براي درج). - حذف تک رکورد با استفاده از \"نام و نام خانوادگي\" يا \"شماره دانشجويي\" و اگر رکورد با مشخصات مذکور وجود نداشت عبارت not found ذکر شود. - جستجوي تک رکورد با استفاده از \"نام و نام خانوادگي\" يا \"شماره دانشجويي\": بعد از عمل جستجو اطلاعات رکورد مورد نظر در قالب يک message-box معين گردد و اگر رکورد با مشخصات مذکور وجود نداشت عبارت not found ذکر شود. و جستجوي دستهاي (به کمک فايل ورودي از دادهها براي جستجو) که بايد در نهايت فايلي بعنوان result برگرداند که در هر سطر متناظر با توجه به اينکه داده مورد جستجو وجود داشت اطلاعاتش را درج کند و در صورتيکه داده در فايل وجود نداشت not foundبرگردانده شود. - بروزرساني تک رکورد: در رکوردي با \"شماره دانشجويي\" مشخص شده اطلاعات يک يا چند فيلد عوض شود. واضح است در صورتيکه ذخيره و بازيابي (حذف و يا جستجو) بر اساس نام و نام خانوادگي باشد بايد برخورد با فايل به صورت pile file باشد يا اينکه براي نام و نام خانوادگي نيز ساختاري جداگانه در نظر بگيريد. (در نظر داشته باشيد که در صورت ايجاد ساختار روي نام و نام خانوادگي که منجر به کاهش قابل توجه زمان بازيابي عمليات گردد، نمره بيشتر تعلق ميگيرد، همچنين در صورت تمايل براي ايجاد ساختار روي نام و نام خانوادگي به اين مسئله توجه کنيد که ممکن است نام و نام خانوادگي تعدادي دانشجو يکسان باشد لذا بايد ساختار (ايجاد شده براي نام و نام خانوادگي) را خوشهاي در نظر بگيريد). شکل ساختار مورد نظر: زيرساخت پروژه: ويژوال بيسيک.نت فايل اضافه: اين پروژه شامل يک فايل مهم مي باشد، لطفا قبل از ارسال پيشنهاد خود آن را دانلود و به صورت کامل مطالعه/برسي نماييد 139KB قابل تحويل: - فولدر solution بهمراه تمامي محتويات را zip نموده و در موعد مقرر به استاد تحويل دهيد. - ملاک ارزيابي بيشترين performance با صرف کمترين فضا خواهد بود. - دانشجويان موظند به همراه پروژه (کد و فايل اجرايي)، يک فايل متني ضميمه نمايند که در آنها اطلاعات زير قرار دارد: 1) قابليتهاي پروژه: قابليتهايي که در اين فايل قيد نشده باشند تست نگرديده و امتيازي به شخص تعلق نميگيرد. 2) تغييرات ساختاري: در صورتيکه هرگونه تغييري به منظور افزايش کارايي سيستم در ساختار اعمال نموده شرح داده شده، جزئيات ذکر شود. به طور مثال ممکن است براي جستجوي دستهاي وقتي اندازه فايل ورودي براي جستجو بزرگ باشد در ابتدا اين فايل را مرتب کرده سپس جستجو را انجام دهيد (در اينگونه موارد بايد تغييرات ذکر شود). 3) نحوه اعمال ورودي به برنامه، خروجي گرفتن از برنامه، GUI برنامه بايد ذکر شود.
مهارت ها و تخصص های مورد نیاز
بودجه
5,000 تومان تا 100,000 تومان
مهلت برای انجام
4روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت چهارده سال پیش
قادر به انجام این پروژه هستید؟
مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار