25 Ocak 2014 Cumartesi

C Sharp Form Uygulamalar N Tane Öğrenicinin Not Ortalmasını ve Standart Sapmasını 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_N_Tane_Notun_Ortalamasi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnNotGirin_Click(object sender, EventArgs e)
        {
            try
            {
                int not = int.Parse(txtNot.Text);
                if (not >= 0 && not <= 100)
                {
                    lstNotlar.Items.Add(not);
                    lblNotSayisi.Text = lstNotlar.Items.Count.ToString();
                }
                else
                {
                    MessageBox.Show(txtNot.Text + " bu değer not olarak kabul edilemez", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception)
            {
                //Hata oldugunda not ekranını sil 
                MessageBox.Show(txtNot.Text + " bu değer not olarak kabul edilemez", "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            txtNot.Text = "";
        }

        private void btnOrtalamaHesapla_Click(object sender, EventArgs e)
        {
            int[] notlar = new int[lstNotlar.Items.Count];
            for (int i = 0; i < lstNotlar.Items.Count; i++)
            {
                notlar[i] = Convert.ToInt16(lstNotlar.Items[i]);
            }
            lblNotOrtalamasi.Text = OrtalamaHesapla(notlar).ToString();
        }

        private int OrtalamaHesapla(int[] notlar)
        {
            int ortalama = 0;
            int toplam = 0;
            for (int i = 0; i < notlar.Length; i++)
            {
                toplam += Convert.ToInt16(notlar[i]);
            }

            ortalama = toplam / notlar.Length;

            return ortalama;
        }

        private void btnStandartSapma_Click(object sender, EventArgs e)
        {
            int[] notlar = new int[lstNotlar.Items.Count];
            for (int i = 0; i < lstNotlar.Items.Count; i++)
            {
                notlar[i] = Convert.ToInt16(lstNotlar.Items[i]);
            }


            // Madde 1: Aritmetik ortalama:sayıların toplamı / sayıların adedi

            int ortalama = OrtalamaHesapla(notlar);

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

            double farkKarelerininToplami = 0;

            for (int i = 0; i < notlar.Length; i++)
            {
                farkKarelerininToplami += Math.Pow((double)(notlar[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.

            double standartSapma = Math.Sqrt((double)farkKarelerininToplami / (notlar.Length + -1));

            lblStandartSapma.Text = standartSapma.ToString("0.000");
        }

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

UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönderme