এপিএল এর সম্মানে একটি ইন্টারেক্টিভ সরঞ্জাম হিসাবে এই বছর 50 বছর বয়সী হিসাবে উপস্থাপিত
পটভূমি
কেন [আইভারসন] ১৯63৩ সালের আগস্টে মেকানিকাল ল্যাঙ্গুয়েজ স্ট্রাকচারস, প্রিন্সটন, এনজে সম্পর্কিত একটি ওয়ার্কিং কনফারেন্সে প্রোগ্রামিং ল্যাঙ্গুয়েজগুলিতে তাঁর প্রবন্ধ পত্রিকা উপস্থাপন করেন কনফারেন্সের তালিকাটি বিখ্যাত এবং শীঘ্রই-খ্যাত বিখ্যাত নাম এবং কিছু ভবিষ্যতের টুরিং অ্যাওয়ার্ড বিজয়ীদের পূর্ণ (ব্যাকাস, কারি, ডিজকস্ট্রা, ফ্লয়েড, ইভারসন, নেওয়েল, পেরিলিস, উইলকস)। কাগজটি উপস্থাপনের পরে যে আলোচনার ঘটনা ঘটেছিল তা লিপিবদ্ধ করে, কেন এবং [এডসগার] ডিজকস্ট্রার মধ্যে বিনিময় শেষ করে , যেখানে ডিজকস্ট্রার প্রশ্নের জবাবে কেনের জবাব ছিল এক-লাইনার।
চ্যালেঞ্জ
আপনি কীভাবে আরও জটিল ক্রিয়াকলাপের প্রতিনিধিত্ব করবেন, উদাহরণস্বরূপ, ম্যাট্রিক্স এম এর সমস্ত উপাদানগুলির যোগফল যা সম্পর্কিত সারি এবং কলাম সূচকগুলির যোগফলের সমান?
প্রদত্ত পূর্ণসংখ্যার ম্যাট্রিক্সে প্রতিটি উপাদানের যোগফল গণনা করার জন্য একটি স্নিপেট বা এক্সপ্রেশন (একটি পূর্ণ প্রোগ্রাম বা ফাংশনের প্রয়োজন নেই) লিখুন যা এর সূচকগুলির যোগফলের সমান। অথবা, FryAmTheEggman রাখে এটা: একটি ম্যাট্রিক্স দেওয়া এম উপাদানের সঙ্গে একটি IJ প্রতিটি সমষ্টি আসতে একটি IJ যেখানে একটি IJ = আমি + J।
আপনি ধরে নিতে পারেন ম্যাট্রিক্স ইতিমধ্যে একটি পরিবর্তনশীল বা মেমরির স্থানে রয়েছে, বা আপনি এটি একটি যুক্তি বা ইনপুট হিসাবে নিতে পারেন। আপনি 0 বা 1 ভিত্তিক সূচকগুলি ব্যবহার করতে পারেন।
পরীক্ষার মামলা
0
খালি ম্যাট্রিক্সের জন্য
2
0
0 ভিত্তিক সূচকগুলির 2
জন্য বা 1-ভিত্তিক জন্য
1 5 2
9 4 2
5 9 6
2
0 ভিত্তিক বা 10
1 ভিত্তিক জন্য
0 3 0 4
0 4 1 4
4 3 1 2
-2 4 -2 -1
11
3 -1 3 3
3 -1 3 1
6
0 ভিত্তিক বা 3
1 ভিত্তিক জন্য
গপ্প
আইভারসনের উত্তরটি ছিল ++ / ( এম = ⍳ ¹ ⨢ ⍳ ¹) // এম , যা আই প্রোগ্রামিং ল্যাঙ্গুয়েজে সংজ্ঞায়িত আইভারসন নোটেশনেও বৈধ নয়, শেষ পর্যন্ত এপিএলে পরিণত হয়েছিল তাও নয়। Iverson স্বরলিপি, এটা হতো + + / ( এম = ⍳ ¹ ( μ ( এম )) ⨢ ⍳ ¹ ( ν ( এম ))) / এম । এপিএলের প্রথম সংস্করণে এটি ছিল ।+/(,M=(⍳1↑⍴M)∘.+⍳1↓⍴M)/,M