র্যান্ডম নম্বর জেনারেটর। দুর্ঘটনা, কাকতালীয়, প্যাটার্ন

কীওয়ার্ড: জেনারেটর, এলোমেলো, সংখ্যা, সংখ্যা, অ্যালগরিদম, এলোমেলো, র্যান্ডমাইজ, বিতরণ, ইউনিফর্ম, লটারি

আমি ভাবিনি যে এটি 1C তে কার্যকর হবে, কিন্তু আপনার জন্য... ক্লায়েন্টরা "ক্যাপস সংগ্রহ করুন" এর মতো একটি প্রচার করার সিদ্ধান্ত নিয়েছে, শুধুমাত্র আপনাকে শব্দ সংগ্রহ করতে হবে, যে কেউ তাদের অক্ষরগুলির সেট থেকে সঠিক শব্দ সংগ্রহ করবে জয় সাধারণভাবে, কাজটি সহজ বলে মনে হবে: একটি বর্ণমালা আছে, একটি নির্দিষ্ট শব্দ রয়েছে যা সংগ্রহ করা দরকার, উদাহরণস্বরূপ "কগনাক", এতে 6 টি অক্ষর রয়েছে, আপনি দেখতে পাচ্ছেন।

আপনার প্রয়োজন: বর্ণমালার যেকোনো অক্ষর থেকে একটি নির্দিষ্ট সংখ্যক এলোমেলো ছয়-অক্ষরের সংমিশ্রণ তৈরি করুন, এতে একটি নির্দিষ্ট সংখ্যক বিকল্প যোগ করুন যেখানে শব্দটি এখনও যোগ করা যেতে পারে, উদাহরণস্বরূপ, "nkkoya" - শব্দটি গঠিত হয়, কিন্তু "কাভরি" স্পষ্টতই উপযুক্ত নয়।

অতিরিক্ত শর্ত: এই সমস্ত বিকল্পগুলি (সঠিক এবং নয়) অবশ্যই নম্বরযুক্ত করা উচিত যাতে আপনি যখন একটি "পুরষ্কার" কার্ড পাবেন তখন আপনি নম্বরটি পরীক্ষা করতে পারেন (একটি ছিল কিনা)।

মনে হবে, 1C এর সাথে কি করার আছে? তাই তারা অ্যাকাউন্টিং প্রোগ্রামে এই কার্ড এবং পুরস্কারগুলির জন্য অ্যাকাউন্টিং যোগ করতে চায় এবং একই সময়ে তারা এলোমেলো সংমিশ্রণ তৈরি করতে বলেছিল (ভাল, সেগুলি ম্যানুয়ালি রচনা করা নয়)।
প্রতিটি প্রচারের জন্য, সংমিশ্রণগুলি একবার তৈরি করা হয়, তারপরে তাদের উপর ভিত্তি করে কার্ড তৈরি করা হয়, যেমন পরের বার শব্দ ভিন্ন হবে, ইত্যাদি

সাধারণভাবে, কাজটি নিম্নোক্তভাবে ফুটে ওঠে:
1. এলোমেলো সংখ্যা তৈরি করুন, বিশেষত একটি বড় স্প্রেড দিয়ে।
2. সংখ্যাটি ব্যবহার করে, অক্ষরের সংমিশ্রণ গণনা করুন (অর্থাৎ, সম্ভাব্য সংমিশ্রণ এবং তাদের সংখ্যার মধ্যে কিছু চিঠিপত্র খুঁজুন)।
3. আগেরটির বিপরীত বিন্দু - শব্দ দ্বারা সংমিশ্রণ সংখ্যা পরীক্ষা করুন।

সমাধান:
1. কারণ avb এবং NS থেকে জেনারেটর এলোমেলো সংখ্যার একটি ছোট স্প্রেড দিয়েছে, আমাকে একটু ভিন্ন অ্যালগরিদম ব্যবহার করতে হয়েছিল:

ফাংশন র্যান্ডম()
যদি emptyvalue(randSeed) = 1 হয় তাহলে
randSeed = _getperformancecounter();
যদি শেষ;

RandSeed=(a*randSeed+c)%m;
রিটার্ন রেন্ডসিড;
শেষ ফাংশন

এখানে:
a=1664525; c=1013904223; m=4294967296;
শেষ ভেরিয়েবল হল 2 থেকে 32 তম শক্তি, অন্য দুটি হল এই ধরনের উদ্দেশ্যে প্রস্তাবিত সহগ

2^32-এর সর্বাধিক মান সীমাটি সর্বাধিক সংখ্যক সংমিশ্রণের উপর ভিত্তি করে বেছে নেওয়া হয়েছিল (28টি অক্ষর এবং 7টি শব্দের একটি ছাঁটা বর্ণমালার জন্য, যেহেতু আসল সমস্যাটিতে তাদের মধ্যে ঠিক 7টি রয়েছে, মোট সংমিশ্রণের সংখ্যা হবে 28টি ^7, এইভাবে নির্বাচিত সীমাটি প্রায় ব্যবধানের মাঝখানে অবস্থিত, যা 20-30 হাজার বিকল্পের নমুনার জন্য যথেষ্ট)

আমাদের আরও একটি সহায়ক ফাংশন প্রয়োজন - একটি ধনাত্মক পূর্ণসংখ্যা শক্তি বৃদ্ধি করা:

ফাংশন ডিগ্রী (মান a, মান b, Res=1)
যদি b>0 তারপর
Res=Res*a;
b=b-1;
ডিগ্রী (a, b, Res);
রিটার্ন রিটার্ন;
অন্যথায়
রিটার্ন রিটার্ন;
যদি শেষ;
এন্ড ফাংশন

এখানে: a - ডিগ্রির ভিত্তি, b - সূচক, Res - ফলাফল

2. অনুক্রমিক সংমিশ্রণের মধ্যে সম্পর্ক সনাক্ত করা আশ্চর্যজনকভাবে সহজ বলে প্রমাণিত হয়েছে:

বেশ কয়েকটি উপাদানকে ক্রমানুসারে সাজিয়ে, আমি সংখ্যা পদ্ধতির সাথে প্রতীকগুলির বিন্যাসের মিল প্রকাশ করেছি, শুধুমাত্র দশমিক নয়, তবে এই ক্ষেত্রে "হেক্সাডেসিমেল" (ফলে "শব্দ" এর অক্ষরের সংখ্যা দ্বারা)।
সুতরাং, সংখ্যা দ্বারা একটি সংমিশ্রণ গণনা করার জন্য, এটির সংখ্যাটিকে এই সংখ্যা পদ্ধতিতে রূপান্তর করা প্রয়োজন ছিল।

