Delphi’ de rastgele sayı uretmek son derece kolaydır. Bu işlem icin tanımlanmış olan Random fonksiyonunu kullanabilirsiniz.





Random;



Random fonksiyonu parametresiz kullanılırsa 0-1 arasında rastgele ondalıklı sayı uretecektir.





Procedure TForm1.Button1Click(Sender; Object);

var

Sayi : Real;

begin

Sayi := Random; // 0-1 arasında ondalıklı sayı uret

Caption := FloatToStr(Sayi);

end;



Yukarıda ki şekilde ureteceğiniz sayıları kullanmanız pek faydalı olmayacaktır. Bu yuzden parametre değeri girilerek istenilen aralıklarda sayı uretmek mumkun olmaktadır.



Random(50);



Satırı sayesinde 0-49 arasında değer uretebilir.



Procedure TForm1.Button1Click(Sender; Object);

var

Sayi : Real;

begin

Sayi := Random(50); // 0-49 arasında ondalıklı sayı uret

Caption := FloatToStr(Sayi);

end;



Aşağıdaki gibi bir kod satırıyla da istenilen aralıkta rastgele sayı uretmeniz mumkun olacaktır.



Sayi := Random(50]75; // 75 – 124 arasında sayı uret



Burada girilen ikinci sayı alt sınırı , ikisinin toplamı da ust sınırı belirleyecektir.



Procedure TForm1.Button1Click(Sender; Object);

var

Sayi : Real;

begin

Sayi := Random(50]75; // 50-124 arasında ondalıklı sayı uret

Caption := FloatToStr(Sayi);

end;



Rastgele sayı uretim fonksiyonlarında kullanılan diğer bir fonksiyonda Randomizedir. Bu fonksiyon uretilecek olan sayıların aynı periyotta oluşmasını engelleyecektir.



Procedure TForm1.Button1Click(Sender; Object);

var

Sayi : Real;

begin

Randomize; // Saate gore sayı uret

Sayi := Ramdom(50]75; // 75-124 arasında sayı uret

Caption := FloatToStr(Sayi);

end;



Artık programınızı her calıştırdığınız zaman değişik sayılar uretmeniz mumkun olacaktır.









RandomFrom(Dizi);



Parametre ile belirtilen dizi elemanlarından rastgele bir tanesinin değerini dondurmek icin kullanılan bir fonksiyondur. Dizi eleman değerleri dışında başka bir değerin dondurulmesi soz konusu değildir.



Procedure TForm1.Button1Click(Sender; Object);

var

x : Array[0..4] of Integer;

Sonuc : Integer;

begin

x[0] := 100;

x[1] := 200;

x[2] := 300;

x[3] := 400;

x[4] := 500;

Sonuc := RandomFrom(x); // Dizi elemanlarından sec

Caption := FloatToStr(Sayi);

end;



Yukarıdaki orneği inceleyecek olursanız; x dizi değişkeninin olmak uzere 5 adet elemanı bulunmaktadır. Her defasında bu elemanlardan bir tanesinin değerini dondurecektir.









RandomRange(Sayı1 , Sayı2);



Parametre ile belirtilen iki tam sayı arasında rastgele tam sayı uretmek icin kullanılan bir fonksiyondur. Uretilen sayılar arasında ust sınır yoktur.



Procedure TForm1.Button1Click(Sender; Object);

var

Sonuc : Integer;

begin

Sonuc := RandomRange(10, 100); // 10-99 arasında rastgele tamsayı uret

Caption := FloatToStr(Sonuc);

end;



Parametre olarak belirtilen sayıların hangisinin buyuk olacağı fonksiyon icin onem arz etmemektedir.
_________________
__________________