Sqrt fonksiyonu olmadan karekök alma

Tüm saatler GMT +3 Saat


Full versiyon Görüntüle

YAZAR: miramax
Tarih: 7/1/2009, 23:59



Sqrt fonksiyonu olmadan karekök alma

Normalde Delphi'de bir sayının karekökünü almak için sqrt(x) fonksiyonunu kullanabiliriz.

Peki varsayalım biz delphi gibi bir program yapacaz ve kullanıcılara kolaylık olsun diye karekök alan fonksiyonuda programa eklemek istiyoruz. Bunu nasıl yaparız?. Ya da hesap makineleri veya bilgisayarlar karekökü nasıl hesaplıyorlar. İşte bunun çözümü;

karekök alma işlemi şu şekilde gerçekleşiyor:

1)Öncelikle karekökü alınacak sayı alınıyor (Mesela 4)

2)Bu sayı önce 1'e bölünüp 1 ekleniyor ve ardından 2'ye bölünüyor.((4/1+1)/2=2.5)

3)Daha sonra bu sayı çıkan sonuca bölünüyor çıkan sonuç ekleniyor ve yine 2'ye bölünüyor.((4/2.5+2.5)/2=2.05)

4)Bu işlemi sayının karekökü çıkana kadar yaparsak en sonunda sonuç kareköke eşit olur.((4/2+2)/2=2)

Bunu delphide şu şekilde yaparız. Öncelikle formumuza bir adet editbox, bir adet label ve bir adet buton ekleyelim.

Ardından Butonun click olayına aşağıdaki kodları yazalım.

Kod:
procedure TForm1.Button1Click(Sender: TObject);
var
sayi,i:integer;
x:real;
begin
sayi:=strtoint(edit1.Text);
x:=1;
for i:=1 to sayi+1 do
  begin
  x:=(sayi/x+x)/2;
  end;
label1.Caption:=floattostr(x);
end;
end.


Bu şekilde karekök alma işlemini yaptırmış oluruz.



-> Delphi/Pascal -> PDA Görünüm - Ana Sayfa
Tüm saatler GMT +3 Saat


Full versiyon Görüntüle



Phpbb PDA Görünüm
Muhendisiz.net Tarafindan Yazilmistir.
Writed by muhendisiz.net © 2004 - 2007 All rights reserved.