Pythontr

husonet | Tarih: 18.04.2024

Go dili ve Karekök (Sqrt) fonksiyonu

Go dili ve karekök fonksiyonunu yazalım ve karşılaştıralım.

Go dilini öğrenmeye başlamaya çalışmamdan itibaren bir günü geride bıraktım. Nasıl başlarım derken internette birkaç sörf yaptım ardından arkadaşlarımın da önerisiyle https://tour.golang.org adresiyle buluştum, tamamen kısa ve yalın bir ingilizce ile konular açıklanıyor. Bu konu başlığımızda burada çıkan https://tour.golang.org/flowcontrol/8 adresindeki soruyla tamamen ilgili diyebilirim.

Eminim ne gereği var zaten math fonksiyonları içinde bu fonksiyon yada metod var dediğinizi duyar gibiyim amaç sadece öğrenmek.


Şimdi google https://tour.golang.org/flowcontrol/8 bize hesaplamanın nasıl yapılacağıyla ilgili bütün gerekli bilgileri formül yapısını vermiş bizim yapmamız gereken sadece bu noktaları birleştirerek sonuç elde etmek ve standart math.Sqrt fonkiyonu ile elde ettiğimiz sonuçları karşılaştırmak.


package main

import (
"fmt"
)

func Sqrt(x float64) float64 {
tmp := float64(0.0)
z := float64(1.0)
for {
if float32(tmp) == float32(z) {
break
}
tmp = z
z -= (z*z-x) / (2*z)

}
return z
}

func main() {
fmt.Println(Sqrt(2))
}

Sizlerde farklı algoritmalar kurarak yazdığınız kodları yorumlarda paylaşabilirsiniz.