پاسخ : منابع المپیاد کامپیوتر
به نقل از Rich for ever :
آره فقط CPP.
آقا این چه سوالیه آخه ؟
مهم الگوریتم سواله. صرفا تو دوره یه طوری سوال میدن که نیاز به کد زدن خاضی نباشه و صرفا جنبه الگوریتمی داشته باشه و یه نفر با کمترین دستوراتی که بلده بتونه کد برنامه رو بزنه.
سوالا بیشتر جنبه الگوریتمی داره تا دستوری.
هر زبان برنامه نویسی چند تا پایه داره :
گرفتن ورودی و خروجی ( در حد هلو وورلد!)
استفاده از متغیر ها و شناختن متغیر های مختلف :
Integer, Long Long, Double برای اعداد.
و خب باید بدونید که اگه درست یادم باشه تو سی ++ برای استفاده کردن از math.h باید متغیر هاتون دابل باشه. در مورد متغیر های دابل مساوی به معنی واقعی وجود نداره.
String, Character برای کاراکتر ها و رشته ها.
تفاوت سترینک با کاراکتر به ساده ترین حالت موقع مقدار دهیش معلوم میشه.
کاراکتر یدونه از این کوت ها داره. '
سترینک دابل کوت هست "
استفاده از ارایه ها.
کمی پیشرفته تر که فکر نکنم به کارتون بیاد پوینتر ها هست که لازم نیست بدونید.
دونستن توابع عددی که تو ریاضی خوندید مثل لوگاریتم و استفادش شاید مفید باشه. و اگه جذر رو یادتون رفت به توان نیم رسوندن کارتون رو راه میندازه.
به طور کلی تر رادیکال با فرجه ی ایکس = عدد رو به توان یک ایکسم رسوندن!
( یاداوری می کنم که تابع توان - pow دو تا ورودی می گیره که باید هردوش دابل باشن
double pow (double number1, double number 2)
و خروجیش هم دابل هست.
دونستن فور لوپ و وایل پول. واقعن کسی نیاز به دو وایل نداره.
استفاده از جملات شرطی.
فقط ایف- ایف الس- الس همین دونستنش کفایت می کنه.
و خب بهتره به این شکل کار کنید
کد:
if (condition){
}
else if {}
else{}
همیشه اخر سر الس رو حتمن بذارید! اصلن مهم نیست به نظرتون بهش نیازی هست یا نه. خیلی از مواقع جلوی ارور دادن رو میگیره.
ببینید یه عدد یا ۲ هست! یا بزرگتر از ۲ هست یا نیست!!!
نوشتن تابع هم مفیده.
دونستن معنی تابع بازگشت پذیر!
مثلن برای نوشتن تولید سری فیبوناچی.
همین کفایت می کنه.