c# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
c# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Temmuz 2019 Çarşamba

asp.net Grafik işleme örneği / chart kullanımı

        Asp.net Chart kontrolünün kullanımı ile Grafik oluşturmayı gösteren bir örnek oluşturacağız. Chart kontrolü ile Grafik oluşturmak için kullanacağımız projemizde üniversite yemekhanesinde Öğrenci,personel,misafir ve akademisyenlerin yemek yedikleri günlerin sayılarını kullanarak bir örnek gerçekleştireceğiz.

1.Projemize Chart(Grafik) kontrolünü eklemek için Toolbox penceresini kullanacağız. Bunun için Toolbox Data bölümünden projemize Chart kontrolünü ekleyeceğiz.



  • Chart kontrolünü ekledikten sonra aşağıdaki ayarlamayı yapacağız. Bunun için chart1 kontrolü  üzerine bir kez tıkladıktan sonra Properties penceresinden Series özelliğine fotoğraftaki gibi tıklıyoruz.




  • Daha sonra açılan pencerede aşağıdaki ayarı yapacağız. Bu bölümde Name özelliğine verdiğimiz isim önemli ben. Kod kısmında bu ismi kullanarak kodlarımızı yazacağız. grafikte öğrenci, personel,misafir ve akademisyenlerin her birine bir sütun olarak göstermek için açılan pencerede Add butonuna tıklayarak 4 tane sütun ekliyoruz ve bunları veri1, veri2, veri3 ve veri4 olarak adlandırdım.




  • Bu işlemleri yaptıktan sonra karşımıza resimdeki gibi bir grafik çıkacak.




  • Şimdi ise sayfamızın kod kısmına geçerek elle bir haftalık verinin nasıl eklendiğini görelim.

  • Sayfayı çalıştırdığımızda grafiğin çalışması için kodlarımızı aspx.cs içerisinde Page_Load içerisinde yazmalıyız.


 protected void Page_Load(object sender, EventArgs e)
        {
            Chart1.Series["veri1"].Points.AddXY("Pazartesi",25); //burada hem X hemde Y değerlerini verihoruz
            Chart1.Series["veri1"].Points.AddXY("salı", 35);
            Chart1.Series["veri1"].Points.AddXY("çarşamba", 45);
            Chart1.Series["veri1"].Points.AddXY("prşembe", 55);
            Chart1.Series["veri1"].Points.AddXY("cuma", 65);

            Chart1.Series["veri2"].Points.Add(15); //veri birde X ve Y değerlerini verdiğimiz için diğer sütunlara                                                                                                        sadece Y değerini atıyoruz.
            Chart1.Series["veri2"].Points.Add(25);
            Chart1.Series["veri2"].Points.Add(35);
            Chart1.Series["veri2"].Points.Add(36);
            Chart1.Series["veri2"].Points.Add(46);

            Chart1.Series["veri3"].Points.Add(10);
            Chart1.Series["veri3"].Points.Add(20);
            Chart1.Series["veri3"].Points.Add(30);
            Chart1.Series["veri3"].Points.Add(40);
            Chart1.Series["veri3"].Points.Add(50);

            Chart1.Series["veri4"].Points.Add(12);
            Chart1.Series["veri4"].Points.Add(21);
            Chart1.Series["veri4"].Points.Add(32);
            Chart1.Series["veri4"].Points.Add(23);
            Chart1.Series["veri4"].Points.Add(25);
        }

  • Bu kodları yazdıktan sonra karşımıza resimdeki grafik çıkacaktır.



  • Şimdi ise Aynı işlemi veri tabanından çekerek gerçekleştirelim.

  //Burada veri tabanından Net platformunda ORM (Object Relational Mapping) araçlarından biridir. ORM (Object Relational Mapping) ise veritabanı ile nesneye yönelik programlama (OOP) arasındaki ilişkiyi kuran teknolojidir. Yani Entity Framework, nesne tabanlı programlamada veritabanındaki tablolara uygun nesneler oluşturma tekniğini kulanıyoruz.


   GrafikDBContext ctx = new GrafikDBContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            var getVeri = from v in ctx.tblAylikGirafs.OrderByDescending(x => x.id).Take(5) select v;
            foreach (var i in getVeri)
            {
                Chart1.Series["veri1"].Points.AddXY(i.Tarih, i.ogr_Veri);
                Chart1.Series["veri2"].Points.Add(Convert.ToInt32(i.pers_Veri));
                Chart1.Series["veri3"].Points.Add(Convert.ToInt32(i.akedemis_Veri));
                Chart1.Series["veri4"].Points.Add(Convert.ToInt32(i.misafir_Veri));
                Chart1.Series["veri5"].Points.Add(Convert.ToInt32(i.burslu_Veri));
            }
}

  • Bu kodları yazdığımızda karşımıza aşağıdaki şekil çıkacaktır.



  • Veri tabanında tablomuz aşağıdaki gibidir.