আমাদের সংখ্যা পদ্ধতির জন্য, ভিত্তিটি হবে ছয়টির শক্তি, অর্থাৎ বাম দিকের প্রথম সংখ্যা পেতে, আপনাকে আমাদের সংমিশ্রণের সংখ্যাকে 6 দ্বারা 5 তম শক্তিতে ভাগ করতে হবে, তারপর বিভাজনের অবশিষ্ট অংশটি 6 থেকে 4 র্থ দিয়ে ভাগ করতে হবে ইত্যাদি।

এইভাবে, আমরা ছয়টি সংখ্যার একটি সেট পাই, যা মূলত আমাদের বর্ণমালার অক্ষরের ক্রমিক সংখ্যা।

ফলাফল কোড:

ফাংশন GetCharacters(Pos,TexCharacter=1,SymStr="")
যদি TekSymv ভাজক=Degree(StrLength(Letter),k-TekSymv);
TechOst=Pos% ডিভাইডার;
SimStr=String(SimStr)+Av(অক্ষর, পূর্ণসংখ্যা(Pos/Divisor+?(TekOst>0,1,0)),1);
GetSymbols(TekOst,TekSymv+1,SymStr);
ফিরুন SimStr;
অন্যথায়
SimStr=SimStr+গড়(অক্ষর,(?(Pos=0,StrLength(অক্ষর),Pos)),1);
ফিরুন SimStr;
যদি শেষ;
এন্ড ফাংশন

এখানে:
Pos - সংমিশ্রণ সংখ্যা (ছদ্মনাম সংখ্যা)
TechSym - বর্তমান প্রতীক প্রক্রিয়া করা হচ্ছে
SimStr - অক্ষরের ফলে স্ট্রিং
অক্ষর = একটি স্ট্রিং যাতে বর্ণমালার অক্ষরগুলি আদর্শ ক্রমে থাকে ("abv...yuya")
k - অনুসন্ধান শব্দে অক্ষরের সংখ্যা (এই ক্ষেত্রে = 6)

3. বিপরীত রূপান্তরও তুচ্ছ:

ফাংশন গেট কম্বিনেশন (Word,TexCharacter=0,Pos=0)
NomSymv=Find(অক্ষর,Am(Word,k-TekSymv,1));
যদি TechCym>0 তারপর
যদি TechCym Pos=Pos+(NomSym-1)*ডিগ্রী(StrLength(অক্ষর),TechCym);
অন্যথায়
রিটার্ন Pos;
যদি শেষ;
অন্যথায়
Pos=?(NomCym=StrLength(অক্ষর),0,NomSymv);
গেট কম্বিনেশন (শব্দ, টেকক্যারেক্টার+1, পস);
রিটার্ন Pos;
যদি শেষ;
এন্ড ফাংশন

এখানে:
একটি শব্দ হল অক্ষরের সংমিশ্রণ যার সংখ্যা আমরা খুঁজছি
TekSymv - বর্তমান প্রতীক প্রক্রিয়া করা হচ্ছে (মূলত একটি হেক্সাডেসিমেল "সংখ্যা" এর একটি সংখ্যা)
Pos - প্রয়োজনীয় সমন্বয় সংখ্যা


************************

এন সংখ্যা মিশ্রিত করুন:

a=1 থেকে N চক্রের জন্য
অ্যারে [a] = a;
চক্রের সমাপ্তি;
a=1 থেকে N-1 চক্রের জন্য
Sl=কেস(a,N);// ব্যবধানে পূর্ণসংখ্যা র্যান্ডম সংখ্যা [a..N]
কে = অ্যারে [এ];
array[a] = array[Sl];
অ্যারে [Sl]=K;
এন্ডসাইকেল;

//********************************************************************************
************************

Sc = CreateObject("MSScriptControl.ScriptControl");
Sc.language = "VBscript";
sc.executeStatement("র্যান্ডমাইজ");
এটা এখানে হবে = Sc.eval("rnd");

আমি কিভাবে 1 থেকে 100 পর্যন্ত এলোমেলোভাবে সংখ্যা নির্বাচন করতে পারি?

Rand=_GetPerformanceCounter()%(100+1);

মনে হচ্ছে এটি সেরা

//********************************************************************************
************************

8.0 এ, আপনি র্যান্ডম সংখ্যা তৈরি করতে অন্তর্নির্মিত GUID জেনারেটর ব্যবহার করতে পারেন।
এখানে একটি সাধারণ ফাংশনের একটি উদাহরণ:

//শুধুমাত্র পূর্ণসংখ্যার জন্য
ফাংশন GetRandomNumber(মিনিট,সর্বোচ্চ)

// র্যান্ডমাইজের পরিবর্তে
n = 1 পর্যন্ত 100 সাইকেলের জন্য
ইউনিক = New UniqueIdentifier;
এন্ডসাইকেল;

// GUID তৈরি করুন
অনন্য = AbbrLP (নতুন অনন্য সনাক্তকারী);

// শুধুমাত্র সংখ্যা রাখুন
অনন্য = StrReplace(অনন্য,"-","");
অনন্য = StrReplace(অনন্য,"a","");
অনন্য = StrReplace(অনন্য,"b","");
অনন্য = StrReplace(অনন্য,"c","");
অনন্য = StrReplace(অনন্য,"d","");
অনন্য = StrReplace(অনন্য,"e","");
অনন্য = StrReplace(অনন্য,"f","");

// হরটিতে অবশ্যই একই সংখ্যক শূন্য + 1 থাকতে হবে
হর = 10;
n = 2 দ্বারা (StrLength(StrReplace(Unique, Characters.NPP,""))) লুপের জন্য
হর = হর * 10;
এন্ডসাইকেল;

কেস = সংখ্যা (অনন্য) / হর; //এখানে আমরা 0 থেকে 1 পর্যন্ত একটি ভগ্নাংশ র্যান্ডম সংখ্যা পাই

// এটিকে একটি প্রদত্ত ব্যবধান থেকে একটি র্যান্ডম সংখ্যায় রূপান্তর করুন, নিকটতম পূর্ণসংখ্যাতে বৃত্তাকার করুন৷
NumberOfInterval = ন্যূনতম(সর্বোচ্চ(অ্যাব(মিন + (সর্বোচ্চ-মিন)*র্যান্ড), মিনিমাম), সর্বোচ্চ);

রিটার্ন নাম্বারফ্রম ইন্টারভাল;

এন্ড ফাংশন

থেকে নেওয়া [লিংক দেখতে আপনাকে অবশ্যই নিবন্ধন করতে হবে]

//********************************************************************************
************************

