پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

فايل‌هاي شاخص‌دار

چهارده سال پیش منتشر شده

تعداد بازدید: 7799

کد پروژه: 2326


شرح پروژه

براي سرعت بخشيدن به عمليات بازيابي اطلاعات از مجموعه فايل‌ها، يکي از ساختارهاي ارائه شده 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 باشد يا اينکه براي نام و نام خانوادگي نيز ساختاري جداگانه در نظر بگيريد. (در نظر داشته باشيد که در صورت ايجاد ساختار روي نام و نام خانوادگي که منجر به کاهش قابل توجه زمان بازيابي عمليات گردد، نمره بيشتر تعلق مي‌گيرد، همچنين در صورت تمايل براي ايجاد ساختار روي نام و نام خانوادگي به اين مسئله توجه کنيد که ممکن است نام و نام خانوادگي تعدادي دانشجو يکسان باشد لذا بايد ساختار (ايجاد شده براي نام و نام خانوادگي) را خوشه‌اي در نظر بگيريد). شکل ساختار مورد نظر:


زیرساخت:
ويژوال بيسيک.نت


قابل تحویل:

این پروژه شامل 2 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.

مهارت ها و تخصص های مورد نیاز


بودجه

5,000 تومان تا 100,000 تومان

مهلت برای انجام

10روز

وضعیت مناقصه

انجام شده


درباره کارفرما

عضویت چهارده سال پیش

1 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 100%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار