Soru = Listebox'daki değişkenleri dinamik dizi değişkenine aktaran ve bunların minumum, maximum, ortalama ve toplamlarını alan programı prosedürde yapınız.
Şekli :
Kodlar :
Procedure diziler(deger:array of double;
var enkucuk:double);
var
enbuyuk:double;var ort:double;var toplam:Double);
begin
enkucuk:=MinValue(deger);
enbuyuk:=MaxValue(deger);
ort:=mean(deger);
toplam:=Sum(deger);
end;
var
dizi:array of double;
adet,i:integer;
Minimum,Maximum,toplam:double;
ortalama:Double;
Procedure TForm1.FormCreate(Sender: TObject);
begin
adet:=Listbox1.Items.Count;
Setlength(dizi,adet);
for i:=low(dizi) to high(dizi) do
begin
dizi[i]:=Strtoint(listbox1.Items.Strings[i]);
end;
diziler(dizi,Minimum,Maximum,ortalama,toplam);
end;
Procedure TForm1.Button1Click(Sender: TObject); begin
edit1.Text:=floattostr(Minimum);
end;
Procedure TForm1.Button2Click(Sender: TObject); begin
edit2.Text:=floattostr(Maximum);
end;
Procedure TForm1.Button3Click(Sender: TObject);
begin
edit3.Text:=floattostr(ortalama);
end;
Procedure TForm1.Button4Click(Sender: TObject);
begin
edit4.Text:=floattostr(toplam);
end;
Çalışma Şekli :
Programı çalıştırmadan önce Listbox nesnesinin Items kısmına rasgele sayılar yazarız. Ayrıca uses satırına “math” kütüphanesini eklemeyi unutmayın. Aksi takdirde programınız çalışmayacaktır.
Bu işlemleri yaptıktan sonra programı çalıştırıyoruz ve sol tarafta listboxda daha önce girdiğimiz değerler sağ tarafta ise işlem yapacağımız kısım var.Buradan “Min”, “Max”, “Ortalama”, “Toplam” butonlarına tıkladığımızda listboxun içindeki değerleri dinamik dizilere atarak buradan işlemlerini yapıp sonucu Text kutularına yazdırıyor.
|