صفحه ۲۶
آموزش برنامه نویسی: Set
خوش بگذره
۱۳۸۹/۱۲/۱۲ · ۰۸:۳۵
آموزش برنامه نویسی: کار با فایل
۱۳۸۹/۱۲/۰۶ · ۰۶:۴۰
آموزش برنامهنویسی: string
قسمت چهارم،رشته!
به هیچوجه فقط به خوندن از روی مطلب اکتفا نکنید. خیلی جاها ریزهکاریهایی وجود داره که واقعاً نمیشه همه رو گفت، برای همین حتماً خودتون هم یه مقدار براش وقت بذارید.
در ضمن، سؤال چهارم روز دوم تویمرحله ۳ پارسالمیتونه سؤال خیلی خوبی برای یه تمرین واقعی باشه.
موفقتر باشید
۱۳۸۹/۱۱/۲۹ · ۰۶:۵۹
آموزش برنامهنویسی: vector
سومین مطلب آموزش برنامهنویسی در موردvectorهستش.
چند وقت پیش محمد به یه مطلبی اشاره کرد، که به نظرم درست اومد. اون هم اینه که در حالی که دارید با قابلیتهای STL آشنا میشید و میبینید که چقدر کارهاتون رو راحت میکنه، دقت کنید که حتماً با این که هر کاری رو چطوری انجام میده آشنا باشید.
در این مورد، خیلی خوبه که با الگوریتمهایی که برای نوشتن دادهساختارها و توابع استفاده شده آشنا باشید. در ضمن، یادتون نره که STL معجزه نیست و هیچوقت قوانین زبانC++رو زیر پا نمیذاره.
برای همین، تمرین ۲ این سری بیشتر حالت تحقیقی داره.
فعلاً وکتوری باشید!
۱۳۸۹/۱۱/۲۲ · ۰۳:۵۷
آمادگی برای مرحله دوم المپیاد کامپیوتر
خب مرحله ۱ هم تموم شد و احتمالا دیگه همتون سرگرم مرحله ۲ خوندن و برنامه نویسی کردن هستید (اگه نیستید بجنبید، داره دیر میشهها!)
کمیته دیشب یهپستگذاشت تو سایتش که توش سرفصلهای مطالب مرحله دوم المپیاد کامپیوتر و یه سری منابع خوب رو معرفی کرده، حتما ببینیدش!
در ضمن، شما باید یه برنامه ریزی خوب واسه این ۲ ماه و خوردهای باقی مونده انجام بدید، برنامه ریزیتون باید خصوصیات زیر رو حتما داشته باشه:
۱. از تفریحات عیدتون کم نزارید! ;)
۲. تئوریتون رو (اعم از ترکیبیات و گراف و الگوریتم[که به نظرم به همین ترتیب ۱.ترکیبیات ۲.گراف ۳.الگوریتم باید خونده بشه]) قوی کنید.
۳. طی این مدت، حداقل به چشم تفریح، برنامه نویسی هم کار کنید، سعی کنید یه کم با ++C آشنا بشید، پستای آموزش برنامه نویسی خودمون رو بخونید و اگه تمرینی توش بود انجام بدید، تو سایتایی که تو قسمت پیوندها معرفی کردیم کد بزنید و ... (البته فعلا تا مرحله ۲ اولویتتون تئوری باشه و به برنامه نویسی به چشم fun نگاه کنید! (ولی حتما نگاه کنید!) بعد مرحله ۲ قضیه برنامه نویسی کردن، جدیتر خواهد شد.)
۴. دو یا سه هفتهی قبل مرحله ۲ باید مرحله ۲های سالای پیش رو از خودتون امتحان بگیرید (غیر از اولیها که باید اینکارو سال دیگه انجام بدن). پس اون ۲~۳ هفته رو باید خالی بزارید.
خب، من میخواستم یه کم بیشتر و با جزئیات بیشتر راجع به کارایی که باید تو این مدت انجام بدید توضیح بدم، ولی دیدم علیرضا پارسال شبیه همین حرفایی که من میخوام بزنم رو زده، پس بریدپست پارسال علیرضارو بخونید.
راستی، نتایج نظر سنجی راجع به نمرات مرحله ۱تون هم اینه: (البته تا دیشب این بود!)
سعی کنید موفق باشید!
۱۳۸۹/۱۱/۱۸ · ۰۷:۴۴
برنامهنویسی: Pair
۱۳۸۹/۱۱/۱۵ · ۰۶:۰۳
برنامهنویسی: Algorithm
قبل از شروع چند تا نکته:
1- الان که مرحله یک دادید، واحتمالاخیلی هنوز مشتاق شروع کردن درسهای تئوری برای مرحله دو نیستید، پیشنهاد میدم که روی برنامهنویسی کار کنید. ( این پیشنهاد بیشترتر به سومیها و بیشتر به دومیها هستش. اولها شاید یک کم براشون زود باشه. )
2- فرض رو بر این گذاشتیم که شما در حد ... , if , for , while و تابع، برنامهنویسی رو بلد باشید. اگر بلد نیستید خودتون میتونید این مباحث رو یاد بگیرید. کتاب آموزش زبان سیپلاسپلاس هم زیاد هست، کتاب جعفرنژادقمی ... دایتل اند دایتل و ... . من خودم کتاب هربرت شیلد (نشر اتحاد) رو خوندم. به نظرم کتاب قابل خوندن و خوبی هست. ( حداقل تا فصل 7 اش که تا تابع هست، رو میشه خودتون تنهایی یاد بگیرید. )
3- آموزش هایی که قراره اینجا داده بشه، صرفا در حد استفاده ی ابزاری، از سیپلاسپلاس هست. یعنی قرار نیست با این آموزشها برنامه نویس حرفه ای بشید. به میزان لازم برای مرحله 3 قراره مطلب بزاریم. واسه همین اگه به یادگیری سیپلاسپلاس علاقهمندید، خودتون باید پیگیرش باشید. باهم دوست باشید.
4- برای تمرین خوبه با سایت Project Eulerکه خود کمیته برای تمرین مرحله 3 (پارسال) معرفی کرده، کار کنید.
5- احتمالا 6 جلسه آموزش برنامهنویسی خواهیم داشت و هفتهای یک مبحث گذاشته میشه. ( یکی دو روز تاخیر جایزه! )
همین.
اینهم یک کد کمکی برای جا افتادن مطلب.
خوش باشید.
۱۳۸۹/۱۱/۰۸ · ۰۸:۲۰
کلید مرحله اول بیست و یکمین المپیاد کامپیوتر
من که شخصا از سوالا خیلی خوشم اومد و به نظرم سوالات و مدل امتحان خیلی قشنگ بود، امیدوارم شما هم از امتحانتون راضی باشید!
مندفترچه سوالارو حدود 1 ساعت بعد از شروع امتحان گیر آوردم و سرکلاسبا عجله حلشون کردم، در نتیجه ممکنه (به احتمال کم البته) اشکالی چیزی قاطی جوابا باشه، اگه بود لطفا زود خبر بدید تا درستش کنم.( بعدانوشت: الان جوابها رو چک کردم، درست هستند. مطمئن باشید! )
با تشکر از دوستانی که سر کلاس کمک کردن!به روز رسانی: (کلید به روز شد!)
من تا یادمه همیشه تو مرحله 1 یه اشکالی پیدا میشد. امسال واقعا مایه تعجب بود که هیچ مشکلی نداشت و داشتیم کلی حال میکردیم که بالاخره سوتی امسال هم پیدا شد:
سوال 7 کد 1 (سوال 4 کد 2 یا همون جدول ورودی و خروجیه) این جدول خروجی که به ما داده، اگه قرار باشه یه جدول ورودی داشته باشه جمع اعداد توش باید بشه 8 ولی نکته اینجاس که اثبات میشه برای این جدول خروجی هیچ جدول ورودی نداریم. اثباتش هم اینه:
خونه ی (2و2) جدول میشه جمع اعداد خونه ی (2و1) و (1و2) و (3و2) و (2و3)
جمع اعداد خونه های (2و1) و (1و2) هم میشه 8 (یعنی همون (1و1))
خونه ی (3و3) جدول میشه جمع اعداد خونه های (4و3)و (3و 4) و (3و2) و (2و3)
جمع اعداد خونه های (4و3)و (3و4) هم که میشه 9 (یعنی همون (4و4))
پس اختلاف عدد توی خونه ی (2و2) و (3و3) باید بشه 1 در حالی که اینجا اختلافشون برابره 9 هست، در نتیجه وجود چنین جدول خروجی غیر ممکنه.
۱۳۸۹/۱۱/۰۶ · ۱۴:۴۳