পুনশ্চ. একটি র্যান্ডম নম্বর জেনারেটর খুঁজতে গিয়ে আমি এই নিবন্ধটি পেয়েছি। তাই নিজের জন্য আমি বিকল্পটি বেছে নিয়েছি
Rand=_GetPerformanceCounter()%(100+1);


কীওয়ার্ড: জেনারেটর, এলোমেলো, সংখ্যা, সংখ্যা, অ্যালগরিদম, এলোমেলো, র্যান্ডমাইজ, বিতরণ, ইউনিফর্ম, লটারি

আমি ভাবিনি যে এটি 1C তে কার্যকর হবে, কিন্তু আপনি এখানে... ক্লায়েন্টরা "ক্যাপস সংগ্রহ করুন" এর মতো একটি প্রচার করার সিদ্ধান্ত নিয়েছে, শুধুমাত্র আপনাকে শব্দ সংগ্রহ করতে হবে, যে কেউ তাদের সেট থেকে সঠিক শব্দ সংগ্রহ করবে অক্ষর জয়। সাধারণভাবে, কাজটি সহজ বলে মনে হবে: একটি বর্ণমালা আছে, একটি নির্দিষ্ট শব্দ রয়েছে যা সংগ্রহ করা দরকার, উদাহরণস্বরূপ "কগনাক", এতে 6 টি অক্ষর রয়েছে, আপনি দেখতে পাচ্ছেন।

আপনার প্রয়োজন: বর্ণমালার যেকোনো অক্ষর থেকে একটি নির্দিষ্ট সংখ্যক এলোমেলো ছয়-অক্ষরের সংমিশ্রণ তৈরি করুন, এতে একটি নির্দিষ্ট সংখ্যক বিকল্প যোগ করুন যেখানে শব্দটি এখনও যোগ করা যেতে পারে, উদাহরণস্বরূপ, "nkkoya" - শব্দটি গঠিত হয়, কিন্তু "কাভরি" স্পষ্টতই উপযুক্ত নয়।

অতিরিক্ত শর্ত: এই সমস্ত বিকল্পগুলি (সঠিক এবং নয়) অবশ্যই নম্বরযুক্ত করা উচিত যাতে আপনি যখন একটি "পুরষ্কার" কার্ড পাবেন তখন আপনি নম্বরটি পরীক্ষা করতে পারেন (একটি ছিল কিনা)।

মনে হবে, 1C এর সাথে কি করার আছে? তাই তারা অ্যাকাউন্টিং প্রোগ্রামে এই কার্ড এবং পুরস্কারগুলির জন্য অ্যাকাউন্টিং যোগ করতে চায় এবং একই সময়ে তারা এলোমেলো সংমিশ্রণ তৈরি করতে বলেছিল (ভাল, সেগুলি ম্যানুয়ালি রচনা করা নয়)।
প্রতিটি প্রচারের জন্য, সংমিশ্রণগুলি একবার তৈরি করা হয়, তারপরে তাদের উপর ভিত্তি করে কার্ড তৈরি করা হয়, যেমন পরের বার শব্দ ভিন্ন হবে, ইত্যাদি

সাধারণভাবে, কাজটি নিম্নোক্তভাবে ফুটে ওঠে:
1. এলোমেলো সংখ্যা তৈরি করুন, বিশেষত একটি বড় স্প্রেড দিয়ে।
2. সংখ্যাটি ব্যবহার করে, অক্ষরের সংমিশ্রণ গণনা করুন (অর্থাৎ, সম্ভাব্য সংমিশ্রণ এবং তাদের সংখ্যার মধ্যে কিছু চিঠিপত্র খুঁজুন)।
3. আগেরটির বিপরীত বিন্দু - শব্দ দ্বারা সংমিশ্রণ সংখ্যা পরীক্ষা করুন।

সমাধান:
1. কারণ avb এবং NS থেকে জেনারেটর এলোমেলো সংখ্যার একটি ছোট স্প্রেড দিয়েছে, আমাকে একটু ভিন্ন অ্যালগরিদম ব্যবহার করতে হয়েছিল:

ফাংশন Random() যদি emptyvalue(randSeed) = 1 হয় তাহলে randSeed = _getperformancecounter(); যদি শেষ; randSeed=(a*randSeed+c)%m; রিটার্ন রেন্ডসিড; শেষ ফাংশন

এখানে:
a=1664525; c=1013904223; m=4294967296;
শেষ ভেরিয়েবল হল 2 থেকে 32 তম শক্তি, অন্য দুটি হল এই ধরনের উদ্দেশ্যে প্রস্তাবিত সহগ

2^32-এর সর্বাধিক মান সীমাটি সর্বাধিক সংখ্যক সংমিশ্রণের উপর ভিত্তি করে বেছে নেওয়া হয়েছিল (28টি অক্ষর এবং 7টি শব্দের একটি ছাঁটা বর্ণমালার জন্য, যেহেতু আসল সমস্যায় তাদের মধ্যে ঠিক 7টি রয়েছে, মোট সংমিশ্রণের সংখ্যা হবে 28টি ^7, এইভাবে নির্বাচিত সীমাটি প্রায় ব্যবধানের মাঝখানে অবস্থিত, যা 20-30 হাজার বিকল্পের নমুনার জন্য যথেষ্ট)

আমাদের আরও একটি সহায়ক ফাংশন প্রয়োজন - একটি ধনাত্মক পূর্ণসংখ্যা শক্তি বৃদ্ধি করা:

ফাংশন ডিগ্রী (মান a, মান b, Res=1) যদি b>0 তাহলে Res=Res*a; b=b-1; ডিগ্রী (a, b, Res); রিটার্ন রিটার্ন; অন্যথায় রিটার্ন রিটার্ন; যদি শেষ; এন্ড ফাংশন

এখানে: a - ডিগ্রির ভিত্তি, b - সূচক, Res - ফলাফল

2. অনুক্রমিক সংমিশ্রণের মধ্যে সম্পর্ক সনাক্ত করা আশ্চর্যজনকভাবে সহজ বলে প্রমাণিত হয়েছে:

বেশ কয়েকটি উপাদানকে ক্রমানুসারে সাজিয়ে, আমি সংখ্যা পদ্ধতির সাথে প্রতীকগুলির বিন্যাসের মিল প্রকাশ করেছি, শুধুমাত্র দশমিক নয়, তবে এই ক্ষেত্রে "হেক্সাডেসিমেল" (ফলে "শব্দ" এর অক্ষরের সংখ্যা দ্বারা)।
সুতরাং, সংখ্যা দ্বারা একটি সংমিশ্রণ গণনা করার জন্য, এটির সংখ্যাটিকে এই সংখ্যা পদ্ধতিতে রূপান্তর করা প্রয়োজন ছিল।

আমাদের সংখ্যা পদ্ধতির জন্য, ভিত্তি হবে ছয়ের শক্তি, অর্থাৎ বাম দিকের প্রথম সংখ্যা পেতে, আপনাকে আমাদের সংমিশ্রণের সংখ্যাটিকে 6 দ্বারা 5 তম শক্তিতে ভাগ করতে হবে, তারপর বিভাজনের অবশিষ্ট অংশটিকে 6 থেকে 4 র্থ দ্বারা ভাগ করতে হবে ইত্যাদি।

এইভাবে, আমরা ছয়টি সংখ্যার একটি সেট পাই, যা মূলত আমাদের বর্ণমালার অক্ষরের ক্রমিক সংখ্যা।

ফলাফল কোড:

ফাংশন GetCharacters(Pos,TechChar=1 ,SymStr="") যদি TechChar<к Тогда Делитель=Степень(СтрДлина(Буквы),к-ТекСимв); ТекОст=Поз%Делитель; СимСтр=Строка(СимСтр)+Сред(Буквы,Цел(Поз/Делитель+?(ТекОст>0 ,1 ,0 )),1); GetSymbols(TekOst,TekSymv+1,SymStr); ফিরুন SimStr; অন্যথায় SimStr=SimStr+গড়(অক্ষর,(?(Pos=0 ,StrLength(অক্ষর),Pos)),1 ); ফিরুন SimStr; যদি শেষ; এন্ড ফাংশন

এখানে:
Pos - সংমিশ্রণ সংখ্যা (ছদ্মনাম সংখ্যা)
TechSym - বর্তমান প্রতীক প্রক্রিয়া করা হচ্ছে
SimStr - অক্ষরের ফলে স্ট্রিং
অক্ষর = একটি স্ট্রিং যাতে বর্ণমালার অক্ষরগুলি আদর্শ ক্রমে থাকে ("abv...yuya")
k - অনুসন্ধান শব্দে অক্ষরের সংখ্যা (এই ক্ষেত্রে = 6)

3. বিপরীত রূপান্তরও তুচ্ছ:

ফাংশন GetCombination(শব্দ, টেকচ্যারেক্টার=0 , Pos=0 ) NomCharacter=Find(Leters, Medium(Word, to-TechCharacter, 1 )); যদি TechCym>0 তারপর যদি TechSym<к Тогда Поз=Поз+(НомСимв-1 )*Степень(СтрДлина(Буквы),ТекСимв); ПолучитьКомбинацию(Слово,ТекСимв+1 ,Поз); Иначе Возврат Поз; КонецЕсли; Иначе Поз=?(НомСимв=СтрДлина(Буквы),0 ,НомСимв); ПолучитьКомбинацию(Слово,ТекСимв+1 ,Поз); Возврат Поз; КонецЕсли; КонецФункции

এখানে:
একটি শব্দ হল অক্ষরের সংমিশ্রণ যার সংখ্যা আমরা খুঁজছি
TekSymv - বর্তমান প্রতীক প্রক্রিয়া করা হচ্ছে (মূলত একটি হেক্সাডেসিমেল "সংখ্যা" এর একটি সংখ্যা)
Pos - প্রয়োজনীয় সমন্বয় সংখ্যা

এন সংখ্যা মিশ্রিত করুন:

a=1 এর মাধ্যমে N লুপ অ্যারে[a]=a এর জন্য; চক্রের সমাপ্তি; a=1 থেকে N-1 চক্রের জন্য Cl=কেস(a,N); // ব্যবধানে পূর্ণসংখ্যা র্যান্ডম সংখ্যা [a..N]কে = অ্যারে [এ]; array[a] = array[Sl]; অ্যারে [Sl]=K; এন্ডসাইকেল;

Sc = CreateObject("MSScriptControl.ScriptControl"); Sc.language = "VBscript"; sc.executeStatement("র্যান্ডমাইজ"); এটা এখানে হবে = Sc.eval("rnd");

আমি কিভাবে 1 থেকে 100 পর্যন্ত এলোমেলোভাবে সংখ্যা নির্বাচন করতে পারি?

Rand=_GetPerformanceCounter()%(100 +1);
মনে হচ্ছে এটি সেরা

লাইব্রেরি মাদুর। ফাংশন যেখানে একটি এসএল জেনারেটর আছে। সংখ্যা:
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=92&lid=2688

8.0 এ, আপনি র্যান্ডম সংখ্যা তৈরি করতে অন্তর্নির্মিত GUID জেনারেটর ব্যবহার করতে পারেন।
এখানে একটি সাধারণ ফাংশনের একটি উদাহরণ:

//শুধুমাত্র পূর্ণসংখ্যার জন্যফাংশন GetRandomNumber(Min,Max) // n = 1 বাই 100 চক্র অনন্য = নতুন অনন্য সনাক্তকারীর জন্য র্যান্ডমাইজের পরিবর্তে; এন্ডসাইকেল; // GUID অনন্য = AbbrLP(নতুন অনন্য সনাক্তকারী) তৈরি করুন; // শুধুমাত্র সংখ্যা রাখুনঅনন্য = StrReplace(অনন্য,"- ",""); অনন্য = StrReplace(অনন্য,"a ",""); অনন্য = StrReplace(অনন্য,"b ",""); অনন্য = StrReplace(অনন্য,"c ",""); অনন্য = StrReplace(অনন্য,"d ",""); অনন্য = StrReplace(অনন্য,"e ",""); অনন্য = StrReplace(অনন্য,"f ",""); // হরটিতে অবশ্যই একই সংখ্যক শূন্য + 1 থাকতে হবেহর = 10; n = 2 এর জন্য (StrLength(StrReplace(Unique, Characters.NPP,""))) সাইকেল ডিনোমিনেটর = ডিনোমিনেটর * 10 ; এন্ডসাইকেল; কেস = সংখ্যা (অনন্য) / হর; //এখানে আমরা 0 থেকে 1 পর্যন্ত একটি ভগ্নাংশ র্যান্ডম সংখ্যা পাই // এটিকে একটি প্রদত্ত ব্যবধান থেকে একটি র্যান্ডম সংখ্যায় রূপান্তর করুন, নিকটতম পূর্ণসংখ্যাতে বৃত্তাকার করুন৷ NumberOfInterval = ন্যূনতম(সর্বোচ্চ(অ্যাব(মিন + (সর্বোচ্চ-মিন)*র্যান্ড), মিনিমাম), সর্বোচ্চ); রিটার্ন নাম্বারফ্রম ইন্টারভাল; এন্ড ফাংশন

আরেকটি সিস্টেম বিকল্প:
Rnd = CreateObject("System.Random"); রিপোর্ট(Rnd.Next());

আমি শুধু এই বিস্ময়কর শব্দ দিয়ে নিবন্ধটি শুরু করিনি। এটা ঘটেছে, প্রোগ্রামার তার অস্ত্রাগারে একটি সুবিধাজনক টুল আছে যা তাকে একটি নির্দিষ্ট ব্যবধানে একটি এলোমেলো পূর্ণসংখ্যা পেতে দেয়। অন্যান্য প্রোগ্রামিং ভাষার স্ট্যান্ডার্ড ফাংশনগুলি 0 থেকে 1 পর্যন্ত পরিসরে একটি ভগ্নাংশ সংখ্যা তৈরি করে। এটি ব্যবহার করার জন্য খুব সুবিধাজনক সংখ্যা নয়; একটি নির্দিষ্ট পরিসরে একটি র্যান্ডম সিকোয়েন্স পেতে আপনাকে অতিরিক্ত কঠোর পরিশ্রম করতে হবে, উদাহরণস্বরূপ, থেকে 1 থেকে 5।

একটি সুবিধাজনক টুল চেক করা প্রয়োজন, প্রায়শই RNG গুলি খুব উচ্চ মানের হয় না এবং খারাপভাবে মিশ্রিত সিউডো-সিকোয়েন্সগুলি থেকে পরিত্রাণ পেতে আপনাকে উত্পন্ন সংখ্যাগুলির এলোমেলোতা বাড়ানোর জন্য অতিরিক্ত গণিত অনুশীলন করতে হবে। আমরা প্রায়শই গোপনীয়তা, আর্থিক সংস্থান, বিনোদন, মডেলিং, সমালোচনামূলক স্বয়ংক্রিয় নিয়ন্ত্রণ ব্যবস্থার পরীক্ষা, পরীক্ষার প্রোগ্রামগুলির সাথে এলোমেলো সংখ্যাগুলিতে বিশ্বাস করি, তাই মান ব্যবধান থেকে ডিগ্রি পর্যন্ত বিভিন্ন নির্দিষ্ট বৈশিষ্ট্য সহ একটি সিরিজের একটি অনন্য ক্রম থাকা খুবই গুরুত্বপূর্ণ। ক্রম সংখ্যার মিশ্রণ।

আমি আপনাকে অসফল এলোমেলো সংখ্যা তৈরির একটি উদাহরণ দিই। 1993 সালে, যখন 640x480 রেজোলিউশনের একটি নন-কালার ভিজিএ মনিটর ভাল বলে বিবেচিত হয়েছিল এবং প্রোগ্রামারদের চোখ এতে কম ক্লান্ত ছিল, প্যারাডক্স ডিবিএমএস ব্যাপক ছিল। বোরল্যান্ড ইন্টারন্যাশনালের লোভী লোকেরা আরও অর্থ উপার্জন করার সিদ্ধান্ত নিয়েছে এবং নেটওয়ার্ক অ্যাক্সেসের জন্য 10 সংখ্যা বিশিষ্ট একটি কী প্রয়োজন। আপনি যত বেশি কী লিখবেন, তত বেশি ব্যবহারকারী একই সাথে ডাটাবেসের সাথে সংযোগ করতে পারবেন।

এখন আমি আমার সাফল্য নিয়ে গর্ব করা শুরু করব :) বিভিন্ন উপায়ে, 3টি কী আমার কাছে এসেছিল এবং এটি আমার মনে হয়েছিল যে সিকোয়েন্সটি সিউডো-এলোমেলো এবং খারাপভাবে মিশ্রিত ছিল। কোনো প্রযুক্তি ছাড়াই, জটিল গণনা, এমনকি কোনো ক্যালকুলেটর ছাড়াই, আমি এই কীগুলোর যেকোনো সংখ্যা নিতে পেরেছি। অবশ্যই, বোরল্যান্ড সংস্থাটি বড় ক্ষতির শিকার হয়নি, তবে যেহেতু আপনি ইতিমধ্যে সুরক্ষায় নিযুক্ত আছেন, তবে এটি ভালভাবে করুন, বা অকেজো কাজে সময় নষ্ট করবেন না। আমি এটি থেকে একটি নৈতিক আঁকব না, আমি আশা করি এটি পরিষ্কার হয়ে গেছে যে RNG একটি গুরুত্বপূর্ণ বিষয়।

সিউডো-র্যান্ডম সিকোয়েন্সের প্রতিরক্ষায়, আমি বলব যে কখনও কখনও সেগুলি প্রয়োজনীয়, উদাহরণস্বরূপ, যখন একটি সূত্র ব্যবহার করে নিরাপত্তা কী গণনা করা হয় এবং প্রোগ্রাম স্থানীয় মোডে সফলভাবে কী যাচাই করার সিদ্ধান্ত নেয়। 1993 সালে, ইন্টারনেট ব্যাপক ছিল না এবং প্রোগ্রামারদের তৃতীয় পক্ষের সার্ভারে পরীক্ষা না করেই সিকোয়েন্স অ্যালগরিদম নিয়ে আসতে হয়েছিল। তবে ভালো করে মেশাতে ভুলবেন না। নেটওয়ার্কগুলির আধুনিক বিকাশের সাথে, যাচাইকরণ সার্ভার ব্যবহার করে উভয় প্রোগ্রাম এবং সরঞ্জামের সিরিয়াল নম্বর যাচাই করা সম্ভব হয়েছে। এই সিস্টেমটি নকলের প্রতিরোধকে উল্লেখযোগ্যভাবে বৃদ্ধি করেছে, তবে এটি কোনও গোপন বিষয় নয় যে এটি সত্ত্বেও, সফ্টওয়্যারটির অননুমোদিত ব্যবহার এখনও ঘটে।

উপসংহার হল: তালা এবং কোষ্ঠকাঠিন্য সৎ মানুষ দ্বারা ইনস্টল করা হয়।

1C প্ল্যাটফর্মে বস্তুর অপারেশন অত্যন্ত সহজ, যদিও কিছু অদ্ভুততা আছে।

RNG = NewRandomNumberGenerator(শুরুকরণ); //এখানে আপনি র্যান্ডম নম্বর জেনারেটরের অপারেশন পরিবর্তন করতে পারেন, নম্বরের ইনিশিয়ালাইজেশন পরিবর্তন করলে বিভিন্ন ফলাফল পাওয়া যায় Return RNG.RandomNumber(1, SettingsOption);

