سلام دوست من 😃👋
به آزمون ورودی دورۀ کارآموزی تابستانۀ Software Engineering کُداِستار خوش اومدی!
هدفِ این آزمون، سنجش شیوۀ برنامهنویسیت تو موضوعاتی مثل الگوریتم و شیگراییه.
ترتیب سوالا از آسون به سخته و بعد از مسابقه، نحوۀ برنامهنویسی و امتیازی که کسب کردی بررسی میشه و امیدواریم به مرحلۀ بعدی که مصاحبۀ اسکایپی هست، دعوت بشی!
برای آشنایی با مسابقه و فرستادن جواب، پیشنهاد میکنیم این لینکها رو مطالعه کنی!
در طول مسابقه هر سوالی برات پیش اومد میتونی از قسمت "سوال بپرسید" مطرح کنی.
همچنین برای دسترسی به آخرین اخبار و اطلاعیهها (روال مصاحبه و دورههای بعدی) حتماً یه سر به کانال تلگرام @code_star بزن.
ما به عنوان تیم آکادمی ستاره برات از صمیم قلب آرزوی موفقیت داریم و امیدواریم بتونیم تو کارآموزی ببینیمت 😉❤️
رضا که بهتازگی بهعنوان حسابدار، در یک قنادی شروع بهکار کردهاست؛او متوجه شدهاست بسیاری از محاسباتی که انجام میدهد تکراری بوده و زمان زیادی از او میگیرد. به همین دلیل دنبال ماشینحسابی است که علاوه بر اعمال اصلی، بتواند از دستور های پیشرفته پشتیبانی کند و امکان شخصیسازی داشتهباشد.
اعمال اصلی که این ماشینحساب آنها را پشتیبانی میکند شامل
جمع (+
)، تفریق (-
)، ضرب (*
)، تقسیم (/
)، توان (^
) میباشد. اولویت این اعمال مشابه اولویت آنها در ریاضی است.(به ترتیب پرانتز ، توان ، ضرب و تقسیم از چپ به راست ، جمع و تفریق از چپ به راست)
در این سوال قصد داریم ماشینحساب موردنیاز رضا را پیادهسازی کنیم.
دستوراتی که توسط رضا به شما داده میشوند به صورت زیر هستند:
operand1
و operand2
ترکیبی از حداکثر ۵۰ حرف کوچک و بزرگ انگلیسی است.operator
ترکیبی از حداکثر ۵۰ حرف کوچک و بزرگ انگلیسی و ارقام است و تضمین میشود کاراکتر اول حرف است.operand1
،operator
و operand2
همگی متمایز باشند.operator
یکسان نمیباشند.definition
وارد میشود؛ یک عبارت جبری است که متغیر های آن operand1
و operand2
میباشد. جزئیات مربوط به definition
در قسمت امتیازدهی توضیح داده شدهاست.نمونه ای از این دستورات را به صورت زیر هستند:
این دستورات تعریفشده هنگام استفاده از ماشینحساب به صورت زیر استفاده میشوند:
که بهصورت محاسبهشده و خروجی زیر را میدهد.
و برای دستور square
داریم:
که بهصورت محاسبهشده و خروجی زیر را میدهد.
دقت کنید این ماشینحساب از بقیه ماشینحسابها مستثنی نیست و از پرانتزگذاری پشتیبانی میکند و شما باید بیشترین اولویت محاسباتی را به پرانتز اختصاص دهید.
با آمدن این دستور، در خط بعد از آن دستوری که مدیر قنادی میخواهد به ماشین حسابش اضافه کند میآید. (مانند شبه دستورات بالا که آورده شده است.)
با آمدن این دستور، در خط بعد از این دستور شما باید عبارتی که برای محاسبه در خط بعد از این میآید را حساب کنید و جواب را در خروجی چاپ کنید.
با آمدن این دستور نیز برنامه به پایان میرسد.
در این قسمت، ماشینحساب از دستورات شخصیسازی شده پشتیبانی نمیکند و همانند ماشینحساب ساده فقط عبارتهای جبری شامل اعمال اصلی را محاسبه میکند.
Add Command
دستوری تعریف شود؛ اما تضمین میشود در قسمت Calculate
فقط از اعمال اصلی استفاده میشود. definition
فقط شامل اعمال اصلی میباشد.تضمین میشود همه اعداد صحیح هستند.
تضمین میشود در تقسیمها اعداد بخشپذیر هستند و هیچگاه تقسیم بر صفر انجام نمیشود.
تضمین میشود مقدار خروجی به صورت است.