8 Mart 2018 Perşembe

C# Console Application ile kullanıcının girmiş olduğu cümlede her harften ya da karakterden kaçar tane olduğunu bulan program



C# Console Application ile kullanıcının girmiş olduğu cümlede her harften ya da karakterden kaçar tane olduğunu bulan programı ele alacağız .



Örnek :
kullanıcı AHMED ÇILDIR  diye bir cümle girdiğini farz edelim .
Programımız bu cümleyi nasıl analiz edebilir algoritma olarak düşünürsek aklımıza ilk gelen şey bizim karakter sayısını ala bilmemiz için bu cümleyi bir diziye almamız gerek bu sayede her bir karakteri diğeriyle karşılaştırıp kaçar tane olduğunu öğrene biliriz .

Bunun için Substring() metodunu kulana biliriz .

KODUN İŞLEYİŞİ :

1. kullanıcıdan girdi alıyoruz
2. Length ile kullanıcının girdiği cümle uzunluğunu alıyoruz ki dizimizin uzunluğunu belirleye bilelim .
3. d isminde String bir dizi tanımlıyoruz ve uzunluğunu 2 adımda aldığımız cümle uzunluğu olarak veriyoruz.
4. üst taraf bahis ettiğimiz gibi Substring() metodu kullanarak cümleden her bir harfi diziye yerleştiriyoruz. dizimimz aşağdaki şekilde olacak .

5. if ile kontrol ediyoruz ikinci for döngümüz dizi uzunluğu kadar dönecek ve if sayesinde dizideki karakterleri teker teker kontrol edecek .
6. dizideki kontrol ettiğimiz karakter yerine ** ile değiştiriyoruz ki karakterleri bir daha saymayalım .
7. ve son olarak (1) for döngümüz her dönmesinde sonucu ekrana yazacak.



KOD ÖRNEĞİ :

           string m = Console.ReadLine();//1
            int u =m.Length;//2
            string[] d = new string[u];//3
            for (int i = 0; i < u; i++)
            {
                d[i] = m.Substring(i, 1);//4
            }
            int x = 1;
            for (int i = 0; i < u; i++)
            {
                for (int j = i+1; j < u; j++)
                {
                    if (d[i]==d[j])//5
                    {
                        x++;
                        d[j] = "**";//6
                    }
                    
                }
                if (d[i].Length==1)
                {
                    Console.WriteLine(d[i]+": "+x);//7
                }
               
                    x = 1;
            }

            Console.ReadLine();




19 Şubat 2018 Pazartesi

C# Entropi Değerleri 1 ile 6 arasında değişen 100 elemanlı bir dizi için entropi değerini hesaplıyan C# programı

Değerleri 1 ile 6 arasında değişen 100 elemanlı bir dizi için entropi değerini hesaplıyan programı

ENTROPİ NEDİR




