راهنمای سامانه چالش

ورود به سامانه چالش

چالش سامانه ای است برای ارائه تمرین ها و شرکت در مسابقات تا مهارت برنامه نویسی خود را بسنجید و در رقابت با دیگران آن را افزایش دهید.

توجه: لطفا از مرورگر Internet Explorer برای شرکت در چالش استفاده نکنید.

1. برای حضور در این مسیر اولین گام ایجاد حساب کاربری در سایت است. در صورتی که در گذشته عضو خانواده FirstStep شده اید کافی است با وارد کردن آدرس پست الکترونیک و کلمه عبور خود وارد حساب کاربری خود شوید.

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

 

2. پس از ورود به سامانه چالش از نوار ابزار بالا وارد قسمت مسابقات شوید.

 

3. در مرحله بعد لازم است در یک چالش که در حال برگزاری است ثبت نام کنید.

 

و سپس در صورتی که کد ثبت نام دارید در قسمت مربوطه وارد کنید و یا بر روی لینک ثبت نام در این مسابقه کلیک کنید.

 

 

4. حال شما در چالش مورد نظر خود ثبت نام کرده اید و لازم است آن را به عنوان چالش فعال برای خود در بیاورید. برای اینکار بر روی مربع سبز رنگ در انتهای ردیف کلیک کنید. به این ترتیب اطلاعات چالش و زمان باقیمانده در منوی سمت راست نمایش داده میشود.

 

5. برای دیدن سوالات بر روی آیکون سوالات در نوار ابزار بالا کلیک کنید. در این صفحه لیست سوالات برای شما نمایان خواهد شد و میتوانید با کلیک بر روی عنوان سوال متن کامل سوال را مشاهده کنید.

 

مهدکودک
محدودیت زمانی : 2 ثانیه
محدودیت حافظه : 64 مگابایت
کد سوال: 1q1
توضیح سوال

قراراست در یک مهدکودک مسابقه ای بین بچه ها برگزار شود. مربی مهد از بچه ها می ‎خواهد که پای کامپیوتر بنشینند و سه عدد را روی کیبورد انتخاب کرده و با توجه به مقادیری که وارد می شود یک دایره رسم کنند. برنده مسابقه کسی است که موفق به رسم دایره شود. بهتر است بدانید که دربین کلیدهای وارد شده تمامی کلیدهای اعداد فعال می باشد اما کلید (-) را فراموش کرده اند غیرفعال کنند. درحقیقت برنامه ای که از قبل برای این کامپیوتر نوشته شده برای وارد شدن مقدارمنفی حالتی را درنظرنگرفته است و بنابراین بعضی وقتها با توجه به عددی که کودکان وارد می کنند مقدارمنفی می شود و دایره ای درصفحه رسم نمی شود. مربی مهد که به این مشکل پی برده ازشما می خواهد که تا زمان غیرفعال کردن کلید(-) برنامه را طوری بازنویسی کنید که بچه ها بتوانند از این کامپیوتراستفاده کنند.

ارائه شده در : FirstStep
ورودی

اگرکودکی 100 100 20- را وارد کرد

خروجی

برنامه شما مقدارآن را به 100 100 20 تبدیل نماید.

ورودی نمونه 1
-100 200 400
خروجی نمونه 1
100 200 400
ورودی نمونه 2
-300 200 -50
خروجی نمونه 2
300 200 50
ورودی نمونه 3
100 -500 -200
خروجی نمونه 3
100 500 200
ورودی نمونه 4
-400 -200 -100
خروجی نمونه 4
400 200 100
منبع سوال : CTALK
ارائه شده در : FirstStep

 

6. حال در کامپیوتر خود کد برنامه را نوشته واز نوار ابزار بالا به قسمت ارسال پاسخ بروید. مساله مورد نظر خود را انتخاب کرده و سپس زبانی را که کد خود را با آن نوشته اید انتخاب کنید. سپس فایل پاسخ خود را انتخاب کرده و دکمه ارسال را بزنید.

 

7. پس از ثبت سوال به قسمت همه پاسخ ها بروید و نتیجه تصحیح کد خود را مشاهده کنید. همچنین میتوانید در قسمت رتبه بندی، رتبه خود را مشاهده کرده و عملکرد خود را نسبت به دیگران بسنجید.

در کدنویسی دقت داشته باشید که خروجی برنامه شما باید دقیقا مطابق با درخواست سوال باشد. در صورتی که در توضیحی ورودی سوال گفته باشد باید سه عدد صحیح بگیرید، در برنامه باید این عمل را بدون درج هیچ توضیحی قبل از آن انجام دهید. همچین خروجی کد نیز باید دقیقا مطابق با توضیح سوال باشد. در مثال فوق باید در خروجی صرفا سه عدد که با space از هم جدا شده اند را درج کنید.

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

  • Pending: این حالت به این معنی است که پاسخ شما در انتظار برای بررسی است. کمی بعد در صورتی که صفحه را مجدد بارگزاری کنید، نتیجه را خواهید دید.
  • Compilation Error: این خطا به این معنی است که برنامه شما قابل اجرا نبوده است. ممکن است دستوری در برنامه را به صورت صحیح ننوشته باشید و یا از توابع غیر استاندارد و کتابخانه های غیر استاندارد مانند conio.h و یا graphics.h و یا از دستورهایی مانند getch()‎ استفاده کرده باشید. لازم است این قسمت ها را بررسی و در صورت لزوم حذف کرده و پاسخ را مجدد ارسال کنید.
  • وضعیت سبز رنگ: در این صورت شما نمره کامل سوال را گرفته اید!
  • وضعیت قرمز رنگ: در این حالت شما نمره کامل از سوال را نگرفته اید. در صورتی که این نمره صفر باشد به این معنی است که برنامه شما به ازای هیچ ورودی ای جواب صحیح ندارد. در صورتی که عدد بیشتر از صفر است یعنی برنامه شما به همه تست ها جواب صحیح نداده است. در این حالت الگوریتم برنامه خود را مجدد بررسی و تصحیح کنید و پاسخ را بعد از تصحیح ارسال کنید. (همچنین حتما پیش از ارسال ورودی و خروجی های نمونه را برای برنامه خود بررسی کنید.)

 

نکات ویژه برنامه نویسان Python‎:

در پایتون جهت این که ورودی های موجود در یک خط که با یک فاصله از هم جدا شده اند را در یک آرایه بدست آوریم از کد زیر استفاده می کنیم:

vorudis = raw_input().split()

اگر ورودی ها در خط های متوالی قرار دارند و از تعداد خطوط اطلاع نداریم و باید انقدر ورودی بخوانیم تا به انتهای فایل برسیم از تکه کد زیر استفاده کنید که تمام ورودی را در یک آرایه که هر خانه آن دارای محتوای یک خط از ورودی است به شما می دهد.

vorudis = []
while True:
 try:
  value = raw_input()
  vorudis.append(value)
 except (EOFError):
  break

برای مثال راه حل سوال بالا در پایتون این گونه است:

vorudis = raw_input().split()
for i in range(len(vorudis)):
 if int(vorudis[i]) < 0:
  vorudis[i] = int(vorudis[i]) * (-1)

print str(vorudis[0]) + " " + str(vorudis[1]) + " " + str(vorudis[2])

 

نکات ویژه برنامه نویسان C++‎:

پیشنهاد میشود برای کدنویسی از کامپایلرهای ارائه شده در اینجا استفاده کنید. (کامپایلر CodeBlocks نسخه Ctalk برای کدنویسی اولویت دارد.)

در کدنویسی صرفا از کتابخانه های استاندارد استفاده کنید. توجه کنید استفاده از کتابخانه هایی مانند conio.h و graphics.h غیر مجاز است.

توجه: به هیچ عنوان از دستور getch()‎ در انتهای برنامه استفاده نکنید. همچنین نیازی به نمایش هیچ توضیحی قبل از ورودی و قبل از خروجی نیست و صرفا نمایش خروجی متناسب با سوال کافی است.

به این ترتیب نباید قبل از ورودی برنامه عبارتهایی مانند cout<<"Enter a number:";‎ استفاده کنید. همچنین نباید قبل از خروجی هم توضیحی درج کنید.

با توجه به توضیحات فوق برنامه صحیح در پاسخ به سوال فوق به صورت زیر است:

صرفا باید فایل با پسوند cpp را برای ثبت مطابق زیر انتخاب کنید. این فایل میتوانید در پوشه ای که پروژه ی خود را ذخیره کرده بیابید.

ورود به سامانه چالش