«🎉 برندگان مسابقه برنامه نویسی 3C🎉»
– 4 خرداد 1403 –
⭐🤩
جوایز به نفرات اول تا دهم تعلق میگیرد. برندگان دستورالعمل زیر را دنبال کنند🎁👇
⚠🏆 برندگان مسابقه برای دریافت جوایز خود در پلتفرم بوی از حساب کاربری خود به بخش مسابقات تیکت بزنید.
اگر وارد حساب کاربری خود شده اید از طریق دکمه زیر تیکت بزنید
🎖️
📝
✅
📖
📋
🏹
(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 پلتفرم بوی غیرمجاز هستند:
قبل از شرکت در هر مسابقه برنامه نویسی 3C، به دقت قوانین و مقررات آن را مطالعه کنید تا از موارد مجاز و غیرمجاز آگاهی کامل داشته باشید.در غیر این صورت کد ارسالی شما هرچند صحیح در نظر گرفته نخواهد شد.
برنامه ای بنویسید که دارای 3 پارامتر انتخابی باشد:
کاربر با عملیات Select می تواند هر کدام از آیتم ها را انتخاب نماید.بدین ترتیب با انتخاب گزینه Decode شرح عملیات Decode و با انتخاب گزینه Encode شرح عملیات Encode انجام میشود.
عملیات Encode دو پارامتر دریافت میکند.پارامتر اول یک رمز 4 کاراکتری و پارامتر دوم یک عبارت Text به زبان انگلیسی (بخش کاراکترها مطالعه شود) و سپس در ادامه شما می بایست کدی بنویسید که عبارت وارد شده را با توجه به رمز وارد شده رمزنگاری کند. توجه داشته باشید که نوشتن یک الگوریتم استاندارد بر مبنای رمز ورودی (بخش چالش مطالعه شود) کاربر لازم و ضروری است.
عملیات Decode دو پارامتر دریافت میکند. پارامتر اول عبارت رمزنگاری شده کاربر و پارامتر دوم رمز و سپس با توجه به معکوس الگوریتم رمزنگاری Decode می بایست عبارت کاربر Decode شده و حالت اول بازگردد.
کاراکترهای زیادی وجود دارند اما تنها از موارد زیر در کدنویسی خود استفاده کنید:
abcdefghijklmnopqrstuvwxyz
0123456789
!؟.,@#*+-
برای عبارات انگلیسی حروف بزرگ را نیازی نیست در نظر بگیرید.
characters = 'abcdefghijklmnopqrstuvwxyz0123456789!?.,@#*+-';
الگوریتم رمزنگاری داده کاربر نمیتواند حاصل جمع یا ادغام کردن های ساده عبارات با عملوند ها باشد.به فرض مثال اگر کاربر رمز خود را 1234 و عبارت خود را ali وارد کند، برنامه نباید الگوریتم رمزنگاری را بر پایه عملوند های جمع کاراکتر ها انجام دهد.
در ساده ترین حالت ممکن، به طور مثال:
a1l2i34 در واقع هر کدام از عبارت های ورودی با ارقام رمز جمع شده اند. بنابراین چنین الگوریتم هایی غیرمجاز هستند.
نکته آموزشی: الگوریتم های استاندارد می بایست یک روش منطقی با درصد خطای پایین و سرعت بالا باشند.
اکثریت کدهای آماده موجود در اینترنت را بررسی و علامت گذاری کرده ایم. استفاده از هرگونه کد آماده رمزنگاری و رمزگشایی در کدنویسی غیرمجاز هستند.
دو تست کننده در تیم مسابقه برنامه شما را به این شکل تست میکنند. نفر اول یک رمز و یک عبارت را به برنامه وارد کرده و Text رمز شده خود را یادداشت میکند. اکنون نفر دوم بدون بستن برنامه یک رمز و یک عبارت را به برنامه وارد کرده و Text رمز شده خود را یادداشت میکند. سپس هر دو شخص به نوبت عبارت خود را رمزگشایی میکنند. برنامه می بایست به درستی هر دو پیام را نمایش نماید.
چالش هایی هم وجود دارند که باید در نظر بگیرید.(بخش چالش ها مطالعه شود)
بدین ترتیب خواهیم داشت که اگر به فرض مثال:
چالش ها روش هایی هستند که ممکن است کد رمزنگاری و رمزگشایی برنامه شما را به دردسر بیاندازند، بنابراین می بایست تمامی آنها را در نظر بگیرید:
در تست عبارت 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 را در این زبانه جدید دنبال کنید!
در این بخش کاربران میتوانند شرایط استفاده و دسترسی به محتواهای ارائه شده در پلتفرم بوی را مطالعه نمایند.
شرایط و قوانین کامل استفاده از وب سایت پلتفرم بوی در این بخش توضیح داده شده است.
کلیه قواعد مربوط به آپدیت محصولات طراحی شده توسط پلتفرم بوی را در این بخش مطالعه نمایید.
* تبلیغات در پلتفرم بوی - میتوانید برای توسعه و رشد کسب و کارتان در پلتفرم بوی تبلیغات خود را نمایش دهید. برای کسب اطلاعات بیشتر درباره روش های تبلیغاتی ما بر روی این لینک کلیک نمایید.