Entropi, en kaba tanımla, bir sistemin düzensizliğinin ölçüsüdür  Entropi öylesine yararlı bir fiziksel kavramdır ki, pek çok disiplin içinde ayrı ayrı entropi fonksiyonları kullanılır  Örneğin termodinamik entropi, topolojik entropi gibi  Sistemin düzensizliği arttıkça artan herhangi bir fonksiyon rahatça entropi fonksiyonu olabilir  Örneğin bir bardak suyumuz olduğunu ve bunun içine bir damla mürekkep damlatıp gözlediğimizi düşünelim ve içeride neler olduğunu hayal etmeye çalışalım: mürekkep molekülleri başlangıçta kısa bir sure bir arada bir arada bekleştikten sonra su içine dağılmaya başlayacaklardır çünkü kendilerine çarpan su molekülleri tarafından değişik yönlere saçılırlar

Şimdi olağanüstü bir bilgisayarın sistemin bütün mümkün durumlarını sayabildiğini düşünün Sistemin bir durumu denildiğinde anlamamız gereken şey örneğin bir molekülün belirli bir koordinata ve belirli bir hiza; bir başka molekülün bir başka belirli koordinata ve hiza sahip olduğu bir konfigürasyondur Bardaktaki mürekkep örneğimizde bu tur durumların sayısının çok çok (hatta hayal edebileceğimizden de çok) fazla olduğu açıktır, ama neyse ki bu durumları saymak gibi bir ihtiyaç içinde değiliz zira bunların çok büyük  bir kısmı mürekkebin moleküllerinin bardak içinde oraya buraya rasgele dağıldığı, düzensiz, yani yüksek entropili durumlara karşılık gelirler  Bizim için bunların hepsi homojen durumlardır çünkü biz karışıma baktığımızda o molekülün burada, bir başkasının şurada olmasına aldırmadan, mürekkebin homojen olarak dağıldığını söyler geçeriz Yani olağanüstü sayıda farklı mikroskobik durum tek bir makroskobik duruma, yani homojen duruma karşılık gelir

Esasında suya her mürekkep damlatışımızda, mürekkebin dağılmasının nedeni budur Homojen bir makroskobik duruma karşılık gelen mikroskobik durumların sayısının fazlalığı onun olasılığını arttırır  çünkü istatistik fizik yasaları bir makroskobik durumun olasılığının, ona karşılık gelen mikroskobik durumlarla orantılı olduğunu söyler bize

Ancak, su molekülerinin mürekkebi yeniden bir damla haline getirmesi ya da belki küçük bir köşede toplaması olasılığı sıfıra çok yakın olmakla birlikte, sıfır değildir  Bu sadece moleküllerin çok özel hız ve koordinatlara sahip oldukları durumlarda mümkündür ve bu durumların sayısı da öylesine azdır ki evrenin başlangıcından bu yana bir kez olsun elde edilmiş olmaları bile pek muhtemel gözükmemektedir.

