تصادفی rand
عدد، متن و انتخاب تصادفی: تاس، رمز یکبارمصرف، شناسهی یکتا و بهم ریختن فهرست.
واردسازی تصادفی
بستهی تصادفی برای بازیها، شبیهسازی، نمونهداده و ساختن شناسه است. پیش از هر چیز یک بار بذر خودکار را صدا بزنید تا هر اجرای برنامه عددهای متفاوتی بگیرد. اگر میخواهید نتیجه هر بار یکی باشد، مثلاً در آزمون، بهجایش بذر را با یک عدد ثابت صدا بزنید.
این بسته برای رمزنگاری ساخته نشده است. برای کلید، توکن ورود و گذرواژه، بستهی رمزنگاری را به کار ببرید.
نمونههای این صفحه بهجای خود عددها، ویژگیهایشان را چاپ میکنند (مثلاً «در بازه هست یا نه»)، چون عدد تصادفی در هر اجرا فرق میکند.
روالها
بذر Seed
روال بذر(s: صحیح۶۴)واردسازی تصادفی
روال ریشه:
تصادفی.بذر(۴۲)
الف := تصادفی.عدد در بازه(۱، ۱۰۰)
تصادفی.بذر(۴۲)
ب := تصادفی.عدد در بازه(۱، ۱۰۰)
سرچاپ الف == ب
تصادفی.بذر خودکار()
تاس := تصادفی.عدد۳۲بیتی در بازه(۱، ۶)
سرچاپ تاس >= ۱ و تاس <= ۶
ع := تصادفی.عدد تصادفی()
ع۳۲ := تصادفی.عدد۳۲بیتی()
سرچاپ تصادفی.عدد کمتر از ان(۱۰) < ۱۰، ع == ع، ع۳۲ == ع۳۲
سرچاپ تصادفی.عدد با طول(۶) >= ۱۰۰۰۰۰
پایانبذر خودکار SeedAuto
روال بذر خودکار()نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Seed.salam
عدد تصادفی Int
روال عدد تصادفی(): صحیح۶۴عدد در بازه سادهتر است.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Seed.salam
عدد۳۲بیتی Int32
روال عدد۳۲بیتی(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Seed.salam
عدد کمتر از ان IntN
روال عدد کمتر از ان(n: صحیح۶۴): صحیح۶۴n.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Seed.salam
عدد در بازه IntRange
روال عدد در بازه(lo: صحیح۶۴، hi: صحیح۶۴): صحیح۶۴lo تا hi، هر دو سر شامل.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Seed.salam
عدد۳۲بیتی در بازه Int32Range
روال عدد۳۲بیتی در بازه(lo: صحیح، hi: صحیح): صحیحعدد در بازه، با خروجی ۳۲ بیتی؛ برای تاس: از ۱ تا ۶.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Seed.salam
عدد با طول IntWithLength
روال عدد با طول(digits: صحیح): صحیح۶۴digits رقم؛ برای کدهای تأیید پیامکی مناسب است.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Seed.salam
اعشار تصادفی Float
روال اعشار تصادفی(): اعشار۶۴واردسازی تصادفی
روال ریشه:
ا := تصادفی.اعشار تصادفی()
سرچاپ ا >= ۰.۰ و ا < ۱.۰
ب := تصادفی.اعشار در بازه(۱۰.۰، ۲۰.۰)
سرچاپ ب >= ۱۰.۰ و ب < ۲۰.۰
سرچاپ تصادفی.منطقی با احتمال(۱.۰)، تصادفی.منطقی با احتمال(۰.۰)
م := تصادفی.منطقی تصادفی()
سرچاپ م == درست یا م == نادرست
پایاناعشار در بازه FloatRange
روال اعشار در بازه(lo: اعشار۶۴، hi: اعشار۶۴): اعشار۶۴lo تا کمتر از hi.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Float.salam
منطقی تصادفی Bool
روال منطقی تصادفی(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rand-Float.salam
منطقی با احتمال BoolP
روال منطقی با احتمال(p: اعشار۶۴): منطقیp (بین صفر و یک) درست برمیگرداند.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Float.salam
بایت های تصادفی Bytes
روال بایت های تصادفی(n: صحیح): رشتهn بایت تصادفی.واردسازی تصادفی
واردسازی رشته
روال ریشه:
سرچاپ تصادفی.حروف(۸).طول()، تصادفی.حروف بزرگ(۸).طول()، تصادفی.حروف ترکیبی(۸).طول()
سرچاپ تصادفی.رقم(۶).طول()، تصادفی.حروف با عدد(۱۲).طول()، تصادفی.متن تصادفی(۱۰).طول()
سرچاپ تصادفی.متن از(۵، "ab").طول()، رشته.شامل است("ab"، تصادفی.انتخاب نویسه("ab"))
سرچاپ تصادفی.بایت های تصادفی(۴).طول()، تصادفی.بایت های شانزده(۴).طول()
سرچاپ تصادفی.درهم().طول()، تصادفی.درهم۱۶۰().طول()، تصادفی.درهم۲۵۶().طول()
ش := تصادفی.شناسه یکتا()
سرچاپ ش.طول()، ش.زیررشته(۱۴، ۱)
پایانمتن از TextFrom
روال متن از(n: صحیح، charset: رشته): رشتهn از نویسههای charset میسازد.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
حروف Alpha
روال حروف(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
حروف بزرگ AlphaUpper
روال حروف بزرگ(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
حروف ترکیبی AlphaMixed
روال حروف ترکیبی(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
رقم Digit
روال رقم(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
حروف با عدد Alnum
روال حروف با عدد(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
متن تصادفی Text
روال متن تصادفی(n: صحیح): رشته!@#$؛ برای ساختن گذرواژهی آزمایشی.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
بایت های شانزده HexBytes
روال بایت های شانزده(n: صحیح): رشتهn بایت تصادفی به شکل متن شانزدهشانزدهی (دو نویسه برای هر بایت).نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
درهم Hash
روال درهم(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
درهم۱۶۰ Hash160
روال درهم۱۶۰(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
درهم۲۵۶ Hash256
روال درهم۲۵۶(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
شناسه یکتا UUID
روال شناسه یکتا(): رشتهxxxxxxxx-xxxx-4xxx-... میسازد.نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
انتخاب رشته ChoiceStr
روال انتخاب رشته(v: وکتور<رشته>): رشتهواردسازی تصادفی
روال ریشه:
ناپایا نامها := وکتور {} برگردان وکتور<رشته>
دیرکن نامها.آزادکن()
نامها.بیفزا("علی")
نامها.بیفزا("سارا")
نامها.بیفزا("رضا")
برنده := تصادفی.انتخاب رشته(نامها)
سرچاپ برنده == "علی" یا برنده == "سارا" یا برنده == "رضا"
ناپایا عددها := وکتور {} برگردان وکتور<صحیح>
دیرکن عددها.آزادکن()
تکرار ۱ تا ۵ در ای:
عددها.بیفزا(ای)
پایان
سرچاپ تصادفی.انتخاب عدد(عددها) <= ۵
بهم := تصادفی.بهم ریختن عدد(عددها)
ناپایا جمع := ۰
هر ع در بهم:
جمع += ع
پایان
سرچاپ بهم.طول()، جمع
سرچاپ تصادفی.بهم ریختن رشته(نامها).طول()
پایانانتخاب عدد ChoiceInt
روال انتخاب عدد(v: وکتور<صحیح>): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Choice.salam
انتخاب نویسه ChoiceChar
روال انتخاب نویسه(s: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rand-Text.salam
بهم ریختن رشته ShuffleStr
روال بهم ریختن رشته(v: وکتور<رشته>): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Choice.salam
بهم ریختن عدد ShuffleInt
روال بهم ریختن عدد(v: وکتور<صحیح>): وکتور<صحیح>نمونهی این مورد همراه با موارد بالاتر آمده است: rand-Choice.salam