سیستم‌عامل و نرم‌افزار

فناوری اطلاعات

February 21, 2017
20:39 سه شنبه، 3ام اسفندماه 1395
کد خبر: 82499

برپایی مسابقه کدنویسی مبهم در 23 اسفندماه

مسابقه کدنویسی مبهم (Spaghetti contest) همزمان با بیست‌ودومین کنفرانس ملی کامپیوتر ایران بعنوان معتبرترین کنفرانس علمی کشور در حوزه کامپیوتر و فناوری اطلاعات، 23 اسفند ماه جاری در دانشگاه صنعتی شریف برگزار می‌شود.
 
در طول تاریخ برنامه‌نویسی، سبکهای مختلفی برای برنامه‌نویسی ابداع شدند. روش‌های برنامه‌نویسی ساخت‌یافته، پیمانه‌ای و شی‌ءگرا از معروفترین سبکهای برنامه‌نویسی بشمار می‌آیند. اما پیش از همه آنها نخستین سبک برنامه‌نویسی، برنامه‌نویسی اسپاگتی نامیده می‌شد. دورانی که دستور Goto رواج داشت و برنامه‌ها به شدت ناخوانا بودند. زیرا ترتیب اجرای سطرهای برنامه، به دلیل استفاده مکرر از دستور Goto همچون رشته‌های اسپاگتی تودرتو و سردرگم بود. به همین دلیل برنامه‌ها عموما کم حجم و پر از خطا بودند. هنگامی که برنامه‌نویسان برای نجات از این وضع، دستور Goto را منع کردند و سعی کردند بجای آن از حلقه‌های for وwhile و متغیرهای منطقی (Boolean)استفاده کنند، دوران این سبک برنامه‌نویسی به پایان رسید و سبک برنامه‌نویسی ساخت یافته آغاز شد.
 
هدف از برگزاری مسابقه کدنویسی مبهم، تخمین مهارت شرکت‌کنندگان در نوشتن کدهای ناخوانا یا در اصطلاح برنامه‌نویسان همان کد کثیف (Dirty Code) است. یک برنامه را هنگامی ناخوانا می‌نامیم که اگر کد برنامه را در اختیار برنامه‌نویس دیگر قرار دهیم و او معنای تک تک دستورات برنامه را بداند، شیوه کنار هم چیده شدن دستورات و پرش‌های تودرتوی میان آنها بحدی پیچیده و گیج‌کننده باشد که برنامه‌نویس بدون اجرای این برنامه، نتواند سردر آورد که خروجی برنامه چیست؟
 
هر تیم برای شرکت در مسابقه باید به ناخواناترین شکل ممکن، برنامه‌ای به زبان ++c بنویسد که با هر بار اجرا شدن، رشته‌ای معین به طول حداقل یک و حداکثر سه کاراکتر را روی صفحه نمایش چاپ کند. این رشته  باید همواره ثابت باشد، نه آنکه در هر بار اجرا رشته‌ای متفاوت چاپ کند و یا اینکه با انتقال به کامپیوتری دیگر، خروجی متفاوتی بدهد.
 
بر اساس اعلام دبیرخانه مسابقه، تیم‌ها آخرین نسخه برنامه‌هایشان را باید تا پایان وقت اداری تاریخ اعلام شده به داوران تحویل دهند. تیم‌ها می‌توانند در طول مدت پیاده سازی کد، برنامه‌ها را به داوران ارائه دهند و توضیحات لازم را دریافت کنند؛ اما اگر پس از اتمام مهلت ارسال کد، این برنامه‌ها از نظر داوران غیراستاندارد باشند، تیم از دور مسابقه حذف می‌شود. مسابقه طی دو مرحله در صبح و عصر برگزار می‌شود.
 
در روز برگزاری مسابقه، در مرحله نخست، تمام تیم‌های شرکت کننده با قرعه‌کشی در چند گروه تقسیم می‌شوند. در این مرحله هر تیم، برنامه سایر تیم‌های هم گروهش را در اختیار می‌گیرد تا در فرصت مسابقه، خروجی این برنامه‌ها را حدس بزند. در پایان این مرحله، تیمی که خروجی برنامه‌اش توسط تیم‌های کمتری کشف شود، تیم برنده گروه است. در بین تیم‌هایی که برنامه‌هایشان از این نظر امتیاز مساوی دارند، تیمی برنده است که تعداد کد بیشتری را شکافته باشد و در صورت مساوی بودن تعداد مسائل حل شده، تیمی برنده است که مجموع زمان حل مسائلش کمتر باشد. در مدت مسابقه، هر تیمی که خروجی یک برنامه را حدس بزند، باید حدسش را با داور گروه در میان بگذارد تا داور درستی یا نادرستی حدس را اعلام کند.
 
در پایان مرحله نخست مسابقه، تیم‌های دارای بیشترین امتیاز از هر گروه به مرحله نهایی راه می‌یابند.
 
در مرحله نهایی، مسابقه بین تیم‌های برگزیده گروه‌ها آغاز می‌شود. در این مرحله هم مانند مرحله نخست به هر تیم، کد برنامه‌های تیم‌های دیگر داده می‌شود تا در پایان این مرحله، تیم برنده مسابقه تعیین شود. 
 
علاقه‌مندان می‌توانند جهت کسب اطلاعات بیشتر و ثبت‌نام به وب‌سایت https://csicc2017.ir/match مراجعه کرده و یا با شماره تلفن‌های 16-66083015 و 5-66028963 تماس بگیرند.
  • مشترک شوید!

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

    با عضویت در خبرنامه پیامکی آژانس خبری فناوری اطلاعات و ارتباطات (ایستنا) به طور روزانه آخرین اخبار، گزارشها و تحلیل های حوزه فناوری اطلاعات و ارتباطات را در هر لحظه و هر کجا از طریق پیام کوتاه دریافت خواهید کرد. برای عضویت در این خبرنامه، مشترکین سیمکارت های همراه اول لازم است عبارت 150 را به شماره 201464 و مشترکین سیمکارت های ایرانسل عبارت ozv ictn را به شماره ۸۲۸۲ ارسال کنند. دریافت موفق هر بسته خبری که محتوی پیامکی با حجم ۵پیامک بوده و ۴ تا ۶ عنوان خبری را شامل میشود، ۳۵۰ ریال برای مشترک هزینه در بردارد که در صورتحساب ارسالی از سوی اپراتور مربوطه محاسبه و از اعتبار موجود در حساب مشترکین سیمکارت های دائمی کسر میشود. بخشی از این درآمد این سرویس از سوی اپراتور میزبان شما به ایستنا پرداخت میشود. مشترکین در هر لحظه براساس دستورالعمل اعلامی در پایان هر بسته خبری قادر خواهند بود اشتراک خود را در این سرویس لغو کنند. هزینه دریافت هر بسته خبری برای مشترکین صرفا ۳۵۰ ریال خواهد بود و این هزینه برای مشترکین در حال استفاده از خدمات رومینگ بین الملل اپراتورهای همراه اول و ایرانسل هم هزینه اضافه ای در بر نخواهد داشت.