আপনি যদি ইনিশিয়ালাইজেশন নির্দিষ্ট না করেন, তাহলে সিকোয়েন্সগুলি এলোমেলোভাবে তৈরি হয়, নিজেদের আরম্ভ করে। প্রদত্ত প্রারম্ভিক সংখ্যা একটি অনুমানযোগ্য ক্রম ফেরত দেবে, যা কখনও কখনও প্রয়োজনীয় এবং দরকারী। এবং যদি আপনি প্রতিবার একটি ভিন্ন সংখ্যা উল্লেখ করেন, তাহলে আপনি সংখ্যার ক্রমটির একটি খুব ভাল মিশ্রণ পাবেন।

1C-তে র্যান্ডম নম্বর জেনারেটরের অপারেশন অধ্যয়ন করার জন্য, আমি কয়েকটি চিকিত্সা তৈরি করেছি এবং একটিকে একটি গেমের আকারে আরও আকর্ষণীয় করতে, তবে গেমটি পরে, ব্যবসা প্রথমে।

CurrentUniversalDateInMilliseconds() ফাংশন দ্বারা জেনারেটর ক্রমাগত সূচনা করার সাথে 0 থেকে 10000 এর মধ্যে 500 র্যান্ডম সংখ্যা তৈরি করা হয়েছিল। চিত্রটি মানগুলির একটি ভাল বিতরণ দেখায়। অভিনব প্যাটার্ন। Y অক্ষে সংখ্যার মান, X অক্ষে পুনরাবৃত্তি সংখ্যা।

পয়েন্টগুলির অবস্থানগুলি বেশ বিরল, তারা প্রায় একে অপরের সাথে লেগে থাকে না, যা খুব ভাল, যার অর্থ উৎপন্ন সংখ্যাগুলি খুব বৈচিত্র্যময়।

আসুন কৃত্রিমভাবে ডায়াগ্রামের একটি খারাপ সংস্করণ তৈরি করি:

ভালো প্রজন্মের ক্ষেত্রে এমন হওয়া উচিত নয়।

র্যান্ডম নম্বর জেনারেটর সেটিংস একটি খুব গুরুত্বপূর্ণ পয়েন্ট. তাদের মধ্যে কয়েকটি আছে, কিন্তু সবকিছু তাদের উপর নির্ভর করে।

এই সেটিং দিয়ে, 0 থেকে 10000 পর্যন্ত 500টি সংখ্যার একটি ক্রম তৈরি হয় এবং জেনারেটরটি ক্রমাগত একটি নতুন সংখ্যার সাথে শুরু হয়।

আসুন মানগুলির উত্পন্ন সারণীটি দেখি, পূর্বে এটিকে মান অনুসারে সাজানো হয়েছে, জেনারেটরের দ্বারা জারি করা পুনরাবৃত্তি সংখ্যা রয়েছে কিনা তা দেখতে।

বাছাই করা তালিকার একটি দ্রুত ভিজ্যুয়াল পরিদর্শন দেখায় যে পুনরাবৃত্তি ছিল, যদিও সেগুলি হওয়ার সম্ভাবনা কম ছিল। প্রজন্মের জন্য সংখ্যার বিস্তৃত পরিসর নির্দিষ্ট করা হয়েছিল, কিন্তু ধাপ 10 এবং 30 এ সংখ্যাগুলি পুনরাবৃত্তি করা হয়েছিল।

আমরা উপসংহারে পৌঁছেছি: র‍্যান্ডম নম্বর জেনারেটর বস্তুটি পুনরাবৃত্তি করা সংখ্যা তৈরি করতে পারে।

এটি কখনও কখনও অগ্রহণযোগ্য। উদাহরণস্বরূপ, আমরা একটি র্যান্ডম নথি নম্বর তৈরি করি, অসামঞ্জস্যপূর্ণভাবে, ব্যবহারকারীকে জানাতে যে একটি নির্দিষ্ট নথি খুলতে পারে৷ এই ক্ষেত্রে, পুনরাবৃত্তিগুলি অগ্রহণযোগ্য, অন্যথায়, পুনরাবৃত্তি হলে, কোন নথি খুলতে হবে তা স্পষ্ট হবে না।

কেন র্যান্ডম নম্বরিং প্রয়োজন? ধরা যাক আমরা মেরামতের জন্য হস্তান্তর করা সরঞ্জামগুলির জন্য আমাদের অংশীদারদের নথি নম্বর ইস্যু করি। আপনি ক্রমাগত ক্রমিক সংখ্যায়ন সংখ্যা ইস্যু করতে পারেন, কিন্তু ক্লায়েন্ট, একটি নম্বর থাকার কারণে, কমপক্ষে প্রতিবেশীগুলি দেখতে পারে এবং সংখ্যার ব্যবধান জেনে সমস্ত নথি দেখতে পারে। প্রদত্ত উদাহরণে, এটি এমন গোপনীয় নয়, তবে কখনও কখনও অন্যান্য নথি থেকে তথ্য গোপন রাখা প্রয়োজন।

প্রজন্মের সংখ্যা মানের বৃহৎ ব্যবধানের সাথে, ঘটনা পুনরাবৃত্তি হওয়ার সম্ভাবনা হ্রাস পাবে, কিন্তু যদি একটি ঘটনা ঘটতে পারে, তবে এটি অবশ্যই ঘটবে।

একটি সমাধান হতে পারে স্বতন্ত্রতার জন্য উত্পন্ন সংখ্যা পরীক্ষা করা, কিন্তু খুব দীর্ঘ ক্রমগুলির জন্য এটি অনেক সময় নেবে। আমাদের আরও জটিল মিশ্রণ সম্পর্কে চিন্তা করতে হবে, তবে এটি কাজটিকে আরও আকর্ষণীয় করে তোলে;)।

একটি চার্টে মানগুলি প্রদর্শন করার সময়, আমার কম্পিউটারে 1000টি মান যুক্ত করার পরে প্রক্রিয়াকরণ লক্ষণীয়ভাবে ধীর হতে শুরু করে, তাই সেটিংসে একটি চেকবক্স রয়েছে "একটি চার্ট তৈরি করবেন না"। ইনস্টল করা হলে, দীর্ঘ ক্রম তৈরি করার সময় অপারেশনের গতি উল্লেখযোগ্যভাবে বৃদ্ধি পায়, তাই গবেষণা করার সময়, উত্পন্ন সংখ্যার সংখ্যা নির্ধারণ করার সময় সতর্কতা অবলম্বন করুন।

জেনারেটরকে একটি নির্দিষ্ট ইনিশিয়ালাইজেশন মান দেওয়া যেতে পারে, তারপর আপনি যতবার জেনারেট চাপুন না কেন ফলাফল একই হবে। যখন প্রসেসিং ফিল্ড "RNG ইনিশিয়ালাইজেশন নাম্বার" 0 তে সেট করা হয়, তখন সিউডো-র্যান্ডম ইনিশিয়ালাইজেশন ঘটে যখন সংখ্যার একটি ক্রম তৈরি করা হয়।

