27 Ocak 2014 Pazartesi

C Sharp Uygulamalar Sınıf kullanarak Alanlar ve Özellikler Oluşturma - Ortalama ve Standart Sapma Hesaplama



KONU : Bir sınıftaki N kadar öğrencinin notları klavyeden giriliyor. Bu öğrencilerin çan eğrisine göre harf notlarını hesaplanabilmesi için sınıfın ortalamasını ve standart sapmasını hesaplayan programı yazınız. Çan eğrisinde harflere karar vermek için sınıf ortalamasının (t) ve standart sapmasının(y) bulunması gerekmektedir. a.Kendisine gönderilen notlara göre ortalamayı hesaplayıp dönen ortalama adındaki fonksiyonu yazınız. b.Kendisine gönderilen notlara göre standart sapmayı hesaplayıp dönen stdsapma dındaki fonksiyonu yazınız. c.)Main/buttonclicked de notlar okunacak.Not okuma işlemi bitince fonksiyonlar çağırılıp sonuçlar ekrana yazılacak.
ETİKETLER: c sharp sapma - c sharp ortalama - c sharp standart sapma - c# sapma - c# ortalama - c sharp math





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace C_Sharp_Class_Aritmetik_Ortalama
{
    public partial class Form1 : Form
    {
        List sayilar = new List();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.AcceptButton = btnSayiGir;
        }

        private void btnSayiGir_Click(object sender, EventArgs e)
        {
            try
            {
                double sayi = double.Parse(txtSayi.Text);

                lstSayilar.Items.Add(sayi);
                sayilar.Add(sayi);
            }
            catch (Exception)
            {
                //Hata oldugunda not ekranını sil 
                MessageBox.Show(txtSayi.Text + " bu değer sayı olarak kabul edilemez", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            txtSayi.Text = "";
        }

        private void btnHesapla_Click(object sender, EventArgs e)
        {


            //Sayılar sınıfından bir örnek olşturalım.
            Sayilar sayi = new Sayilar(sayilar);

            lblOrtalama.Text = sayi.OrtalamaHesapla().ToString("0.000");

            //burda nesnenin standart sapma hesapla metodunu kullanarak giridiğimiz
            //sayılarının standart sapmasının hesaplatacağız.

            sayi.StandartSapmaHesapla();

            //şimdi burada yukarıdaki metodun hesapladığı değeri sınıfın özelliği olan
            //standartsapma dan elde edeceğiz

            lblStandartSapma.Text = sayi.StandartSapma.ToString("0.000");

        }

        private void btnTemizle_Click(object sender, EventArgs e)
        {
            lstSayilar.Items.Clear();
            sayilar.Clear();
        }

    }


    public class Sayilar
    {
        //private int tipinde alan (field)
        private int sayi;

        //private double tipinde alan (field)
        private double ortalama;

        //private double tipinde alan (field)
        private double standartSapma;

        //private string tipinde alan (field)
        private string isim;

        //private double tipinde dizi alan (field)
        private double[] sayiDizisi;

        /// 
        /// Constructor, parametresiz
        /// 
        public Sayilar()
        {

        }

        /// 
        /// Constructor, parametreli
        /// 
        public Sayilar(List sayilist)
        {
            this.sayiDizisi = new double[sayilist.Count];

            for (int i = 0; i < sayilist.Count; i++)
            {
                sayiDizisi[i] = sayilist[i];
            }
        }

        /// 
        /// public strign tipinde sınıf için özellik oluşturma
        /// 
        public string Isım
        {
            get 
            { 
               return isim ;
            }
            set
            {
                isim = value;
            }
        }

        /// 
        /// public strign tipinde sınıf için özellik oluşturma, " Read Only "
        /// 
        public double StandartSapma
        {
            get
            {
                return standartSapma;
            }
        }

        //double tipinde parametre alan ve double değer dönen metot
        public int OrtalamaHesapla(double[] sayidizisi)
        {
            int ortalama = 0;
            int toplam = 0;
            for (int i = 0; i < sayidizisi.Length; i++)
            {
                toplam += Convert.ToInt16(sayidizisi[i]);
            }

            ortalama = toplam / sayidizisi.Length;

            return ortalama;
        }

        //Double değer dönen ve parametre almayan metot
        public double OrtalamaHesapla()
        {
            double ortalama = 0;
            double toplam = 0;
            for (int i = 0; i < sayiDizisi.Length; i++)
            {
                toplam +=  sayiDizisi[i];
            }
            try
            {
                ortalama = toplam / sayiDizisi.Length;
            }
            catch (Exception)
            {
                ortalama = 0;
            }
   

            return ortalama;
        }

        //parametre almayan ve değer dönmeyen metot
        public void StandartSapmaHesapla()
        {
            // Madde 1: Aritmetik ortalama:sayıların toplamı / sayıların adedi

            int ortalama = OrtalamaHesapla(sayiDizisi);

            // Madde 2: veri – aritmetik ortalama
            // Madde 3: farkların karesi toplanır.

            double farkKarelerininToplami = 0;

            for (int i = 0; i < sayiDizisi.Length; i++)
            {
                farkKarelerininToplami += Math.Pow((double)(sayiDizisi[i] - ortalama), 2.0);
            }

            // Madde 4: hesaplanan değer, veri sayısının 1 eksiğine bölünür.
            // Madde 5 : Hesaplanan değerin karekökü alınır.

            this.standartSapma = Math.Sqrt(farkKarelerininToplami / (sayiDizisi.Length + -1));
        }
    }
}

UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönderme