এই চ্যালেঞ্জের মধ্যে, ব্যবহারকারীরা ক্রমবর্ধমান বয়স্ক হওয়ার মঞ্জুরিপ্রাপ্ত প্রোগ্রামিং ভাষায় তিনটি মোটামুটি সহজ কোডিংয়ের কাজ সম্পূর্ণ করার পালা নেবেন।
প্রথম জবাবটিতে অবশ্যই একটি প্রোগ্রামিং ভাষা ব্যবহার করা উচিত যা ২০১৫ সালে তৈরি হয়েছিল a একবার 2015 ভাষা থেকে কমপক্ষে একটি উত্তর পাওয়া গেলে, উত্তরগুলি 2014 সালে তৈরি হওয়া প্রোগ্রামিং ভাষাগুলি ব্যবহার করতে পারে Similarly একইভাবে, 2013 থেকে যে ভাষাগুলি ব্যবহার করে সেগুলির উত্তর অনুমোদিত নয় কমপক্ষে একটি 2014 উত্তর না হওয়া পর্যন্ত।
সাধারণভাবে, ওয়াই +1 সাল থেকে কোনও ভাষা ব্যবহার করে উত্তর জমা না দেওয়া পর্যন্ত Y বছর থেকে প্রোগ্রামিং ভাষার ব্যবহারের অনুমতি দেওয়া হয় না। একমাত্র ব্যতিক্রম Y = 2015।
আপনার ভাষার বছরের সন্ধান করা
এই প্রশ্নের উত্তর দিতে, আপনার প্রোগ্রামিং ভাষাটি "ইন ইন" করা হয়েছিল সেই বছর আপনার অবশ্যই জানা উচিত। এটি অবশ্যই একটি বিষয়গত শব্দ; কয়েকটি ভাষাগুলি একাধিক বছর ধরে বিকাশ করা হয়েছিল এবং প্রতি বছর অনেকগুলি ভাষা এখনও আপগ্রেড করা হচ্ছে। যে বছর কোনও ভাষাকে "তৈরি" করা হয়েছিল প্রথম বছর সেই ভাষার জন্য একটি বাস্তবায়ন সাধারণ মানুষের মধ্যে উপস্থিত হয়েছিল।
উদাহরণস্বরূপ, পাইথন 1991 সালে "তৈরি" হয়েছিল , যদিও এর বিকাশ 1989 সাল থেকে চলছে এবং ১৯৯৪ সাল পর্যন্ত সংস্করণ 1.0 প্রকাশিত হয়নি।
যদি এই বছরটি এখনও সাবজেক্টিভ হয় তবে সর্বাধিক উপযুক্ত বছরটি চয়ন করতে আপনার সাধারণ জ্ঞানটি ব্যবহার করুন। বছরের পছন্দ সম্পর্কে সামান্য মতবিরোধে জড়িয়ে যাবেন না। দয়া করে এমন উত্সের একটি লিঙ্ক সরবরাহ করুন যা জানায় যে আপনার ভাষা কখন তৈরি হয়েছিল।
একটি প্রোগ্রামিং ভাষার বিভিন্ন সংস্করণ বা মান (যেমন পাইথন 1, 2, 3) একই প্রাথমিক বছরের সাথে একই ভাষা হিসাবে গণনা করা হয়।
সুতরাং, আপনার ভাষার বছর 2015 না হলে আপনি কেবল তার উত্তর জমা দিতে পারবেন উত্তরটি জমা দেওয়ার পরে যার ভাষার বছরটি আপনার সামনের বছর।
যদি আপনার একই বছরের সাথে কোনও বৈধ উত্তর ইতিমধ্যে উপস্থিত থাকে তবে আপনি উত্তর দিতে পারেন। আপনার ভাষা বছরের আগে বা পরে বিকশিত হয়েছিল তা বিবেচ্য নয়।
কাজ
আপনাকে অবশ্যই 1 থেকে 3 টি কার্য সম্পূর্ণ করতে হবে Tas কার্য 0 টি alচ্ছিক।
প্রোগ্রামিংয়ের তিনটি গুরুত্বপূর্ণ দিকের সাথে মিল রেখে এই কাজগুলি কমবেশি বেছে নেওয়া হয়েছিল: আউটপুট সরবরাহ করা (টাস্ক 1), লুপিং (কার্য 2), এবং পুনরাবৃত্তি (কার্য 3)।
কার্য 0 - ভাষার ইতিহাস (alচ্ছিক)
কমপক্ষে আপনার নির্বাচিত প্রোগ্রামিং ভাষার ইতিহাস ব্যাখ্যা করার জন্য একটি অনুচ্ছেদ লিখুন: এটি কে বিকাশ করেছে, কেন, কীভাবে ইত্যাদি This ভাষাটি তৈরি হওয়ার সময় আপনি ব্যক্তিগতভাবে আশেপাশে থাকলে এবং সম্ভবত এটির বিকাশে কোনও ভূমিকা রেখেছিল যদি এটি উত্সাহিত হয়। ভাষাটি আপনার বা আপনার কাজের উপর বা তার মতো কোনও কিছুর উপর ভাষাটির যে প্রভাব ফেলেছিল তা সম্পর্কে নির্দ্বিধায় যোগাযোগ করুন।
আপনি যদি অনেক গবেষণা ছাড়াই আপনার ভাষার ইতিহাস সম্পর্কে অনেক কিছু জানতে না চান তবে বয়স্ক ব্যবহারকারীদের কাছে এমন একটি নোট রেখে বিবেচনা করুন যা বলছে যে তারা আপনার পোস্টটি সম্পাদনা করতে পারে এবং কিছু প্রথম হাতের ইতিহাসে যুক্ত করতে পারে।
কার্য 1 - "হ্যালো, ওয়ার্ল্ড!" বৈকল্পিক
প্রিন্ট করে এমন একটি প্রোগ্রাম লিখুন
[language name] was made in [year made]!
আপনার ভাষার স্ট্যান্ডার্ড আউটপুট অঞ্চলে (অতি সাম্প্রতিক ভাষার জন্য স্টাডআউট) out
উদাহরণস্বরূপ, ভাষাটি পাইথন হলে আউটপুটটি হত:
Python was made in 1991!
টাস্ক 2 - এএসসিআইআই আর্ট এন
এমন একটি প্রোগ্রাম লিখুন যা ব্যবহারকারীকে একটি বিজোড় ইতিবাচক পূর্ণসংখ্যায় প্রবেশ করতে দেয় (আপনি ইনপুটটি সর্বদা বৈধ বলে ধরে নিতে পারেন), এবং অক্ষরটি ব্যবহার করে তৈরি করা একটি ASCII আর্ট লেটার এন প্রিন্ট করে N
।
যদি ইনপুটটি হয় 1, আউটপুটটি হ'ল:
N
যদি ইনপুটটি 3 হয়, আউটপুটটি হ'ল:
N N
NNN
N N
যদি ইনপুটটি 5 হয় তবে আউটপুটটি হ'ল:
N N
NN N
N N N
N NN
N N
যদি ইনপুটটি 7 হয় তবে আউটপুটটি হ'ল:
N N
NN N
N N N
N N N
N N N
N NN
N N
প্যাটার্নটি এভাবে চলতে থাকে। আউটপুটটিতে পেছনের স্থান থাকতে পারে।
কার্য 3 - জিসিডি
এমন একটি প্রোগ্রাম লিখুন যা ব্যবহারকারীকে দুটি ধনাত্মক পূর্ণ সংখ্যায় প্রবেশ করতে দেয় (আপনি ইনপুটটি সর্বদা বৈধ বলে ধরে নিতে পারেন) এবং তাদের সর্বশ্রেষ্ঠ সাধারণ বিভাজককে মুদ্রণ করে । এটিকে বৃহত্তম ধনাত্মক পূর্ণসংখ্যা হিসাবে সংজ্ঞায়িত করা হয়েছে যা কোনও বাকী ছাড়াই উভয় সংখ্যাকে ভাগ করে দেয়। ইউক্লিডিয়ান অ্যালগরিদম ব্যবহার করে এটি সহজেই গণনা করা যায় ।
উদাহরণ:
8
, 12
→ 4
12
, 8
→ 4
3
, 30
→ 3
5689
, 2
→ 1
234
, 876
→ →6
আপনি একটি বিল্ট ইন ফাংশন ব্যবহার করতে পারেন তবে এটি আপনার ভাষার প্রথম সংস্করণে আছে কিনা তা খুঁজে বের করার চেষ্টা করুন। যদি তা না হয় তবে এটি ব্যবহার না করার চেষ্টা করুন।
বিধি
- আপনি একাধিকবার উত্তর দিতে পারেন, তবে প্রতিটি নতুন উত্তরের অবশ্যই আপনার শেষ উত্তরের ভাষার কমপক্ষে 5 বছর পূর্বে তৈরি একটি ভাষা ব্যবহার করা উচিত। সুতরাং আপনি যদি 2015 এর ভাষা দিয়ে উত্তর দিয়ে থাকেন তবে 2010 টি ভাষা অনুমোদিত না হওয়া পর্যন্ত আপনি আর উত্তর দিতে পারবেন না। আপনি যদি ২০১০ এর উত্তর দিয়ে শুরু করেন তবে আপনি ২০১৫ এর উত্তরটি দ্বিতীয় উত্তরটি তৈরি করতে পারবেন না কারণ ২০১০ এর আগে নয়।
- যদি সম্ভব হয় তবে আপনার কোডটি লিখুন যাতে এটি আপনার ভাষার প্রথম সংস্করণে (বা যতটা সম্ভব পুরানো সংস্করণ) কাজ করতে পারে। (এটি প্রয়োজনীয়তা নয় কারণ কিছু ভাষার জন্য পুরানো সংকলক / দোভাষী খুঁজে পাওয়া কঠিন হতে পারে))
- ইতিমধ্যে পোস্ট করা একটি ভাষা পোস্ট করা থেকে বিরত থাকুন যদি না উত্তর উত্তরটিতে উল্লেখযোগ্য ত্রুটি থাকে বা আপনার কাজগুলি সম্পূর্ণ করার একটি খুব আলাদা পদ্ধতি না থাকে।
- আপনার কোডটি গল্ফ করা ভাল তবে প্রয়োজনীয় নয়।
- যে কোনও প্রোগ্রামের আউটপুটে একটি ট্রেলিং নিউলাইন ঠিক আছে।
- কর্ম 2 এবং 3, 2 মত কিছু যুক্তিসঙ্গত সর্বাধিক নিচে সমস্ত ইনপুট মান 16 কাজ করা উচিত (খুব অন্তত 256)।
- এই প্রশ্নটি পোস্ট করার আগে আপনার ভাষা অবশ্যই বিদ্যমান ছিল।
- খুব পুরানো প্রোগ্রামিং ল্যাঙ্গুয়েজে আমাদের আজকের ধারণার চেয়ে বিভিন্ন ধরণের ইনপুট এবং আউটপুট থাকতে পারে। ্রফ. আপনার ভাষার প্রেক্ষাপটে আপনার দক্ষতার সর্বোত্তম কাজগুলি সম্পূর্ণ করুন।
স্কোরিং
আপনার জমা দেওয়ার স্কোরটি হ'ল:
upvotes - downvotes + (2015 - languageYear) / 2
সুতরাং, পুরানো ভাষাগুলিতে সুবিধা প্রদান করে 2015 সালের আগে প্রতি বছর ভোটের গণনায় 0.5 টি যোগ করা হয়। সর্বোচ্চ স্কোর সহ জমাটি জয়লাভ করে।
উত্তর তালিকা
নীচের স্ট্যাক স্নিপেট তাদের ভাষা বছর অনুযায়ী সমস্ত বৈধ উত্তর তালিকাভুক্ত করে।
আপনার পোস্টটি সঠিকভাবে তালিকাভুক্ত করা হয়েছে তা নিশ্চিত করার জন্য আপনাকে এই মার্কডাউন লাইন দিয়ে শুরু করতে হবে:
#[year] - [language name]
উদাহরণ স্বরূপ:
#1991 - Python
ভাষার নাম কোনও লিঙ্কে থাকতে পারে (উত্তর তালিকার মধ্যে এটি একই লিঙ্ক হবে):
#1991 - [Python](https://www.python.org/)
যে উত্তরগুলি এই ফর্ম্যাটটি অনুসরণ করে না, বা এমন এক বছর রয়েছে যা এখনও অনুমোদিত নয়, অথবা এমন কোনও ব্যবহারকারী এসেছেন যা ইতিমধ্যে গত 5 বছরে উত্তর দিয়েছে তা অবৈধ হিসাবে চিহ্নিত হয়েছে।
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>$(function(){function e(e,r){var a="https://api.stackexchange.com/2.2/questions/48476/answers?page="+e.toString()+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter=!YOKGPOBC5Yad160RQxGLP0r4rL";$.get(a,r)}function r(e){if(e.items.forEach(function(e){var r=e.link,a=e.owner.display_name,i=e.body.match(/<h1\b[^>]*>(\d{4}) - (.*?)<\/h1>/);if(i&&i.length>=3)var h=parseInt(i[1]),u=i[2];h&&u&&n>=h&&h>=t&&(!d.hasOwnProperty(e.owner.user_id)||d[e.owner.user_id]-h>=p)?(d[e.owner.user_id]=h,h==t&&--t,o.hasOwnProperty(h)||(o[h]=[]),o[h].push({language:u,user:a,link:r,score:e.score+(n-h)/2})):s.push(' <a href="'+r+'">'+a+"</a>")}),e.has_more)runQuery(++a,r);else{for(var i=n,h=[];o.hasOwnProperty(i);){for(var u=$("<tr>").append($("<td>").text(i.toString())),l=$("<td>"),c=$("<td>"),g=$("<td>"),f=0;f<o[i].length;f++){var v=o[i][f];l.append(v.language),c.append($("<a>").html(v.user).attr("href",v.link)),g.append(v.score),f+1<o[i].length&&(l.append("<br><br>"),c.append("<br><br>"),g.append("<br><br>"))}u.append(l).append(c).append(g),h.push(u),--i}$("#answers").find("tbody").append(h),s.length>0?$("#invalid").append(s):$("#invalid").remove()}}var a=1,n=2015,t=n-1,p=5,o={},s=[],d={};e(1,r)})</script><style>html *{font-family: Helvetica, Arial, sans-serif;}table{border: 4px solid #a4a; border-collapse: collapse;}th{background-color: #a4a; color: white; padding: 8px;}td{border: 1px solid #a4a; padding: 8px;}div{font-size: 75%;}</style><table id='answers'> <tr> <th>Year</th> <th>Language</th> <th>User (answer link)</th> <th>Score</th> </tr></table><div id='invalid'><br>Invalid Answers:</div>