Scoulfly
Uzman Üye
- Katılım
- 20 Aralık 2020
- Mesajlar
- 193
- Tepkime puanı
- 631
- İlgi Alanlarınız
- Grafik Tasarım
- Cinsiyet
-
- Erkek
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Babil Metodu ile Karekök Hesaplama
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sizlerle Sqrt() Fonksiyonu kullanmadan karekök almanın formülünü öğreneceğiz ve bunu C++ üzerinde kullanacağız.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Başlayalım
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Babil metodu bulduğunuz sonuçları tekrar tekrar kullanarak gitgide sonuca yaklaştığınız metotdur.
Hemen örneklendirelim.
Babil Metodu ile Karekök Hesaplama
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sizlerle Sqrt() Fonksiyonu kullanmadan karekök almanın formülünü öğreneceğiz ve bunu C++ üzerinde kullanacağız.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Başlayalım
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Babil metodu bulduğunuz sonuçları tekrar tekrar kullanarak gitgide sonuca yaklaştığınız metotdur.
Hemen örneklendirelim.
İlk önce karekökünü almak istediğimiz sayıya (x=25) 1 ekleyip sonra 2'ye bölelim.(x+1)/2-------------(25+1)/2=13
Kod:
Bulduğumuz sonuca n diyorum.n=((x/n)+n)/2-------------((25/13)+13)/2=7,461
x'i (25) bulduğumuz sonuca (n=13)bölüp tekrardan bulduğumuz sonuca (n=13)'ü ekliyoruz.
Kod:
Buradan bulunan sonuçla tekrardan aynı işlem yapılır.n=((x/n)+n)/2-------------((25/7,461)+7,461)/2=5,405
Kod:
Tekrar aynı işlem yapılır.
Kod:n=((x/n)+n)/2-------------((25/5,405)+5,405)/2=5,015
Tekrar aynı işlem yapılır.
Kod:n=((x/n)+n)/2-------------((25/5,015)+5,015)/2=5,00002
.
.
.
.
.
.
Sonuç = 5
Gördüğünüz gibi bulduğumuz sonuçları tekrar tekrar kullanarak sonuca ulaştık.
Önce daha düzgün anlamak için algoritma üzerinden gösterip daha sonra c++ kodlarını paylaşayım.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Şimdi sıra kodlarda:
Kod:
.
.
.
.
.
Sonuç = 5
Gördüğünüz gibi bulduğumuz sonuçları tekrar tekrar kullanarak sonuca ulaştık.
Önce daha düzgün anlamak için algoritma üzerinden gösterip daha sonra c++ kodlarını paylaşayım.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Şimdi sıra kodlarda:
Kod:
Kod:
#include <iostream>
using namespace std;
**** karekokal(double x) //fonksiyon başlığı
{
double a,n;
n=(x+1)/2; // ilk işlemimiz bu.
for (a=1; a<=10000; a++) //sayaç 10000 kere döndürdüm çünkü ne zaman bulacağı belli değil.
{
n=((x/n)+n)/2; //ikinci işlem bir süre sonra hep aynı sonucu veriyor.
}
cout << endl << "Sonuc= " << n;
}
main()
{
double x,kok;
cout << "Karekokunu almak istediginiz sayi= "; cin >> x;
karekokal(x);
}