Delphi’de Matematik : Temel İşlemler

Bu yazımda Delphi ile matematik yapacağız. Hemde sayısal değişkenleri daha iyi anlayacağız. Uzatmadan konuya giriyorum.

Fazla ayrıntıya girmeden forma bir button koyalım. Ve matematik yapmak için sayısal değişkenler kullanacağız. Tanımlıyoruz 🙂

var
i:integer;//tam sayı
r:real;//reel sayı

Toplama:

var
sayi1,sayi2,toplam:integer;//tam sayı kullanacağız
begin
//forma 2 tane edit koyuyoruz.
sayi1:=StrToInt(Edit1.Text);
sayi2:=StrToInt(Edit2.Text);
toplam:=sayi1+sayi2;
ShowMessage(IntToStr(toplam));
end;

Tabi tam sayı kullandığımız için tam sayılarla toplama yapabiliriz ancak. Şimdi aynısını Reel sayılar ile yapalım.

var
sayi1,sayi2,toplam:Real;//reel sayı kullanacağız
begin
//forma 2 tane edit koyuyoruz.
sayi1:=StrToFloat(Edit1.Text);
sayi2:=StrToFloat(Edit2.Text);
toplam:=sayi1+sayi2;
ShowMessage(FloatToStr(toplam));
end;

Burdan öğrendiklerimiz;

  • StrToFloat(); => String tipi Float tipe dönüştürür (Reel sayılar için.)
  • FloatToStr(); => Float tipi String tipe dönüştürür (Reel sayılar için.)
  • StrToInt();     => String tipi Integer tipe dönüştürür (Tam sayılar için.)
  • IntToStr();     => Integer tipi String tipe dönüştürür (Tam sayılar için.)
  • Toplama işlemi “+” operatörü ile yapılır 🙂

Şimdi bu öğrendiklerimiz Delphi’de bize her daim lazım olabilecek türden şeyler. Hadi bide Reel sayılarda toplama yapalım ama sonucu yazdırırken Yuvarlayıp tam sayı olarak yazdıralım;

var
sayi1,sayi2,toplam:Real;//reel sayı kullanacağız
yuvarlanmis:Integer;//sonuç değişkenimiz.
begin
//forma 2 tane edit koyuyoruz.
sayi1:=StrToFloat(Edit1.Text);
sayi2:=StrToFloat(Edit2.Text);
toplam:=sayi1+sayi2;
yuvarlanmis:=Round(toplam);
ShowMessage(IntToStr(yuvarlanmis));
end;

Buradan öğrendiğimiz;

  • Round(); => Reel sayıyı (Real) Tam Sayı (Integer) yapar (yuvarlar.)

tabi burada gördüğünüz gibi her şey için değişken tanımlamak zorunda değiliz, yukarıdaki işlemi hiç değişken tanımlamadan yapacağım;

begin
ShowMessage(IntToStr(Round(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text))));
end;

Tabi yazdığınız kodun okunaklı olması önemlidir 🙂 bu yüzden değişken tanımlamaktan kaçınmayın. Ama gereksiz değişken kalabalığı sistem kaynaklarının israfı demektir. Buda çok iyi bir durum değildir 🙂 .Yani ikisinin ortası bir ayar tutmak lazımdır…

Şimdi diğer işlemler için birer örnek yapalım.

Çıkarma :

var
sayi1,sayi2,fark:integer;//tam sayı kullanacağız
begin
//forma 2 tane edit koyuyoruz.
sayi1:=StrToInt(Edit1.Text);
sayi2:=StrToInt(Edit2.Text);
fark:=sayi1-sayi2;
ShowMessage(IntToStr(fark));
end;

Buradan Öğrendiğimiz :

  • Çıkarma işlemi “-” operatörü ile yapılır.

Şimdi bunu Reel sayı kullanarak, Değişken tanımlamadan, Yuvarlıyarak siz yapın. Bakalım 3 şekilde ayrı ayrı yapabiliyor musunuz 🙂

Çarpma:

var
sayi1,sayi2,sonuc:integer;//tam sayı kullanacağız
begin
//forma 2 tane edit koyuyoruz.
sayi1:=StrToInt(Edit1.Text);
sayi2:=StrToInt(Edit2.Text);
sonuc:=sayi1*sayi2;
ShowMessage(IntToStr(sonuc));
end;

Buradan Öğrendiğimiz :

  • Çarpma işlemi “*” operatörü ile yapılır.

Ve yine bunu diğer şekillerde siz yapın.

Bölme:

var
sayi1,sayi2:integer;//tam sayı kullanacağız
sonuc:Real;//bölme işlemi yaparken sonuç değişkeni reel olmak zorundadır.
begin
//forma 2 tane edit koyuyoruz.
sayi1:=StrToInt(Edit1.Text);
sayi2:=StrToInt(Edit2.Text);
sonuc:=sayi1/sayi2;
ShowMessage(FloatToStr(sonuc));
end;

Evet, sonuç değişkenini real tanımladık çünkü tam sayı tanımlasaydık şu hatayı verecekti:

Incompatible types: ‘Integer’ and ‘Extended’

Şimdi ise kalansız bölme yapalım bu sefer sonuç değişkeni integer olacak.

var
sayi1,sayi2,sonuc:integer;//tam sayı kullanacağız
begin
//forma 2 tane edit koyuyoruz.
sayi1:=StrToInt(Edit1.Text);
sayi2:=StrToInt(Edit2.Text);
sonuc:=sayi1 div sayi2;
ShowMessage(FloatToStr(sonuc));
end;

Buradan Öğrendiklerimiz :

  • Bölme işlemi “/” operatörü ile yapılır.
  • Bölme işlemi yapılırken sonuç değişkeni reel olmak zorundadır.
  • Kalansız bölme için “div” komutunu kullanabiliriz.
  • Kalansız bölme yapılırken sonuç değişkeni Reel olmak zorunda değildir!

Ve yine bunu diğer şekillerde siz yapın.

Şimdi öğrendiklerimizi tek seferde bir daha tekrar edelim.

var
sayi1,sayi2,sayi3,sayi4,sayi5,sayi6,sonuc:integer;//tam sayı kullanacağız
begin
//forma 6 tane edit koyuyoruz.
sayi1:=StrToInt(Edit1.Text);
sayi2:=StrToInt(Edit2.Text);
sayi3:=StrToInt(Edit3.Text);
sayi4:=StrToInt(Edit4.Text);
sayi5:=StrToInt(Edit5.Text);
sayi6:=StrToInt(Edit6.Text);
sonuc:=(((sayi1 + sayi2)/sayi3*(sayi4-sayi5)) div sayi6);
ShowMessage(IntToStr(sonuc));
end;

Evet, artık çarpma bölme toplama çıkarma yapabiliyor olmanız lazım.

Tags: , , , , , , , , ,

No comments yet.

Leave a Reply

*