سلیب در میان تمرینات تیمی خود برای آمادگی، از شلوغی برنامه روزانه خود و تعداد زیاد جلساتش خسته شده بود و داشت حسابی اذیت میشد. او اخیرا بسیاری از جلسات خود را فراموش میکرد. برای همین از تیم جدا شد و تصمیم گرفت به عنوان تمرین چهارم، با کمک شما ابزاری جهت تنظیم آسانتر جلسات خود بنویسد. او میخواهد ابزاری داشته باشد که با تعامل با آن بتواند اطلاعاتی از روز خود دریافت کند و یا جلسهای به روز خود اضافه کند. ابزار او باید پشتیبانی از ۵ حالت زیر را داشته باشد:
برای این کار از دستور زیر استفاده میکنیم:
پس از افزوده شدن جلسه مورد نظر، برنامه شما باید مقدار زیر را خروجی دهد:
برای مثال دستور زیر به معنای افزودن یک جلسه از ساعت ۱۰ صبح تا ساعت ۳ یا همان ۱۵ بعدازظهر است. توجه داشته باشید که ساعت راس ساعت ۱۵ جلسه تمام میشود و سلیب میتواند بدون تداخل، جلسهای دیگر را از ساعت ۱۵ شروع کند.
پس از افزوده شدن جلسه بالا، برنامه شما باید مقدار زیر را خروجی دهد:
فرض کنید میخواهیم بدانیم که آیا مثلا سلیب میتواند از ساعت ۵ تا ۱۰ جلسهای داشته باشد یا خیر. برای این کار از دستور زیر استفاده میکنیم:
در این حالت، برنامه شما با دو حالت مواجه میشود:
برای مثال فرض کنید به ترتیب، دستورات زیر را به برنامه شما ورودی بدهیم:
پس از افزوده شدن جلسه بالا، برنامه شما باید مقدار زیر را خروجی دهد:
فرض کنید جلسهای کنسل شده و یا کار فوری پیش آمده و ما میخواهیم از ساعت ۵ تا ۱۰ روز سلیب را آزاد کنیم. برای این کار از دستور زیر استفاده میکنیم:
پس از افزوده شدن جلسه مورد نظر، برنامه شما باید مقدار زیر را خروجی دهد:
برای مثال فرض کنید به ترتیب، دستورات زیر را به برنامه شما ورودی بدهیم:
پس از افزوده شدن جلسه بالا، برنامه شما باید مقدار زیر را خروجی دهد:
اگر دستوری به جز سه دستور بیانشده به برنامه شما ورودی داده شود، باید خروجی زیر را نمایش دهید:
برای مثال فرض کنید به ترتیب، دستورات زیر را به برنامه شما ورودی بدهیم:
پس از افزوده شدن جلسه بالا، برنامه شما باید مقدار زیر را خروجی دهد:
برای خروج از برنامه از دستور زیر استفاده میکنیم:
در این صورت باید پیش از بسته شدن برنامه، خروجی زیر را چاپ کنید:
و سپس برنامه را ببندید.
برای مثال اگر اسکریپت شما را مانند زیر اجرا کنیم:
باید خروجی زیر را دهد:
برای دریافت پروژه اولیه این لینک را دانلود کنید. درون لینک ساختار فایلی زیر را مشاهده میکنید:
راهحل خود را درون فایل checker.sh
پیادهسازی کنید. برای اطمینان نسبی از پاسختان میتوانید از تستهای نمونه مسئله استفاده کنید. اگر میخواهید درون سیستم خودتان از این تستها استفاده کنید، با ترمینال به دایرکتوری Busy_SAliB
بروید و سپس دستورات زیر را اجرا کنید:
و یا از طریق دکمه «اجرای تست نمونه» پاسختان را برای کوئرا ارسال کنید.
checker.sh
وارد نمایید.checker.sh
را آپلود کنید.