Algoritma çeşitleri

Başlatan seref, 01 Mayıs 2013, 16:33:56

seref

Merhaba Arkadaşlar;

Ben bir sayıyı bir kaç algoritmada karşılaştırma yapacağım ancak böyle bir işlem için hangi algoritmaları kullanabilirim? Bana bu konuda yardımcı olabilirseniz çok sevinirim.

Teşekkürler,

Gökhan BEKEN

http://tr.wikipedia.org/wiki/S%C4%B1ralama_algoritmas%C4%B1
aradığınız sıralama ise burda birsürü sıralama algoritması var
Özel mesaj okumuyorum, lütfen göndermeyin.

seref

Çok teşekkür ederim Meftun arkadaşım. Ama amacım şu; Pic'de pi sayısını veren algoritmaları karşılaştırma yapmam gerekmekte, Örneğin algoritmaları karşılaştırırken veri belleğinde ne kadar yer tutuyor, program belleğini ne kadar harcıyor gibi sorulara cevap bulmam gerekmekte...

Gökhan BEKEN

Programı derlediğinizde, derleyici size bellek harcamalarını gösteriyor. Derleyicinin ürettiği assembly kodlarının şişkinliğinden, hex kodunun şişkinliğinden de anlayabilirsiniz.
Özel mesaj okumuyorum, lütfen göndermeyin.

pisayisi

Pİc bir yana önce pi hesaplamanın hangi yöntemlerini pic üzerinde uygulayacağına kaç digit için hangi doğrulukla hesap yapacağına karar vermen gerekir. Pi  yi numerik olarak hesaplamanın yüzlerce yöntemi vardır, çoklukla taylor serisine yapılan açılımların çeşitli versiyonları yaygındır. En meşhur olan ve ilk dünyarekoruna imza atan formul aşağıdaki Ramanujan formülüdür.




diğer yöntemleri de ilgili sayfada bulabilirsin...

http://en.wikipedia.org/wiki/Numerical_approximations_of_%CF%80

Aşağıdaki ise benim  en sevdiğim anlaşılması en basit olan taylor serisine 1/(1+x) i açarak bulunandır...

[IMG]http://imageshack.us/a/img801/374/pitaylor.jpg[/img]
Murat

seref

Çok Teşekkür ederim arkadaşlarım. Pi sayısını hesaplayan formülleri buldum. C# da uyguladım ama şimdi bunları karşılaştırabilmem için Mplab damı kodlamam gerekiyor? Veri belleğinde ne kadar yer harcamış filan mplabda görebiliyorum?
Bu konuda yardımcı olabilirseniz çok sevinirim
Teşekkürler

Gökhan BEKEN

#6
@sefef kusura bakma ben yukardaki yorumumda pic için yaptığını varsaymıştım. C# işin içinde varsa pic'e felan gerek yok her türlü hesaplarsın. Yanlış bilmiyorsam Stopwatch diye bir eleman vardı yaptığın işlemlerin uzunluğunu felan ölçmek için.
Özel mesaj okumuyorum, lütfen göndermeyin.

seref

Yok meftun arkadaşım yanlış anlamamışsın, dogru anlamışsın... Ben Mplab'ı pek bilmediğim için ilk önce Pi sayısının formüllerini buldum sonra bu formülleri c# da uyguladım (c# bildiğim için) ama benim c# da değil de Mplab da uygulamam gerekiyor ama nasıl uygulayacağım konusunda herhangi bir bilgim yok. Tam olarak takıldığım nokta budur. Uzun lafın kısası ben bunu C# da yaptım ama Mplab da yapmam gerekiyor ama Mplab bilmiyorum :(

seref

Merhaba Arkadaşlar;

Ben aşağıdaki  kodları C#'da yazdım Ama benim bunu Mplab'da yazmam gerekiyor. Nasıl yazacağım konusunda hiç bir fikrim bulunmamakta. Yani ADDLW filan kodları ile yazılması gerekiyor...Bu konuda yardımcı olabilirseniz çok sevinirim. Teşekkürler,

            int n = Convert.ToInt32(textBox1.Text);
            float sum = 0;
            float sonuc1 = 0;
            float sonuc2 = 0;
            float pay = 0;
            float payda1 = 0;
            float payda2 = 0;
            for (int i = 3; i < n; i=i+4)
            {
                pay = (float)(4);
                payda1 = (float)(Math.Pow(i,3)-i);
                sonuc1 = (float)(pay / payda1);
                payda2 = (float)(Math.Pow((i + 2), 3) - (i + 2));
                sonuc2 = (float)(pay / payda2);
                sum = sum + sonuc1 - sonuc2;
            }
            sum = sum + 3;
            MessageBox.Show("sum:" + sum.ToString()); 


Gökhan BEKEN

Assembly ile yazman gerekiyor, ama messagebox kısmına yani kullanıcıya gösterme kısmına ne düşünüyorsun? Mesela LCD olabilir veya Seriport ile bilgisayara da gönderebilirsin. Bence yine c ile yaz nasılsa assembly komutlarını ayrı bir dosyada oluşturuyor. Kolay olur yani.
Özel mesaj okumuyorum, lütfen göndermeyin.

seref

İşte ben Mplab'da C kodunu nasıl yazacağım konusunda takıldım :( Mplab'da C kodu nasıl yazılır bilmiyorum. Bu konuda yardımcı olabilirseniz çok sevinirim...Herhangi bir kaynak yada örnek olursa yardımcı olabilir sanırım

seref

Merhaba Meftun arkadaşım;

Kodları Mplab'da Hi-tech C compiler seçerek, yazma başarısına ulaşabildim. Ancak sizinde önceden gördüğünüz bir noktada takıldım kaldım. ben bu işlemler sonucunda sonucu= 3,1455.... gibi ondalıklı küsürlü sayılar buluyorum. bu sayıların ondalık basamak sayısı kimi zaman 4 kimi zaman ise 32 gibi olabiliyor ve benim bu sonucu bi şekilde gösterebilmem gerekiyor ama nerede ve nasıl gösterecem konusunda hiç bir fikrim yok :( bu konuda yardımcı olabilirseniz çok sevinirim

Teşekkürler,
İyi Günler

Gökhan BEKEN

http://www.fxdev.org/muhendislik/hi-tech-pic-programlama/
Bu kitabı indirirseniz ve uygulamaları öğrenirseniz, lcd ile veya seri port ile verileri okuyabilirsiniz.
Özel mesaj okumuyorum, lütfen göndermeyin.

seref

Bu linkler engellenmiş , indiremiyorum :( Hi-tech C'de , C# da olduğu gibi messagebox gibi herhangi bir komutu yok mudur? yada benim sonucu görebilmem için tek çare olarak Lcd mi kullanmam gerekiyor... Bir de sormam gereken bişi daha var. Lcdyi kullanmak için devre kurmak gerek miyor mu? ben devre kurmuyorum sadece kod yazıyorum ama başka çözümü var mıdır ki?

teşekkürler

Gökhan BEKEN

lcd şart değil seri port ile daha kolay ama max232 entegresi(illa bu zorunlu değil başka bir çeviricide olabilir) kullanmanız gerekir. Bilgisayar ile seri haberleşme için bu entegre seviye çevirici görüyor direkt bağlamamalısınız.
Dosyayı indirmeye gelince aşağıdaki link ile tekrar deneyin dns problemi olduğu için diğer link çalışmayabilir.
http://www.4shared-china.com/office/KwGm6Ib8/Hi-Tech_ile_Pic_Programlama.html

olmadı bende vardı sizin için yükledim: http://www24.zippyshare.com/v/60699385/file.html
Özel mesaj okumuyorum, lütfen göndermeyin.