procedure TForm1.Button1Click(Sender: TObject);
var
a,b,j,k:integer;
begin
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
StringGrid1.RowCount:=(b-a+1)+1;
for j:=1 to stringgrid1.RowCount-1 do
StringGrid1.Cells[0,j]:=inttostr(j);
j:=0;
ProgressBar1.Max:=b-a+1;
if RadioButton1.Checked then
begin
for k:=a to b do
begin
inc(j);
StringGrid1.Cells[1,j]:=inttostr(k);
ProgressBar1.Position:=j;
end;
end
else if RadioButton2.Checked then
begin
for k:=a to b do
begin
inc(j);
StringGrid1.Cells[1,j]:=inttostr(sqr(k));
ProgressBar1.Position:=j;
end;
end
else if RadioButton3.Checked then
begin
for k:=a to b do
begin
inc(j);
StringGrid1.Cells[1,j]:=floattostr(sqrt(k));
ProgressBar1.Position:=j;
end;
end;
end;
end.
28 Mayıs 2014 Çarşamba
16 Mayıs 2014 Cuma
9 Mayıs 2014 Cuma
Kaç kez atılacığını kullanıcının belirleyeceği 2 zarın aynı anda atılması sonucunda sonuçları gösteren kod.
procedure TForm1.Button1Click(Sender: TObject);
var
i,a,z1,z2:integer;
begin
a:=strtoint(edit1.text); // ' a ' kullanıcının girdiği zar atışının sayısı
For i:=1 to a do
begin
z1:=randomrange(1,7); // randomrange komutunda alt sınır dahil fakat üst sınır dahil olmadığından 7 aldık
z2:=RandomRange(1,7);
memo1.lines.Add(inttostr(z1)+' '+inttostr(z2));
end;
end;
end.
var
i,a,z1,z2:integer;
begin
a:=strtoint(edit1.text); // ' a ' kullanıcının girdiği zar atışının sayısı
For i:=1 to a do
begin
z1:=randomrange(1,7); // randomrange komutunda alt sınır dahil fakat üst sınır dahil olmadığından 7 aldık
z2:=RandomRange(1,7);
memo1.lines.Add(inttostr(z1)+' '+inttostr(z2));
end;
end;
end.
Rastgele veri üretmek,Normalizasyon yöntemi(min-max,z score)
ihtiyacımız olanlar ; button,2 tane memo, combobox
ilk olarak button1 ın onclick event'ına aşagıdaki kodları giriyoruz.
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
x:real;
begin
Memo1.Clear;
Randomize; // bu işlem sayesınde button'a her tıkladıgımızda farklı sayılar geliyo
for i:=1 to 100 do //örneklem geniligini kendimiz 100 olrak belirledik
begin
x:=Random*(10-0)+0; //U(0,10);
memo1.Lines.Add(Floattostr(x));
end;
end;
Not: Randomrange tamsayılarda çalıştığı için burada Random kullanarak real sayılar elde etmeye çalıştık.
Örneklem büyüklüğü 100 olarak almamaza ragmen bir editbox koyarak kullanıcının girmesini sağlayabiliriz.
combobox1 in onchange event'ına aşagıdaki kodları giriyoruz ;
procedure TForm1.ComboBox1Change(Sender: TObject);
var
data,x:array of double;
n,i:integer;
min,max,xbar,std:real;
begin
n:=memo1.Lines.Count;
SetLength(data,n);
SetLength(x,n);
for i:=0 to n-1 do
data[i]:=strtofloat(memo1.lines[i]);
memo2.clear;
if ComboBox1.ItemIndex=0 then
begin
min:=MinValue(data);
max:=MaxValue(data);
for i:=0 to n-1 do
begin
x[i]:=(data[i]-min)/(max-min);
memo2.Lines.add(formatfloat('0.##0',x[i]));
end;
end
else if ComboBox1.ItemIndex=1 then
begin
xbar:=Mean(data);
std:=stddev(data);
for i:=0 to n-1 do
begin
x[i]:=((data[i]-xbar)/std);
memo2.Lines.add(formatfloat('0.##0',x[i]));
end;
end;
end;
end.
Bu kod da kullandığımız önemli sayılan kodlar aşağıda listelenmiştir.
min:=MinValue(); // minimum değeri bulur.
max:=MaxValue(); // maximum değeri bulur.
xbar:=Mean(); // ortalama bulur.
std:=stddev(); // Standart Sapmayı bulur.
ilk olarak button1 ın onclick event'ına aşagıdaki kodları giriyoruz.
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
x:real;
begin
Memo1.Clear;
Randomize; // bu işlem sayesınde button'a her tıkladıgımızda farklı sayılar geliyo
for i:=1 to 100 do //örneklem geniligini kendimiz 100 olrak belirledik
begin
x:=Random*(10-0)+0; //U(0,10);
memo1.Lines.Add(Floattostr(x));
end;
end;
Not: Randomrange tamsayılarda çalıştığı için burada Random kullanarak real sayılar elde etmeye çalıştık.
Örneklem büyüklüğü 100 olarak almamaza ragmen bir editbox koyarak kullanıcının girmesini sağlayabiliriz.
combobox1 in onchange event'ına aşagıdaki kodları giriyoruz ;
procedure TForm1.ComboBox1Change(Sender: TObject);
var
data,x:array of double;
n,i:integer;
min,max,xbar,std:real;
begin
n:=memo1.Lines.Count;
SetLength(data,n);
SetLength(x,n);
for i:=0 to n-1 do
data[i]:=strtofloat(memo1.lines[i]);
memo2.clear;
if ComboBox1.ItemIndex=0 then
begin
min:=MinValue(data);
max:=MaxValue(data);
for i:=0 to n-1 do
begin
x[i]:=(data[i]-min)/(max-min);
memo2.Lines.add(formatfloat('0.##0',x[i]));
end;
end
else if ComboBox1.ItemIndex=1 then
begin
xbar:=Mean(data);
std:=stddev(data);
for i:=0 to n-1 do
begin
x[i]:=((data[i]-xbar)/std);
memo2.Lines.add(formatfloat('0.##0',x[i]));
end;
end;
end;
end.
Bu kod da kullandığımız önemli sayılan kodlar aşağıda listelenmiştir.
min:=MinValue(); // minimum değeri bulur.
max:=MaxValue(); // maximum değeri bulur.
xbar:=Mean(); // ortalama bulur.
std:=stddev(); // Standart Sapmayı bulur.
7 Mayıs 2014 Çarşamba
memo1 e girilen sayıların En küçük,en büyük,toplam,toplamların karesini,ortalamasını,varyansını,std.sapmasını memo2 ye yazdıran program (radiobutton yardımı ile)
kodu radiobutton1 e yazıyoruz daha sonra diger radiobutton'lar onclick event'ine gelerek radiobutton1 i seçili yapıyoruz . Bu sayede her kodu teker teker radiobuttonlara yazmamıza gerek kalmıcak.
procedure TForm1.RadioButton1Click(Sender: TObject);
var
data:array of double;
i,n:integer;
min,max,t,tt,m,v,s:real;
begin
n:=memo1.lines.Count;
SetLength(data,n);
for i:=0 to n-1 do
data[i]:=strtoint(memo1.Lines[i]);
if RadioButton1.Checked then
begin
min:=Minvalue(data);
memo2.Lines.Add('En Küçük'+' '+floattostr(min));
end
else if RadioButton2.Checked then
begin
max:=MaxValue(data);
memo2.lines.Add('En Büyük'+' '+floattostr(max));
end
else if RadioButton3.Checked then
begin
t:=sum(data);
memo2.lines.Add('Toplam'+' '+floattostr(t));
end
else if RadioButton4.Checked then
begin
tt:=SumOfSquares(data);
memo2.lines.add('karelerinin Toplamı'+' '+floattostr(tt));
end
else if RadioButton5.Checked then
begin
m:=Mean(data);
memo2.lines.Add('ortalama'+' '+floattostr(m));
end
else if RadioButton6.Checked then
begin
v:=variance(data);
memo2.Lines.Add('varyans'+' '+floattostr(v));
end
else if RadioButton7.Checked then
begin
s:=Stddev(data);
memo2.lines.add('Std.Sapma'+' '+floattostr(s));
end;
end;
end.
floattostr yerine bazı degısıkler yaparak ''formatfloat'' kullanabılır ayrıca '#.### veya #.##0' gibi çeşitler ile ortaya çıkan sonuçların ondalık kısmının kaç basamağının gözükmesini ayarlayabilirsiniz. İlerleyen yayınlarımda bunla ilgili örnek uygulamalı olarak göstercem.
procedure TForm1.RadioButton1Click(Sender: TObject);
var
data:array of double;
i,n:integer;
min,max,t,tt,m,v,s:real;
begin
n:=memo1.lines.Count;
SetLength(data,n);
for i:=0 to n-1 do
data[i]:=strtoint(memo1.Lines[i]);
if RadioButton1.Checked then
begin
min:=Minvalue(data);
memo2.Lines.Add('En Küçük'+' '+floattostr(min));
end
else if RadioButton2.Checked then
begin
max:=MaxValue(data);
memo2.lines.Add('En Büyük'+' '+floattostr(max));
end
else if RadioButton3.Checked then
begin
t:=sum(data);
memo2.lines.Add('Toplam'+' '+floattostr(t));
end
else if RadioButton4.Checked then
begin
tt:=SumOfSquares(data);
memo2.lines.add('karelerinin Toplamı'+' '+floattostr(tt));
end
else if RadioButton5.Checked then
begin
m:=Mean(data);
memo2.lines.Add('ortalama'+' '+floattostr(m));
end
else if RadioButton6.Checked then
begin
v:=variance(data);
memo2.Lines.Add('varyans'+' '+floattostr(v));
end
else if RadioButton7.Checked then
begin
s:=Stddev(data);
memo2.lines.add('Std.Sapma'+' '+floattostr(s));
end;
end;
end.
floattostr yerine bazı degısıkler yaparak ''formatfloat'' kullanabılır ayrıca '#.### veya #.##0' gibi çeşitler ile ortaya çıkan sonuçların ondalık kısmının kaç basamağının gözükmesini ayarlayabilirsiniz. İlerleyen yayınlarımda bunla ilgili örnek uygulamalı olarak göstercem.
Kaydol:
Kayıtlar (Atom)