জেনারেটরের গতি ভাল, উদাহরণস্বরূপ, 0.5 সেকেন্ডেরও কম সময়ে 100,000 নম্বর তৈরি হয়েছিল।

আমি রক, পেপার, কাঁচি গেমের উদাহরণ ব্যবহার করে সংখ্যার একটি ছোট পরিসরে RNG ব্যবহারের একটি উদাহরণ দেখাব।

নিয়মগুলি সহজ: দুটি খেলোয়াড় ইঙ্গিত সহ নির্দেশিত বস্তুগুলি দেখায়। এই মুহুর্তে যার শক্তিশালী ফিগার আছে সে জিতবে।

রক কাঁচি পরাজিত.

কাঁচি পেপার মারছে।

কাগজ স্টোনকে পরাজিত করে।

এই বিকল্পে, সবকিছুই সমান এবং জেতার সম্ভাবনা একই।

99টি গেম খেলার পর, আমি প্রতিটি চিত্রে একই সংখ্যক ক্লিক করেছি, 33 বার, এটি নীচের ডানদিকের চিত্রে দেখা যাবে। কম্পিউটারটি আমার চেয়ে প্রায়ই জিতেছে, যা কিছুটা হতাশাজনক ছিল। কম্পিউটারটি প্রায়শই কাগজ ব্যবহার করে, যেমনটি নীচের বাম চার্টে দেখা যায়। মাঝখানের গ্রাফটি দেখায় যে আমি বিজয়ী নই। কম্পিউটারের জয়ের লাল গ্রাফ সবুজের চেয়ে বেশি (আমার জয়)।

তোমার ভাগ্য পরীক্ষা কর! টুকরা আউট পতনের একই সম্ভাবনা সত্ত্বেও, ফলাফল সবসময় ভিন্ন হয়.

গেমের পরিসংখ্যানগুলি মাঝখানে, উপাদানগুলির গোলাপী গোষ্ঠীতে শীর্ষে প্রদর্শিত হয়।

মাউস দিয়ে একবার বোতামটি ক্লিক করে, আপনি তারপরে পছন্দসই চিত্রটি নির্বাচন করতে কীবোর্ডের সংখ্যাগুলি ব্যবহার করতে পারেন (অতিরিক্ত একটি নয়)৷ কী টিপে, আপনি একটু দ্রুত ডেটা প্রবেশ করতে পারেন, বিশেষ করে যদি পরিসংখ্যান সংগ্রহের জন্য আপনাকে বুদ্ধিহীন গেম খেলতে হয়।

এর খেলা জটিল করা যাক. এর ক্লাসিক পরিসংখ্যান একটি ভাল যোগ করা যাক.

রক কাঁচি পরাজিত.

কাঁচি পেপার মারছে।

কাগজ রক এবং ওয়েল পরাজিত.

ওয়েল রক এবং কাঁচি পরাজিত.

এই বৈকল্পিকটিতে, টুকরোগুলির অসম মান প্রদর্শিত হয় এবং তাত্ত্বিকভাবে, কাগজ এবং ওয়েল বেছে নিয়ে জেতার আরও সম্ভাবনা রয়েছে, যেহেতু তাদের অস্ত্রাগারে তারা দুটি সহকর্মীকে পরাজিত করতে পারে। চলুন অনুশীলনে এটি পরীক্ষা করা যাক:

আমি কেবল শক্তিশালী টুকরাগুলিতে ক্লিক করেছি এবং জিতেছি। অনুশীলন দ্বারা তত্ত্ব নিশ্চিত করা হয়েছিল।

শুধুমাত্র দুর্বল টুকরাগুলিতে ক্লিক করলেও ফলাফল পাওয়া যায়, আমি হেরে গিয়েছিলাম।

গেমটির আরও জটিল সংস্করণ হল পঞ্চম অংশ, ফায়ারের প্রবর্তন।

রক কাঁচিকে পরাজিত করে এবং ওয়েল পেপার এবং ফায়ারের কাছে হেরে যায়।

কাঁচি কাগজকে পরাজিত করে এবং ফায়ার রক এবং ওয়েলকে হারায়।

কাগজ পরাজিত রক এবং ওয়েল ফায়ার এবং কাঁচি পরাজিত.

ওয়েল ফায়ারকে পরাজিত করে এবং কাঁচি রক এবং পেপারের কাছে হেরে যায়।

আগুন কাগজকে পরাজিত করে এবং রক কাঁচি এবং ওয়েলকে হারায়।

এই ভেরিয়েন্টে, টুকরা সমান, কিন্তু দুটি টুকরা জয় এবং হার, এটি কিছু ষড়যন্ত্র যোগ করে এবং ড্রয়ের সম্ভাবনা হ্রাস করে।

আমার ক্লিক বিশৃঙ্খল ছিল এবং কম্পিউটার আবার আমাকে বীট. গেম চলাকালীন, আপনি দেখতে পারেন যে কম্পিউটারটি প্রায়শই কোন অংশটি ব্যবহার করে; এই তথ্যের ভিত্তিতে, আপনি বিশৃঙ্খলভাবে না খেলার চেষ্টা করতে পারেন, তবে চিন্তাভাবনা করে এবং সম্ভবত আপনার সাফল্যের সম্ভাবনা বাড়িয়ে তুলতে পারেন।

একটি র্যান্ডম নম্বর জেনারেটর সেট আপ করার নিজস্ব বৈশিষ্ট্য রয়েছে। যখন "ব্যবহারকারীর প্রতিক্রিয়া ব্যবহার করবেন না" পতাকাটি সাফ করা হয়, তখন আরএনজি শুরু করার সময় প্লেয়ার দ্বারা চাপানো কীটির সংখ্যা ব্যবহার করা হয়, যা প্রজন্মে এলোমেলোতা যোগ করে। মানুষ এলোমেলো সংখ্যার একটি চমৎকার জেনারেটর, কিন্তু তবুও মস্তিষ্কেরও ছদ্ম-ক্রম রয়েছে। আপনি যদি একজন ব্যক্তিকে 100টি কী প্রেস করতে বাধ্য করেন, তবে এই পদ্ধতিটি যথাসম্ভব বিভিন্ন কী টিপে, বা শুধুমাত্র একটি বোতাম টিপে অসতর্কভাবে করা যেতে পারে। এই পতাকা সেট করা হলে, শুধুমাত্র কম্পিউটার এলোমেলো কাজ করে।

