«🎉 برندگان مسابقه برنامه نویسی 3C🎉»

– 4 خرداد 1403 – 

⭐🤩

 

لیست برندگان🏆

  1. 🏆نفر اول آرتین عزیزی – با رکورد : 14 دقیقه – کد ارسال شده با زبان Javascript
  2. 🏆نفر دوم رویا جهانگیری – با رکورد : 15 دقیقه – کد ارسال شده با زبان Python
  3. 🏆نفر سوم سینا رستگار – با رکورد : 17 دقیقه – کد ارسال شده با زبان ++C
  4. نوید ابوذر – با رکورد : 18 دقیقه – کد ارسال شده با زبان #C
  5. سامان رحماندوست – با رکورد : 21 دقیقه – کد ارسال شده با زبان Javascript
  6. علی آزرم کامکار – با رکورد : 22 دقیقه – کد ارسال شده با زبان C
  7. آرتا ساعی – با رکورد : 24 دقیقه – کد ارسال شده با زبان ++C
  8. احسان کلنگی خواه – با رکورد : 27 دقیقه – کد ارسال شده با زبان Python
  9. رضا بمان – با رکورد : 28 دقیقه – کد ارسال شده با زبان Python
  10. مازیار نیشابوری – با رکورد : 29 دقیقه – کد ارسال شده با زبان Javascript
  11. بردیا ده بزرگی شیرازی 
  12. نوید داوری 
  13. مهران ملایری 
  14. ساغر صفوی 
  15. ارشاد زلفی 
  16. نیک پی حکمی 
  17. حسن دشتی 
  18. متین محمدی 
  19. امیر فتحیان 
  20. نسرین کدیور 
  21. دل آسا باستانی 
  22. سامان امانت 
  23. سیروس نعمت‌زاده 
  24. مینا خیابانی 
  25. آرام دخت علی‌آبادی 
  26. امید امانی 
  27. حسین طالب‌زاده 
  28. مهیار طباطبائی 
  29. رامیار احمدی 
  30. صادق کریم پور 
  31. بهنوش سبزواری 
  32. علی عبادی 
  33. محمد اعتماد 
  34. افشبن آقاجری 
  35. پوریا اسدی 
  36. پرهام فنایی 
  37. پارسا بهبهانی 
  38. افشین طالقانی 
  39. گودرز زین‌الدین 
  40. ملیسا میرزاده 
  41. درسا شیرازی 
  42. سینا کریمی 
  43. رضا فریادی 

جوایز به نفرات اول تا دهم تعلق میگیرد. برندگان دستورالعمل زیر را دنبال کنند🎁👇 

⚠🏆 برندگان مسابقه برای دریافت جوایز خود در پلتفرم بوی از حساب کاربری خود به بخش مسابقات تیکت بزنید.

اگر وارد حساب کاربری خود شده اید از طریق دکمه زیر تیکت بزنید

آمار و اطلاعات مسابقه📈

4652

تعداد بازدیدکنندگان صفحه مسابقه 

🎖️

328

تعداد ثبت نام کنندگان

🛂

43

تعداد پاسخ های دریافتی

📝

17

تعداد پاسخ های قابل قبول

211

نفر صفحه سوال مسابقه را باز کردند

📖

223

نفر صفحه ورودی مسابقه را باز کردند

📋

38

نفر فرم ارسال پاسخ را نصفه رها کردند

🏹

19

نفر فقط تماشاگر سوال مسابقه بودند

👁️

آمار زبان های برنامه نویسی🧑‍💻

14

نفر – زبان C

10

نفر – زبان #C

8

نفر – زبان Python

7

نفر – زبان Javascript

5

نفر – زبان ++C

3

نفر – زبان PHP

پاسخ نفر اول با رکورد 14 دقیقه 🕖

(function() {
    function myalgorithm(text, key, mode) {
     // I follow anything like >>
        const characters = 'abcdefghijklmnopqrstuvwxyz0123456789!?.,@#*+-';
        const charMap = new Map();
        characters.split('').forEach((char, index) => charMap.set(char, index));
        let result = '';
        let keyLength = key.length;

        for (let i = 0, j = 0; i < text.length; i++) {
            let char = text[i];
            if (charMap.has(char)) {
                let textIndex = charMap.get(char);
                let keyChar = key[j % keyLength];
                let keyIndex = charMap.get(keyChar);
                 // Decide what is encrypted and what is decrypted :)))
                if (mode === 'encode') {
                    result += characters[(textIndex + keyIndex) % characters.length];
                } else if (mode === 'decode') {
                    result += characters[(textIndex - keyIndex + characters.length) % characters.length];
                }
                j++;
            } else {
                result += char;
            }
        }

        return result;
    }

    function decode() {
        const password = prompt('Enter password:');
        const message = prompt('Enter message:');
        const decodedMessage = myalgorithm(message, password, 'decode');
        console.log('Your decoded message: ', decodedMessage);
    }

    function encode() {
        const password = prompt('Enter password:');
        const message = prompt('Enter message:');
        const encodedMessage = myalgorithm(message, password, 'encode');
        console.log('Your encoded message: ', encodedMessage);
    }

    function menu() {
        const operation = prompt('Select operation (1-Decode/2-Encode/3-Exit):').toLowerCase();

        switch (operation) {
            case '1':
                decode();
                break;
            case '2':
                encode();
                break;
            case '3':
                console.log('Exiting...');
                break;
            default:
                console.log('Invalid operation. Please select Decode, Encode, or Exit.');
                menu();
                break;
        }
    }

    menu();
})();

سوال مسابقه💬

** نکته مهم: حتما پس از رویت سوال بخش چالش، موارد غیر مجاز در کدنویسی، کاراکترها و بخش تست را به دقت مطالعه فرمایید.فراموش نکنید:اولویت اول کد صحیح و سپس سرعت کدنویسی شماست!

موارد غیرمجاز

استفاده از کلیه کتابخانه های از پیش تعریف شده و آماده در مسابقه غیرمجاز است. شما می بایست کد خود را به طور pure (خام) وارد نمایید.

در نظر داشته باشید که تایپ کردن مستقیم درون باکس (فیلد تعیین شده) صفحه مسابقه لزومی ندارد. شما می توانید در نرم افزارهای ویرایش کد نظیر Notepad++ یا vscode کد خود را تست کرده و نتیجه نهایی را ارسال کنید.

علاوه بر محدودیت استفاده از کتابخانه‌ها، موارد دیگری نیز وجود دارند که در مسابقات برنامه نویسی 3C پلتفرم بوی غیرمجاز هستند:

  1. استفاده از کدهای آماده: استفاده از کدهای کاملی که از قبل در اینترنت یا منابع دیگر موجود هستند، به طور کلی غیرمجاز تلقی می‌شود.تیم برگزاری مسابقه قبلا بسیاری از آرشیو های موجود در سراسر اینترنت را بررسی و به عنوان موارد غیر مجاز علامت گذاری کرده اند تا از تقلب شرکت کنندگان جلوگیری شود.
  2. کمک گرفتن از دیگران: در مسابقات انفرادی همانند این مسابقه، دریافت کمک از دیگران (مانند هم‌تیمی‌ها، مربیان یا افراد آنلاین) کاملا ممنوع است.
  3. استفاده از ابزارهای غیرمجاز مثل هوش مصنوعی: استفاده از کلیه ابزارهای آنلاینی که به کاربر در نوشتن کد کمک و راه حل ارائه می دهند غیر مجاز هستند. ابزارهای هوش مصنوعی نظیر chatgpt و … پس از شروع مسابقه توسط تیم برگزاری بررسی شده اند. در واقع سوال مسابقه بارها از هوش مصنوعی پرسیده شده تا از مدل جواب های احتمالی هوش مصنوعی در مسابقه توسط شرکت کنندگان جلوگیری شود.
  4. نقض قوانین پلتفرم: به قوانین و مقررات پلتفرمی که مسابقه در آن برگزار می‌شود، مانند محدودیت‌های زمانی و الزامات مربوط به فرمت کد، توجه داشته باشید.

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

سوال مسابقه

برنامه ای بنویسید که دارای 3 پارامتر انتخابی باشد:

  • Encode
  • Decode
  • Exit

کاربر با عملیات Select می تواند هر کدام از آیتم ها را انتخاب نماید.بدین ترتیب با انتخاب گزینه Decode شرح عملیات Decode و با انتخاب گزینه Encode شرح عملیات Encode انجام میشود.

شرح عملیات Encode

عملیات Encode دو پارامتر دریافت میکند.پارامتر اول یک رمز 4 کاراکتری و پارامتر دوم یک عبارت Text به زبان انگلیسی (بخش کاراکترها مطالعه شود) و سپس در ادامه شما می بایست کدی بنویسید که عبارت وارد شده را با توجه به رمز وارد شده رمزنگاری کند. توجه داشته باشید که نوشتن یک الگوریتم استاندارد بر مبنای رمز ورودی (بخش چالش مطالعه شود) کاربر لازم و ضروری است.

شرح عملیات Decode

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

کاراکترهایی که باید در نظر بگیرید

کاراکترهای زیادی وجود دارند اما تنها از موارد زیر در کدنویسی خود استفاده کنید:

abcdefghijklmnopqrstuvwxyz

0123456789

!؟.,@#*+-

برای عبارات انگلیسی حروف بزرگ را نیازی نیست در نظر بگیرید.

کپی کد کاراکترها

characters = 'abcdefghijklmnopqrstuvwxyz0123456789!?.,@#*+-';

موارد غیر مجاز در کد

الگوریتم رمزنگاری داده کاربر نمیتواند حاصل جمع یا ادغام کردن های ساده عبارات با عملوند ها باشد.به فرض مثال اگر کاربر رمز خود را 1234 و عبارت خود را ali وارد کند، برنامه نباید الگوریتم رمزنگاری را بر پایه عملوند های جمع کاراکتر ها انجام دهد.

در ساده ترین حالت ممکن، به طور مثال:

a1l2i34 در واقع هر کدام از عبارت های ورودی با ارقام رمز جمع شده اند. بنابراین چنین الگوریتم هایی غیرمجاز هستند.

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

کتابخانه و کدهای آماده

اکثریت کدهای آماده موجود در اینترنت را بررسی و علامت گذاری کرده ایم. استفاده از هرگونه کد آماده رمزنگاری و رمزگشایی در کدنویسی غیرمجاز هستند.

برنامه شما اینگونه تست می شود

دو تست کننده در تیم مسابقه برنامه شما را به این شکل تست میکنند. نفر اول یک رمز و یک عبارت را به برنامه وارد کرده و Text رمز شده خود را یادداشت میکند. اکنون نفر دوم بدون بستن برنامه یک رمز و یک عبارت را به برنامه وارد کرده و Text رمز شده خود را یادداشت میکند. سپس هر دو شخص به نوبت عبارت خود را رمزگشایی میکنند. برنامه می بایست به درستی هر دو پیام را نمایش نماید.

چالش هایی هم وجود دارند که باید در نظر بگیرید.(بخش چالش ها مطالعه شود)

بدین ترتیب خواهیم داشت که  اگر به فرض مثال:

  • کاربر وارد کند : Encode
  • Choose passkey: 1414
  • Enter message: ali
  • Your Decode message: *fGk!@ (as example)
  • کاربر وارد کند : Decode
  • Enter passkey: 1414
  • Enter message:*fGk!@
  • Your Decode message: ali

چالش های مسابقه

چالش ها روش هایی هستند که ممکن است کد رمزنگاری و رمزگشایی برنامه شما را به دردسر بیاندازند، بنابراین می بایست تمامی آنها را در نظر بگیرید:

  1. ممکن است تست کننده رمز را چهار سمبل وارد کند : به طور مثال : ****
  2. ممکن است تست کننده رمز را دو حرف مشابه وارد کند: به طور مثال a2a2
  3. ممکن است تست کننده رمز را ترکیب سخت وارد کند: به طور مثال *&4m
  4. ممکن است تست کننده مابین رمز خود از کاراکتر Space استفاده کند: به طور مثال 1 2 3 4
  5. ممکن است تست کننده تمام کاراکترها را یک حرف وارد کند: به طور مثال aaaa

چالش عبارت

در تست عبارت Text که به برنامه داده میشود ممکن است عبارت طولانی با کاراکترهای مختلف باشد به طور مثال:

an integral such as this was adopted as the definition of & by karl weierstrass who defined it directly as an integral in 1841.

مسابقه بعدی

هنوز همه چیز تمام نشده 😎🤪 

بیا یک قاچ پیتزا 🍕و یک لیوان نوشابه 🥤 بخور ولی غصه نخور

آستین ها را بالا بزنید و آماده مسابقه بعدی بشید

پلتفرم بوی هر 2 ماه یکبار مسابقه برنامه نویسی برگزار میکنه

«اونقدر مسابقه بده تا تو هم برنده بشی»

کلیه شرکت کنندگان قبلی برای مسابقه بعدی هم باید مجددا ثبت نام کنند!

مانده تا شروع مسابقه

جمعه 15 تیر 1403 ساعت 20

 
 

برندگان دوره های پیشین

دستیار مسابقه را به زبانه مرورگر خود بیاورید

دستیار پلتفرم بوی

به زبانه جدید مرورگر خود تب مسابقه را اضافه کنید!

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

با یک اکانت . دسترسی به هرچیزی !

 

مسیر و راه حل ها

مسیر و راه ها

شروع به کار

دنیای فناوری دیجیتال

جستجو در سایت

ارتباط با ما

شماره گذاری

قدم اول

خدمات بیشتر

لینک و دسترسی های بیشتر در پلتفرم بوی

فروشگاه و خریدنی

خدمات پلتفرم بوی

آموزش و کمک آموزشی

برای سلامتی و تندرستی

توسعه دهندگان

ابزارهای ویژه

درباره پلتفرم بوی

هنر و سرگرمی

پشتیبانی و سرویس دهی

پرداخت 

درباره پلتفرم بوی

پشتیبانی و سرویس دهی

پرداخت 

قوانین و دسترسی

قوانین دسترسی به محتوا

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

شرایط و قوانین دسترسی

شرایط و قوانین استفاده

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

قوانین و مقررات سایت

قواعد آپدیت محصولات

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

قواعد آپدیت محصولات

* تبلیغات در پلتفرم بوی - میتوانید برای توسعه و رشد کسب و کارتان در پلتفرم بوی تبلیغات خود را نمایش دهید. برای کسب اطلاعات بیشتر درباره روش های تبلیغاتی ما بر روی این لینک کلیک نمایید.