لینکهای مفید برای شرکت در مسابقه:
در زمان مسابقه میتوانید سوالهای خود را از قسمت "سوال بپرسید" مطرح کنید.
بعد از مسابقه در ساعت ۱۹:۰۰ امروز وبیناری برای حل بخشی از سوالات مسابقه و پاسخگویی به سوالات شما تدارک دیدهایم که میتوانید از طریق این لینک شرکت نمایید. دقت کنید که در هنگام ورود باید گزینه مهمان را انتخاب نمایید.
پدرام مدیر وبسایت آموزشی کاپآموز است. او در این روزهای کرونایی تصمیم گرفته است که یک نظرسنجی بین کاربران سایتش برگزار کند تا بداند کدام دورهها موردعلاقهی کاربران بودهاند. پدرام استراتژی خاصی را برای این نظرسنجی در نظر گرفته است. چنین نظرسنجیهایی معمولاً به اینصورت برگزار میشوند که هر کاربر دوره یا دورههای موردعلاقهی خود را از میان تمامی دورهها انتخاب میکند. از آنجایی که اکثر کاربران کاپآموز تمامی دورهها را گذراندهاند(!)، او از کاربران میخواهد یک رتبهبندی بین دورهها انجام دهند.
روند برگزاری نظرسنجی به اینصورت است که کاربر در هر مرحله با یک پرسش دوگزینهای مواجه میشود و باید از بین دو دوره، دورهای که علاقهی بیشتری به آن دارد را انتخاب کند. در انتها، رتبهبندی دورهها نمایش داده میشود.
پروژهی اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه بهصورت زیر است:
صفحهای که کاربر با آن تعامل دارد، index.php
است. محتوای این صفحه بر حسب وضعیت فعلی باید تغییر کند.
فایل items.txt
شامل نام دورهها است. در هر خط، نام یک دوره نوشته شده است. تضمین میشود که تا زمان نمایش نتایج، محتوای این فایل تغییر نمیکند.
این صفحه باید بهصورت زیر باشد (به ID المانها و محتوای آنها توجه کنید):
اگر کاربر گزینهی اول را انتخاب کند، فیلد choice
با مقدار 1
با متد POST به index.php
ارسال میشود. در غیر اینصورت، فیلد choice
با مقدار 2
ارسال میشود.
گزینههایی که کاربر انتخاب میکند را به شکل دلخواه در session ذخیره کنید.
نتیجه بهصورت زیر خواهد بود:
این صفحه باید بهصورت زیر باشد (به ID المانها و محتوای آنها توجه کنید):
نتیجه بهصورت زیر خواهد بود:
فرایند رتبهبندی را با استفاده از الگوریتمی نظیر merge sort انجام دهید تا با استفاده از کمترین مقایسهی ممکن بتوان رتبهبندی را انجام داد.
پس از نمایش نتیجهی رتبهبندی، با ارسال مجدد درخواست به index.php
، کاربر همچنان باید با صفحهی نتایج روبهرو شود.
در پروژهی اولیه، محتویات فایل items.txt
بهصورت زیر است:
مقادیر فوق، همان مقادیری هستند که کاربر باید مقایسه را بین آنها انجام دهد.
نمونهای از فرایند مقایسه را در زیر میبینید:
PHPSESSID
در نظر گرفته میشود).فایل index.php
را آپلود کنید. اگر فایلهای دیگری نیز در کنار index.php
به پروژه اضافه کردهاید، همهی فایلها را Zip کرده و ارسال کنید.