برنامه نویس

به وبلاگ خودتان خوش آمدید.

برنامه نویس

به وبلاگ خودتان خوش آمدید.

تولید اعداد تصادفی در VB.NET

تولید اعداد تصادفی در VB.NET بهتر شده است به صورتی که شما به راحتی می توانید با استفاده از کلاس Random اقدام به تولید اعداد تصادفی کنید .
برای این کار ابتدا شی را از کلاس Random ایجاد کنید تا از طریق آن شی به متدهای کلاس Random دسترسی پیدا کنید برای ایجاد شی می توانید از یکی از دو دستور زیر استفاده کنید:


1- Dim Ran as New Random
2- Dim Ran as Random=New Random
 

نکته : Ran متغیر است.
حال از طریق شی ایجاد شده می توانید به سه متد این کلاس دسترسی پیدا کنید:
1- متد Next :
از این متد به سه صورت می توان استفاده کرد : 


الف :  Dim Ran As New Random
        Dim Number As Integer
        Number = Ran.Next
        TextBox1.Text = Number
 

دستور Ran.Next عددی بین صفر تا 2147483647 ایجاد می کند. 

ب : Dim Ran As New Random
        Dim Number As Integer
        Number = Ran.Next(1, 8)
        TextBox1.Text = Number 


دستور Ran.Next(1,8) عددی مابین 1 تا 8 ایجاد می کند البته خود عدد 8 را شامل نمی شود  

البته این دستور کلی است و شما می توانید هر عددی را به عنوان حداقل در ارگومان اول قرار دهید و در آرگومان دوم عدد حداکثر بعلاوه یک را قرار دهید.
نکته : عددی که در آرگومان دوم قرار می دهید در تولید عدد تصادفی به وجود نمی آید.
برای مثال اگر می خواهید تابع فقط اعداد سه رقمی تولید کند از دستور زیر استفاده کنید : 


Number=Ran.Next(100,1000)

ج : Dim Ran As New Random
        Dim Number As Integer
        Number = Ran.Next(5)
        TextBox1.Text = Number 


دستور Ran.Next(5) اعدادی ما بین صفر تا 5 تولید می کند البته خود عدد 5 را شامل نمی شود این تابع همانند تابع بالا یک مثال است .

2- متد  NextBytes:
این متد اعدادی را مابین 0 تا 255 تولید می کند تعداد اعداد بستگی به سایز آرایه دارد. مثلا در دستورات زیر 5 عدد از نوع Byte تولید شده و در آرایه Number ذخیره شده است .
Dim Ran As New Random
        Dim Number(4) As Byte
        Dim S As String
        Ran.NextBytes(Number)
        For i As Byte = 0 To 4
            S = S & Number(i) & " "
        Next
        MessageBox.Show(S) 


نکته : آرایه حتما باید از نوع Byte باشد. 

3- متد NextDouble : 


این متد اعدادی از نوع Double مابین صفر و یک تولید می کند . 


Dim Ran As New Random
        Dim Number As Double
        Number = Ran.NextDouble
        TextBox1.Text = Number

نظرات 3 + ارسال نظر
کوروش جمعه 20 فروردین‌ماه سال 1389 ساعت 02:23 ق.ظ

با سلام
احتراما بنده به دنبال برنامه ای هستم که بتونه با ویژوال بیسیک 6 کار کنه و فرم برنامه هم بدین صورت می باشه...
یک جدول 3×16 که 3 آن افقی و 16 آن عمودی می باشد و بصورت یک خانه های تو خالی است که با دادن یک دستور بتونه اعداد داخل خانه ها رو در یک سطر یک سطر آن فقط یک خانه رو پر کنه ...
در صورت امکان لطف میکنید بنده رو راهنمایی کنید.
با سپاس

بهروز پنج‌شنبه 10 تیر‌ماه سال 1389 ساعت 09:31 ق.ظ

ممنونم خیلی مفید بود ، فقط یه نکته جا موند که حیفم اومد نگم اونم استفاده از تابع Randomize قبل از تابع ساخت عدد تصادفی بود که "در طی اجرای برنامه" هر دفعه یه عدد تصادفی ایجاد کنه نه همیشه یه عدد ! یه تابع دیگم هست که خیلی راحت تر از این توابع که معرفی کردین کار میکنه یه مثال کوچیک میزارم :
Dim Number As Integer = Rnd() * 3
که عدد های 0 تا 3 رو تولید میکنه کاملش اینطوری میشه
randomize()
Dim Number As Integer = Rnd() * 3
ممنون

حامد سه‌شنبه 16 آبان‌ماه سال 1391 ساعت 08:05 ب.ظ

عالی

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد