Ajax
ASP
C,C++
C#,.NET
CSS,HTML
Delphi,Kylix
Experience
Flash
Java
JavaScript
PHP
Python
QT
SQL
ShellScript
VB
U :
P :
Register
Lost Password
Other Links
Code Archive
Save Giovanni
Delphi,Kylix Category Code
Real Name
:
Nesrin Uluca
Subject
:
Dizi Fonksiyonları
Description
:
Diziler ile ilgili işleminizi kolay ve hızlı yapabilmeniz için, Delphi’ ye bir çok dizi fonksiyonu eklenmiştir. Aşağıda bu fonksiyonlar sırası ile incelenmekte olup, ardından da örneklendirilmeleri yapılmıştır. Fonksiyonların kullanılabilmesi için uses satırına math kütüphanesini eklemeyi unutmayınız.
Mean(Dizi); Parametre olarak girilen dizi elemanlarının aritmetik ortalamasını hesaplayan bir fonksiyondur. Dizi değişkeninin tipi ondalıklı sayı tipinde olmalıdır. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); // Tip ondalıklı olmalı var Sonuc : Extended; begin Sonuc := Mean(Dizi); Caption:= FloatToStr(Sonuc); // Elemanların aritmetik ortalamasını verir end; Sum(Dizi); Parametre olarak diziye gönderilen elemanların toplamını hesaplayan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); // Tip ondalıklı olmalı var Sonuc : Extended; begin Sonuc := Sum(Dizi); Caption:= FloatToStr(Sonuc); // Elemanların toplamını verir end; SumInt(Dizi); Parametre olarak girilen dizi elemanlarının toplamını hesaplayan bir fonksiyondur. Burada dikkat edeceğiniz husus, dizi elemanlarının tam sayı tipli tanımlanmaları gerektiğidir. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Integer=(10, 20, 30, 40); // Tip tam sayı olmalı var Sonuc : Extended; begin Sonuc := SumInt(Dizi); Caption:= FloatToStr(Sonuc); // Elemanların toplamını verir end; Bir önceki fonksiyon zaten bu işlemi kolayca yapar demeyin. Çünkü tam sayılı işlemler çok daha hızlı bir şekilde sonuca ulaştırılırlar. SumOfSquares(Dizi); Parametre olarak girilen dizi elemanlarının karelerinin toplamını hesaplayan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); var Sonuc : Extended; begin Sonuc := SumOfSquares(Dizi); Caption:= FloatToStr(Sonuc); // Elemanların karelerinin toplamını verir end; Fonksiyondan geriye dönen değer ondalıklı sayı olacağı için, reel tip bir değişkene aktarılmalıdır. SumsAndSquares(Dizi , Toplam , Kare_Toplam); Birinci parametre ile girilen dizi değişkeninin elemanlarının toplamını ikinci parametreye, elemanlarının karelerinin toplamını da üçüncü parametreye aktaran bir prosedürdür. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); var Toplam, Kare_Toplam : Extended; begin SumOfSquares(Dizi , Toplam , Kare_Toplam); Caption:= ‘Elemanların Toplamı : ’+FloatToStr(Toplam)+’ Elemanların Karelerinin Toplamı : ’+FloatToStr(Kare_Toplam); end; TotalVariance(Dizi); Dizi elemanlarına ait toplam varyansı hesaplayan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); var Sonuc : Extended; begin Sonuc := TotalVariance(Dizi); Caption:= FloatToStr(Sonuc); end; Variance(Dizi); Dizi elemanlarına ait varyans değerini hesaplayan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); var Sonuc : Extended; begin Sonuc := Variance(Dizi); Caption:= FloatToStr(Sonuc); end; EnsureRange(Küçük , Orta , Büyük); Parametre olarak girilen elemanlar arasında ortanca değere sahip olanı döndüren bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); var Sonuc : Extended; begin Sonuc := EnsureRange(40 , 100 , 70); // Orta eleman Caption:= FloatToStr(Sonuc); // 70 yazar end; High(Dizi); Parametre ile girilen dizinin en son elemanının index numarasını döndüren bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); var Sonuc : Integer; begin Sonuc := High(Dizi); Caption:= IntToStr(Sonuc); // 3 yazar end; Örneğe dikkat edecek olursanız tanımlamış olduğunuz dizi değişkenin en son elemanının index numarası 3 tür. Bu değeri öğrenmek için kullanabileceğiniz önemli bir fonksiyondur. (Bilhassa dinamik dizilerde kullanımı zorunlu gibidir) Low(Dizi); Parametre ile girilen dizinin ilk elemanının index numarasını döndüren bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); var Sonuc : Integer; begin Sonuc := Low(Dizi); Caption:= IntToStr(Sonuc); // 0 yazar end; Dizinin ilk elemanı ( dizi[0] ) 0 olduğu için, örneğimizde geriye dönecek olan değer 0 olacaktır. Aşağıdaki gibi bir (veya benzeri bir durumda ) durumda bu iki fonksiyon sizin için yararlı olacaktır. Sınıf mevcudunun bilinmediği (veya her sınıf için farklı olduğu durumlarda) dizinin kaç eleman olacağı bilinmeyecek, aynı zamanda alt ve üst sınırları devamlı olarak farklı olacaktır. Sabit değerler yerine bu fonksiyonları kullanırsanız her zaman doğru sonuçlara ulaşmanız mümkün olacaktır. Procedure TForm1.Button1Click(Sender; Object); var Ogrenci : Array Of Integer; Mevcut, I : Integer; begin Mevcut := StrToInt(Inputbox(‘Sınıf Mevcudunu Giriniz’,’Mevcut’,’’)); SetLength(Ogrenci , Mevcut); For I:=Low(Ogrenci) To High(Ogrenci) Do // İlk ten son elemana kadar Ogrenci[i] := StrToInt(InputBox(‘Notu Giriniz’,’Not’,’’)); end; Low(Dizi); Parametre ile girilen dizinin ilk elemanının index numarasını döndüren bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Double=(10, 20, 30, 40); var Sonuc : Integer; begin Sonuc := Low(Dizi); Caption:= IntToStr(Sonuc); // 0 yazar end; Dizinin ilk elemanı ( dizi[0] ) 0 olduğu için, örneğimizde geriye dönecek olan değer 0 olacaktır. Aşağıdaki gibi bir (veya benzeri bir durumda ) durumda bu iki fonksiyon sizin için yararlı olacaktır. Sınıf mevcudunun bilinmediği (veya her sınıf için farklı olduğu durumlarda) dizinin kaç eleman olacağı bilinmeyecek, aynı zamanda alt ve üst sınırları devamlı olarak farklı olacaktır. Sabit değerler yerine bu fonksiyonları kullanırsanız her zaman doğru sonuçlara ulaşmanız mümkün olacaktır. Procedure TForm1.Button1Click(Sender; Object); var Ogrenci : Array Of Integer; Mevcut, I : Integer; begin Mevcut := StrToInt(Inputbox(‘Sınıf Mevcudunu Giriniz’,’Mevcut’,’’)); SetLength(Ogrenci , Mevcut); For I:=Low(Ogrenci) To High(Ogrenci) Do // İlk ten son elemana kadar Ogrenci[i] := StrToInt(InputBox(‘Notu Giriniz’,’Not’,’’)); end; MaxIntValue(Dizi); Parametre olarak girilen dizi elemanları içerisinde maximum değeri bulabilen bir fonksiyondur. Dikkat edeceğiniz husus dizi değişkenin tam sayı tipli olması gerektiğidir. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Integer=(10, 70, 30, 40); var Sonuc : Integer; begin Sonuc := MaxIntValue(Dizi); // En büyük değeri bul Caption:= IntToStr(Sonuc); // 70 yazar end; MaxValue(Dizi); Yine parametre olarak girilen dizi elemanlarından en büyüğünün değerini döndürür. Üstünlüğü tam veya ondalıklı sayıların ikisi içinde kullanılabilmesidir. Fonksiyondan geriye dönecek olan değer ondalıklı sayı içereceği için FloatToStr tip dönüştürme fonksiyonu sayesinde yazdırılabilir. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Integer=(10, 20, 30, 40); var Sonuc : Extended; begin Sonuc := MaxValue(Dizi); Caption:= FloatToStr(Sonuc); // 40 yazar end; MinIntValue(Dizi); Parametre olarak girilen dizi elemanları içerisinde minimum değeri bulabilen bir fonksiyondur. Dikkat edeceğiniz husus dizi değişkenin tam sayı tipli olması gerektiğidir. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Integer=(10, 70, 30, 40); var Sonuc : Integer; begin Sonuc := MinIntValue(Dizi); // En büyük değeri bul Caption:= IntToStr(Sonuc); // 10 yazar end; MinValue(Dizi); Yine parametre olarak girilen dizi elemanlarından en küçüğünün değerini döndürür. Üstünlüğü tam veya ondalıklı sayıların ikisi içinde kullanılabilmesidir. Fonksiyondan geriye dönecek olan değer ondalıklı sayı içereceği için FloatToStr tip dönüştürme fonksiyonu sayesinde yazdırılabilir. Procedure TForm1.Button1Click(Sender; Object); const Dizi : Array[0..3] of Integer=(10, 20, 30, 40); var Sonuc : Extended; begin Sonuc := MinValue(Dizi); Caption:= FloatToStr(Sonuc); // 10 yazar end;
Rating
:
3.00
(out of 5)
Visitor Voting Booth
:
Excellent
Very Good
Good
Fair
Poor
Copyright © 2006 SharingCode.NET . All rights reserved. Hosted By: SisNetworks