অনেক প্রোগ্রামেরই বাস্তব-জগতের ঘটনা অনুকরণ করার জন্য (সিউডো-)র্যান্ডম মান দরকার হয়।
কমন, পরিচিত উদাহরণগুলোর মধ্যে আছে:
কম্পিউটার দিয়ে সত্যিই র্যান্ডম মান তৈরি করা একটি আশ্চর্যরকম কঠিন প্রযুক্তিগত চ্যালেঞ্জ, তাই "সিউডোর্যান্ডম" জেনারেটরও আছে।
নিরাপত্তা ও ক্রিপ্টোগ্রাফিক অ্যাপ্লিকেশনে Math.random() ফাংশনটি ব্যবহার করা উচিত নয়!
এই কনসেপ্টটি সম্পর্কে আরও জানতে শেখার অনুশীলনী(গুলো) শেষ করুন
Javascript-এ, আপনি Math.random() ফাংশনটি ব্যবহার করে সিউডোর্যান্ডম সংখ্যা তৈরি করতে পারেন।
এটি ০ (অন্তর্ভুক্ত) থেকে ১ (অন্তর্ভুক্ত নয়) পর্যন্ত একটি সিউডোর্যান্ডম ফ্লোটিং-পয়েন্ট সংখ্যা রিটার্ন করবে।
মেরি টিভি সিরিজ Star Trek: The Next Generation-এর একজন বড় ভক্ত। তিনি প্রায়ই কলম-কাগজের রোল-প্লেয়িং গেম খেলেন, যেখানে তিনি আর তাঁর বন্ধুরা স্টারশিপ এন্টারপ্রাইজের ক্রু হওয়ার ভান করেন। মেরির চরিত্রটি ক্যাপ্টেন পিকার্ড, অর্থাৎ তাঁকে ক্যাপ্টেনের লগ রাখতে হয়। গেমটির সৃজনশীল অংশটি তিনি দারুণ ভালোবাসেন, কিন্তু তখনই হাতে হাতে র্যান্ডম ডেটা বানানো পছন্দ করেন না।
ক্যাপ্টেনের লগে সাধারণত যেসব ডেটা দেখা যায়, সেগুলোর জন্য র্যান্ডম জেনারেটর বানিয়ে মেরিকে সাহায্য করুন।
মহাকাশে ঘোরা স্টারশিপ শুধু এন্টারপ্রাইজ (রেজিস্ট্রি নম্বর NCC-1701) নয়! অন্য কোনো স্টারশিপের সঙ্গে দেখা হলে মেরিকে সেই স্টারশিপের রেজিস্ট্রি নম্বর লগ করতে হয়।
রেজিস্ট্রি নম্বর শুরু হয় "NCC-" প্রিফিক্স দিয়ে, তারপর 1000 থেকে 9999 পর্যন্ত (দুটোই ধরা) একটি সংখ্যা বসে।
randomShipRegistryNumber() ফাংশনটি বানান, যা একটি র্যান্ডম স্টারশিপ রেজিস্ট্রি নম্বর রিটার্ন করে।
randomShipRegistryNumber();
// => "NCC-1947"
তারিখ ছাড়া লগের আবার কী দরকার?
স্টারডেট হলো একটি ফ্লোটিং পয়েন্ট সংখ্যা। The Next Generation-এর প্রথম সিজনের স্টারশিপ এন্টারপ্রাইজের অভিযানগুলো 41000.0 থেকে 42000.0 স্টারডেটের মধ্যে ঘটে। এখানে "4" বোঝায় ২৪তম শতাব্দী, আর "1" বোঝায় প্রথম সিজন।
randomStardate ফাংশনটি বানান, যা 41000.0 (সহ) আর 42000.0 (ব্যতীত) এর মধ্যেকার একটি ফ্লোটিং পয়েন্ট সংখ্যা রিটার্ন করে।
randomStardate();
// => 41458.15721310934
ভ্রমণের সময় স্টারশিপ এন্টারপ্রাইজ বহু গ্রহের মুখোমুখি হয়। Star Trek মহাবিশ্বের গ্রহগুলো তাদের বৈশিষ্ট্য অনুযায়ী শ্রেণিতে ভাগ করা হয়েছে। উদাহরণস্বরূপ, পৃথিবী একটি M শ্রেণির গ্রহ। সম্ভাব্য সব গ্রহশ্রেণি হলো: D, H, J, K, L, M, N, R, T এবং Y।
randomPlanetClass() ফাংশনটি বানান।
এটি র্যান্ডমে একটি গ্রহশ্রেণি রিটার্ন করবে।
randomPlanetClass();
// => "K"
Exercism-এ সাইন আপ করুন, JavaScript ট্র্যাকের 37টি কনসেপ্ট159টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।