একজন ব্যক্তির কাছ থেকে একটি এলোমেলো ক্রম গ্রহণ করার সময়, উদাহরণস্বরূপ, একটি বৈদ্যুতিন স্বাক্ষর কী তৈরি করার জন্য, কেবল চাপানো কী নয়, প্রেসের মধ্যে ব্যবধানও বিবেচনায় নেওয়ার পরামর্শ দেওয়া হয়। এটি খুব এলোমেলো তথ্য, যদিও একজন ভাল সঙ্গীতশিল্পী একই ক্রম কয়েকবার তৈরি করতে পারেন।

"আরএনজি ইনিশিয়ালাইজেশন ব্যবহার করবেন না" পতাকা ইনিশিয়ালাইজেশন মোড চালু/বন্ধ করে। যদি আপনি একটি র্যান্ডম নম্বর জেনারেটর অবজেক্ট তৈরি করার সময় ইনিশিয়ালাইজেশন নির্দিষ্ট না করেন, তাহলে একটি মিশ্র ক্রম তৈরি হয়। আমি এটি বুঝতে পেরেছি, কিছু ধরণের ইনিশিয়ালাইজেশন অন্তর্ভুক্ত করা হয়েছে, যা আমার কাছে বেশ কার্যকর বলে মনে হয়েছে।

RNG = NewRandomNumberGenerator();

এছাড়াও, প্রক্রিয়াকরণের সময়, আপনি আপনার নিজের প্রারম্ভিক নম্বর সেট করতে পারেন, তারপরে একই নম্বরটি অনুমান করা হয়।

জয়ের গণনা করার জন্য একটি পদ্ধতি লেখার সময়, আমি ফলাফল বর্ণনা করতে সমস্যার সম্মুখীন হয়েছিলাম, বিশেষ করে পাঁচটি পরিসংখ্যান সহ একটি খেলার জন্য। এটি বের করার পরে, আমি বুঝতে পেরেছিলাম যে প্রচুর অক্ষর থাকবে, যেহেতু অনেকগুলি আকার সহ অনেকগুলি বিকল্প রয়েছে। কম্বিনেটরিক্স আমাদের বলে যে তিনটি পরিসংখ্যানের সাথে আমাদের সর্বাধিক 9টি বিকল্প রয়েছে, চারটি 16টি বিকল্প এবং পাঁচটি 25টি বিকল্প রয়েছে। ড্র বাতিল করে, যখন একই চিত্রটি বেছে নেওয়া হয়, তখন আমি বুঝতে পেরেছিলাম যে আমাকে শর্তের 19টি রূপ লিখতে হবে।

আমি এটি সম্পর্কে ভেবেছিলাম, যেহেতু এটি স্পষ্টতই খারাপভাবে পঠনযোগ্য কোডের পরিণতি হবে এবং আমি যা মনে করি তা একটি সুন্দর সমাধান খুঁজে পেয়েছি। মোট 9টি শর্ত সহ।

Res = Player - Comp; If SettingsOption = 3 তারপর If (Res = -1) OR (Res = 2) তারপর রিটার্ন 1; //জিতুন অন্যথায় রিটার্ন 2; //পরাজয় শেষ হলে; ElseIfSettingsOption = 4 তারপর If (Res = -1) OR (Res = 2) OR (Res = 3) তারপর রিটার্ন 1; //জিতুন অন্যথায় রিটার্ন 2; //পরাজয় শেষ হলে; ElseIf Settings Option = 5 তারপর If (Res = -1) OR (Res = 2) OR (Res = -3) OR (Res = 4) তারপর রিটার্ন 1; //জিতুন অন্যথায় রিটার্ন 2; //পরাজয় শেষ হলে; যদি শেষ;

কমপ্যাক্ট, পরিষ্কার, সম্পাদনা করা সহজ।

আমি ভেবেছিলাম যে প্রতিটি চিত্রের নিজস্ব সংখ্যা রয়েছে: 1 - পাথর, 2 - কাঁচি, 3 - কাগজ, 4 - ভাল, 5 - আগুন। খেলার ফলস্বরূপ, আমি টুকরাগুলির সংখ্যার মধ্যে পার্থক্য গণনা করি এবং এই পার্থক্যটি আমাকে কে জিতেছে সেই প্রশ্নের একটি স্পষ্ট উত্তর দেয়।

প্রক্রিয়াকরণ যা একটি পরিচালিত অ্যাপ্লিকেশনের জন্য র্যান্ডম সিকোয়েন্সের বৈশিষ্ট্যগুলি অন্বেষণ করতে সহায়তা করে এবং কনফিগারেশনের রেফারেন্স ছাড়াই লেখা হয়। প্ল্যাটফর্ম 8.3.10, 8.3.11 একটি পাতলা ক্লায়েন্টে পরীক্ষা করা হয়েছে।

এই নিবন্ধটি দিয়ে আমি র্যান্ডম সংখ্যা ক্রম তৈরি করার গুরুত্ব এবং গুরুত্ব বোঝাতে আশা করেছি।

21
//ফাংশনটি মানগুলির একটি সহজ-পঠন উপস্থাপনা তৈরি করে। // সংখ্যা বিন্যাসের উদাহরণ ValueFormat = বিন্যাস(123456.789, " NRT=10; NRT=2"); //ValueFormat = "123,456.79"ValueFormat = বিন্যাস(123456.789, "HH=0; NHV=2"); //মান 16
পূর্ণ-পাঠ্য অনুসন্ধান - আপনাকে ব্যবহৃত কনফিগারেশনের প্রায় কোথাও অবস্থিত পাঠ্য তথ্য খুঁজে পেতে অনুমতি দেবে। এই ক্ষেত্রে, আপনি সমগ্র কনফিগারেশন জুড়ে বা সংকীর্ণ করে প্রয়োজনীয় ডেটা অনুসন্ধান করতে পারেন... 8
"পয়েন্ট ইন টাইম" একটি ভার্চুয়াল ক্ষেত্র, ডাটাবেসে সংরক্ষিত নয়। একটি পয়েন্ট ইন টাইম অবজেক্ট রয়েছে (যার মধ্যে একটি তারিখ এবং একটি নথির লিঙ্ক রয়েছে) 7.7 সালে ডকুমেন্ট পজিশনের ধারণা ছিল এবং 8.x পয়েন্ট ইন টাইম পেতে... 6
8.x FindByLinks (FindDataByRef) সিনট্যাক্সের জন্য: FindByLinks (লিঙ্কগুলির তালিকা) প্যারামিটার: লিঙ্কগুলির তালিকা প্রয়োজনীয় প্রকার: অ্যারে। বস্তুর লিঙ্কগুলির একটি তালিকা সহ একটি অ্যারে যার লিঙ্কগুলি খুঁজে পাওয়া দরকার৷ ...