Picproje Elektronik Sitesi

SERBEST BÖLGE => Programlama ve Algoritma => Konuyu başlatan: seref - 01 Mayıs 2013, 16:33:56

Başlık: Algoritma çeşitleri
Gönderen: seref - 01 Mayıs 2013, 16:33:56
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,
Başlık: Ynt: Algoritma çeşitleri
Gönderen: Gökhan BEKEN - 01 Mayıs 2013, 18:16:29
http://tr.wikipedia.org/wiki/S%C4%B1ralama_algoritmas%C4%B1 (http://tr.wikipedia.org/wiki/S%C4%B1ralama_algoritmas%C4%B1)
aradığınız sıralama ise burda birsürü sıralama algoritması var
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 01 Mayıs 2013, 18:54:54
Ç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...
Başlık: Ynt: Algoritma çeşitleri
Gönderen: Gökhan BEKEN - 01 Mayıs 2013, 21:37:48
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.
Başlık: Ynt: Algoritma çeşitleri
Gönderen: pisayisi - 01 Mayıs 2013, 21:39:38
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.


(http://upload.wikimedia.org/math/9/7/e/97e0706f5d97298fd0f75e2b3022b776.png)

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

http://en.wikipedia.org/wiki/Numerical_approximations_of_%CF%80 (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]
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 02 Mayıs 2013, 17:58:55
Ç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
Başlık: Ynt: Algoritma çeşitleri
Gönderen: Gökhan BEKEN - 02 Mayıs 2013, 21:43:25
@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.
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 02 Mayıs 2013, 22:49:30
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 :(
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 04 Mayıs 2013, 16:51:08
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()); 

Başlık: Ynt: Algoritma çeşitleri
Gönderen: Gökhan BEKEN - 05 Mayıs 2013, 01:03:06
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.
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 05 Mayıs 2013, 10:36:46
İş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
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 05 Mayıs 2013, 13:49:55
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
Başlık: Ynt: Algoritma çeşitleri
Gönderen: Gökhan BEKEN - 05 Mayıs 2013, 14:36:00
http://www.fxdev.org/muhendislik/hi-tech-pic-programlama/ (http://www.fxdev.org/muhendislik/hi-tech-pic-programlama/)
Bu kitabı indirirseniz ve uygulamaları öğrenirseniz, lcd ile veya seri port ile verileri okuyabilirsiniz.
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 05 Mayıs 2013, 14:50:28
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
Başlık: Ynt: Algoritma çeşitleri
Gönderen: Gökhan BEKEN - 05 Mayıs 2013, 15:52:17
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 (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 (http://www24.zippyshare.com/v/60699385/file.html)
Başlık: Ynt: Algoritma çeşitleri
Gönderen: seref - 05 Mayıs 2013, 16:40:48
Merhaba Meftun Arkadaşım biliyorum seni çok rahatsız ettim kusura bakma ama ben işin içinden çıkamadım :( benim bu ödevi yarın teslim etmem gerektiği için biraz stres panik oldum. C# da ben bu kodları toplamda bunun gibi 5-10 tane daha örnek var 1 saatte yaptım ancak Mplab'da 3-4 gündür yapamadım. Artık sıyırma noktasındayım.
Örnek kodu çalıştırdığımda succesful diyor ancak run dediğimde ekteki gibi bir sürü pencere açılıyor. bu pencereler niye açılıyor ki bir türlü anlayamadım. Bide ondalıklı sayıları Lcd de gösterme olayını okudum okudum anlamadım :(

(http://file:///C:/Users/vg%C3%B6zal/Desktop/Mplab-Hi-Tech.png)

mesaj birleştirme:: 05 Mayıs 2013, 16:44:18

(http://C:%5CUsers%5Cvg%C3%B6zal%5CDesktop%5CMplab-Hi-Tech.png)