আপনি কি কখনও সংকলকটি জিজ্ঞাসা করতে চেয়েছিলেন "কেন?" কোডটি যেমনটি করা উচিত ঠিক তেমন কাজ না করে আমাদের বেশিরভাগ হতাশ হয়ে পড়েছে। ম্যাথওয়ার্কস তাই একটি দুর্দান্ত সামান্য ফাংশন বাস্তবায়িত করেছে why, যে প্রশ্নের উত্তর দেয়। ম্যাটল্যাব থেকে কয়েকটি উদাহরণ দিতে:
why
The programmer suggested it.
why
To fool the tall good and smart system manager.
why(2)
You insisted on it.
why(46)
Bill insisted on it.
আপনার কাজটি whyআপনার ভাষায় ফাংশনটি বাস্তবায়ন করা । ফাংশনটি কোনও ইনপুট আর্গুমেন্টের সাথে এবং ছাড়া কাজ করা উচিত (বিকল্পভাবে ইনপুট ব্যবহার করুন 0বা -1)। ফাংশনটির নামকরণ করা আবশ্যক why(বা, why(n)এসটিডিআইএন-এ লেখার ফলস্বরূপ উপযুক্ত স্ট্রিং প্রিন্ট হওয়া উচিত)।
যদি কোনও যুক্তি দেওয়া না হয়, বা যুক্তিটি শূন্য বা নেতিবাচক হয় তবে আউটপুট স্ট্রিংটি এলোমেলো, বৈধ বাক্য হতে হবে phrase সুতরাং, একটি ফাংশন হওয়া উচিত why, why(), why(0)বা why(-1)একটি র্যান্ডম বাক্য যে আয়।
যদি একটি ইনপুট আর্গুমেন্ট nদেওয়া হয় (ফাংশন আর্গুমেন্ট, STDIN নয়), আউটপুটটি n'th স্ট্রিং হওয়া উচিত (নীচে সংজ্ঞায়িত)। সুতরাং, why(1)সর্বদা একই ফলাফল আউটপুট (মুদ্রণ / প্রদর্শন) করা উচিত।
বাক্যগুলি নিম্নরূপে নির্মিত হয়েছে (প্রকার 1, প্রকার 2 এবং বিশেষ)। সমস্ত বাক্য শেষ হয় !।
"Person" "ending" !
"Verb" "adjective" "Person" !
A list of special cases
ব্যক্তিদের তালিকা:
Stewie
Peter
Homer
The programmer
The system manager
You
শেষের তালিকা:
suggested it
insisted on it
did it
ক্রিয়াগুলির তালিকাটি হ'ল:
To fool
To satisfy
To please
বিশেষণের তালিকা:
the smart
the bald
the tall
the rich
the stupid
বিশেষ মামলার তালিকা:
How should I know?
Stop asking!
Don't ask!
একটি নম্বরযুক্ত নির্বাচন করার উপায় হ'ল:
বাক্যের ধরণ:
Odd number => Type 1
Even number => Type 2
n % 7 = 0 => Type 3 (% is the modulus operator)
নাম: নবম নামটি মডুলাস (%) ব্যবহার করে সংজ্ঞায়িত করা হয়।
n = 1: 1 % 7 => Stewie
n = 2: 2 % 7 => Peter
...
n = 6: 6 % 7 => You
n = 7: 7 % 7 => How should I know?
n = 11: 11 % 7 => The programmer
n = 14: 14 % 7 => Stop asking!
n = 21: 21 % 7 => Don't ask!
সমাপ্তি: নবম সমাপ্তিকেও মডুলাস ব্যবহার করে সংজ্ঞায়িত করা হয়। সমাপ্তি ধরে রাখুন (1, 2 এবং 3) এর মতো তালিকাভুক্ত করা হয়েছে (1 2 2 3)। সংখ্যাগুলি সর্বদা বিজোড় থাকায় ব্যবহার করুন are((n+1)/2 % 4)
n = 1: ((1+1)/2 % 4) => suggested it
n = 3: ((3+1)/2 % 4) => insisted on it
n = 13: ((13+1)/2 % 4) => did it
বিশেষণ: নবম বিশেষণটি মডুলাস ব্যবহার করে সংজ্ঞায়িত করা হয়। সংখ্যাগুলি সর্বদা সমান হিসাবে, ব্যবহার করুন:(n % 10)/2
n = 2: (2 % 10)/2 => Smart
n = 6: (6 % 10)/2 => The tall
...
ক্রিয়াপদ : নবম ক্রিয়াটিও মডুলাস ব্যবহার করে সংজ্ঞায়িত করা হয়। ধরুন ক্রিয়া (1, 2 এবং 3) এর মতো তালিকাভুক্ত করা হয়েছে যেমন (1 2 2 3)সংখ্যাগুলি ক্রিয়াপদের জন্য এমনকি সর্বদা ব্যবহার হিসাবেও থাকে(n % 8) / 2
n = 2: (2 % 8)/2 => To fool
n = 4: (4 % 8)/2 => To satisfy
n = 6: (6 % 8)/2 => To satisfy
n = 8: (8 % 8)/2 => To please
এখন, এলোমেলোভাবে তৈরি করার উপায়টি মোটামুটি সহজ হওয়া উচিত, কেবল একটি এলোমেলো নির্বাচন করুন n।
কিছু উদাহরণ:
why
You suggested it!
why
To fool the tall Homer!
why
Don't ask!
why(1)
Stewie suggested it!
why(14)
Stop asking!
why(8)
To please the rich Stewie!
স্ট্যান্ডার্ড কোড গল্ফ বিধি প্রযোজ্য। যেদিন চ্যালেঞ্জ পোস্ট হয়েছিল সেদিন থেকে একজন বিজয়ী নির্বাচন করা হবে।
/2কাজ করার দরকার নেই । এটি ভগ্নাংশের মান দেয়। 13এছাড়াও হওয়া উচিত insisted(14/2 = 7% 4 = 3 = জোর দেওয়া 2 র্থ)।
the rich The programmerনির্দিষ্ট কারণে যেমন মামলা সঙ্গে শেষ যদি এটা বিবেচনা করে the?
Theএবং Toআপনার তালিকাগুলিতে সম্ভবত ছোট হাতের অক্ষর হওয়া উচিত ...
whyহতেWHYহবে বা গ্রহণযোগ্য হবে?