Entropi`yi daha nerelerde Kullana biliriz ?

Örneğin bir alış veriş merkezi düşünelim burada bir analiz yapmamız isteniliyor istenilen analiz şu şekilde AVM ye gelen müşterilerin kaçı hangi ürünü birlikte tüketiyor bunu analiz edip beraber tüketilen bu ürünleri aynı rafa koyarak müşterimizin işini kolaylaştırıyoruz ve daha verimli bir satış elde ederiz işte bu analizi entrobi  kullanarak iki yada daha fazla ürün arasındaki ilişkiyi bulabiliriz .

1 ) 100 elemanlı bir dizi oluşturuyoruz .

2) 1 ile 6 arasında sayı üretmek için random yani rastgele sayı üretiyoruz.

3)dizimizi doldurmak için 100 kadar giden bir for döngüsü yapıyoruz .

4) 1 ile 6 arasında rastgele sayıları diziye doldurmak için d[i] = r.Next(1, 7) ifadesini kullanıyoruz .

5) entropi adında bir değişken tanımlıyoruz .

6) Burada yükarda resimde gördüğümüz entropi formülünü uyguluyoruz .

7) ve son olarak sonucu ekrana yazdırıyoruz .



            int[] d = new int[100];//1
            Random r = new Random();//2
            for (int i = 0; i < 100; i++)//3
            {
                d[i] = r.Next(1, 7);//4
            }
            double entropi = 1;//5
            for (int i = 0; i < 100; i++)
            {
                entropi += (d[i] * Math.Log(d[i]));//6
            }
            Console.WriteLine(entropi);//7
            Console.Read();

16 Şubat 2018 Cuma

C# Korelasyon N elemanlı A ve B serileri arasındaki Korelasyonu hesaplıyan program

Korelasyon ne demektir?

Korelasyon analizi, iki değişken arasındaki doğrusal ilişkiyi veya bir değişkenin iki yada daha çok değişken ile olan ilişkisini test etmek, varsa bu ilişkinin derecesini ölçmek için kullanılan istatistiksel bir yöntemdir.  Korelasyon analizinde amaç; bağımsız değişken (X) değiştiğinde, bağımlı değişkenin (Y) ne yönde değişeceğini görmektir.Korelasyon analizi sonucunda, doğrusal ilişki olup olmadığı ve varsa bu ilişkinin derecesi korelasyon katsayısı ile hesaplanır. Korelasyon katsayısı “r” ile gösterilir ve -1 ile +1 arasında değerler alır.Pozitif bir ilişkinin olması X değişkeninin değerlerinin artması durumunda Y değişkeninin değerlerinin de artması, yada Xdeğişkeninin değerlerinin düşmesi durumunda Y değişkenine ait değerlerin de düşme eğiliminde olduğunu gösterir 

Örneğin biri kişi ne kadar girişken ise arkadaşları da o kadar çoktur. Değişkenlerden birinin artıp diğerinin azaldığı durumda ise negatif ilgileşim söz konusudur. Örnek olarak kişi ne kadar yaşlıysa dürtüsel davranışları da azalacaktır.


:: Hesaplama Formülleri ::   



using System;

namespace korelasyon2
{
    class Program
    {
        static double ortM(double[] d) 
        {
            int n = d.Length;
            double ort = 0;
            for (int i = 0; i < n; i++)
            {
                ort += d[i];
            }
            ort = ort / n;
            return ort;
        }

        static double s(double[] d)  //Sx ve Sy hesaplama metodu .
        {
           
            double ort = ortM(d);
            int n = d.Length;
            double s = 1;
            for (int i = 0; i < n; i++)
            {
                s += (Math.Pow(d[i] - ort,2));
            }
            s = s / n;
            return Math.Sqrt(s);
        }


        static void Main(string[] args)
        {
            double[] dx = { 1,  33, 22,44 };
            double[] dy = { 1,  33, 22, 55 };
            double ortx = ortM(dx);
            double orty = ortM(dy);
            int n = dx.Length;
            double pay = 0;
            for (int i = 0; i < n; i++)
            {
                pay += ((dx[i] - ortx) * (dy[i] - orty));
            }
            double payda = (n - 1) * s(dx) * s(dy);
            double r = pay / payda;
            Console.WriteLine(r);
            Console.Read();
        }
    }
}

27 Eylül 2017 Çarşamba

C# ile Fibonacci dizisi oluşturma

       for döngüsünü kullanarak fibonacci dizisini yazan programı hep birlikte kodlayalım .

Fibonacci Dizisi Nedir?












Fibonacci Dizisi, her sayının kendisinden bir önceki sayı ile toplanması ile elde edilen sayılar serisidir. Fibonacci Disizinde yer alan rakamların özelliği, Fibonacci Dizisinde yer alan sayıların kendilerinden bir öncekiyle oranlandığında oluşan serinin altın orana yaklaşarak ilerlemesidir.
Fibonacci dizisi 1 rakamı ile başlamak zorunda değildir. Herhangi bir rakam ile başlayabilir.
Örn/ 0-1-1-2-3-5-8-13-bir Fibonacci Dizisidir ancak Fibonacci Dizisi, 4-4-8-12-20-32-52-84 olarak da devam edebilir.
Fibonacci Dizisine neden Fibonacci Dizisi Denilir ?
Fibonacci Dizisi Leonardo Fibonacci tarafından bulunmuştur. İtalya’da doğmuş olan Leonardo Fibonacci bir problemi araştırırken bu sayıları keşfeder ve kendi adını vermeye karar verir.

int a = 1;
int b = 1;
int c;
Console.WriteLine(a); // a ddeğerini ekrana yazdır
Console.WriteLine(b); // b değerini ekrana yazdır
for(int i=1;i<=8;i++) // for int 1 den başla 8 kadar git burada istersek sayıyı dahada büyüte                          biliriz
{
c = a + b;            
a = b;               
b = c;
Console.WriteLine(c); // c değerini ekrana yazdır
}

Console.Read();



31 Mayıs 2017 Çarşamba

C# dizinin değerlerinin küçükten büyüğe sıralanması






C# Diziler

C# Diziler, Şimdiye kadar program içinde tanımladığımız değişken sayısı birkaç değişkeni geçmedi. Ancak çoğu zaman bu böyle olmaz. Bazı programlarda 200-300 değişkene kadar ihtiyaç duyabiliriz. Bunların hepsinin teker teker tanımlanması oldukça zahmetlidir. İşte bu yüzden programlama dillerinde dizi diye bir kavram vardır. Aslında bir dizi, birbiriyle ilişkili değişkenlerin oluşturduğu bir gruptan başka bir şey değildir. Diyelim ki sayi1 ve sayi2 adlı iki değişken tanımladık. Bunların adları birbirine benzemesine rağmen birbiriyle hiçbir ilişkisi yoktur. Yani bir döngü içinde sayiX yazarak bu değişkenlere erişemeyiz. Halbuki dizilerde bu mümkündür.
Dizi Tanımlama ve Değerlere Erişim
?
1
int[] dizi=new int[10];

Bir dizinin seçmeli sıralama algoritması ile dizinin değerlerinin   küçükten büyüğe sıralanması. 5 elemanlı bir diziye değerler atayıp yapalım.


int gecici;
int[] sayilar = new int[5] { 3, 9, 12, 1, 7 };
Console.Write("Dizinin ilk hali: ");
foreach (int deger in sayilar)
      {
         Console.Write(deger + " ");           
      }
for (int i = 0; i < sayilar.Length-1; i++)
    {
      for (int j = i; j < sayilar.Length; j++)
          {
       // >(büyük) işareti <(küçük ) olarak değiştirilirse büyükten küçüğe sıralanır
            if (sayilar[i] > sayilar[j])                                              
               {
                 gecici = sayilar[j];
                 sayilar[j] = sayilar[i];
                 sayilar[i] = gecici;
               }

          }
    }
Console.WriteLine();
Console.Write("Dizinin son hali: ");
foreach (int deger in sayilar)
       {
            Console.Write(deger + " ");
       }
           Console.ReadKey();




28 Mayıs 2017 Pazar

1 ile 100 arasında 25 sayıyı diziye atayıp bu sayıları sıralı şekilde ekrana yazdıralım.

C#


// 1.gecici isminde bir değişken oluşturuldu.
   int gecici;

//2. 25 elemanlı bir dizi oluşturuldu.
   int[] sayilar = new int[25];

//3.oluşturduğumuz diziye 1´den 100´e kadar rast gele sayı tandı.
   Random r = new Random();
       for (int a = 0; a < sayilar.Length; a++)
            {
                  sayilar[a] = r.Next(1, 101);
            } 

                Console.WriteLine("Dizinin İlk Hali;");
//4.foreach kullanarak dizideki elemanlar ekrana yazıldı.
        foreach (int sayi in sayilar)
                    {
                         Console.Write("{0} ", sayi);
                    }
                            Console.WriteLine();

C# Yıldızlarla dik dörtgen çizme

                                         

     C# Yıldızlarla dik dörtgen çizme 





            //Üst kenar
            for(int i = 0; i <= 35; i++)
            {
                Console.Write("* ");
            }
            Console.WriteLine();
            //yan kenar
            for(int j = 0; j <= 33; j ++)
            {
                Console.Write("*");
                //aradaki boşluğu bırakma
                for(int a = 0; a <= 33; a++)
                {
                    Console.Write("  ");
                }
                Console.Write(" *");
                Console.WriteLine();
            }
            //alt kenar
            for (int i = 0; i <= 35; i++)
            {
                Console.Write("* ");
            }
              Console.Read();