Core Mvc

Rastgele Seçilen N Adet Sayının Varyansını ve Standart Sapmasını Bulan Core Mvc Uygulaması

İstatistik konusunun temelini oluşturan varyans ve standart sapma hesaplamaalrı neredeyse tüm alanlarda kullanılmaktadır. Yığın üzerinde karar vermek için gerekli doneleri bize sunar. Bu uygulamada N adet sayının varyansını ve standart sapmasını bulan core mvc uygulaması yapacağız.

Model tanımı aşağıdaki gibidir.

public class StatsModel
{
    public int N { get; set; }
    public List<int> Numbers { get; set; } = new();
    public double Mean { get; set; }
    public double Median { get; set; }
    public int Mode { get; set; }
    public double Variance { get; set; }
    public double StdDeviation { get; set; }
}

Controller dosyasını tanımlayalım.

using Microsoft.AspNetCore.Mvc;
using VarianceStdDevApp.Models;
using System;
using System.Collections.Generic;
using System.Linq;

public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View(new StatsModel());
    }

    [HttpPost]
    public IActionResult Index(StatsModel model)
    {
        var rnd = new Random();
        model.Numbers = Enumerable.Range(0, model.N).Select(_ => rnd.Next(1, 101)).ToList();

        // Ortalama
        model.Mean = model.Numbers.Average();

        // Medyan
        var sorted = model.Numbers.OrderBy(x => x).ToList();
        model.Median = model.N % 2 == 1
            ? sorted[model.N / 2]
            : (sorted[(model.N - 1) / 2] + sorted[model.N / 2]) / 2.0;

        // Mod
        model.Mode = model.Numbers.GroupBy(x => x)
                          .OrderByDescending(g => g.Count())
                          .First().Key;

        // Varyans ve Standart Sapma
        model.Variance = model.Numbers.Sum(x => Math.Pow(x - model.Mean, 2)) / (model.N - 1);
        model.StdDeviation = Math.Sqrt(model.Variance);

        return View(model);
    }
}

Son olarak View dosyasını tanımlayalım.

@model VarianceStdDevApp.Models.StatsModel

<h2>İstatistik Hesaplayıcı</h2>

<form asp-action="Index" method="post">
    <label>Kaç adet rastgele sayı üretilecek?</label><br />
    <input asp-for="N" type="number" min="2" required />
    <button type="submit">Hesapla</button>
</form>

@if (Model.Numbers != null && Model.Numbers.Count > 0)
{
    <hr />
    <h4>Üretilen Sayılar</h4>
    <p>@string.Join(", ", Model.Numbers)</p>

    <h4>Sonuçlar</h4>
    <ul>
        <li><strong>Aritmetik Ortalama:</strong> @Model.Mean</li>
        <li><strong>Medyan:</strong> @Model.Median</li>
        <li><strong>Mod:</strong> @Model.Mode</li>
        <li><strong>Varyans:</strong> @Model.Variance</li>
        <li><strong>Standart Sapma:</strong> @Model.StdDeviation</li>
    </ul>
}

Uygulamayı çalıştırıp sonucu görelim.


İlgili Makaleler
Bir İç Açısı Verilen Düzgün Çokgenin Kenar Sayısını Bulan Uygulamayı Core Mvc Platformunda Yapınız
Girilen Bir Tarihi Görüntüleyen Programı Core Mvc Platformunda Area ve Route Tanımlayarak Tasarlama
Girilen Bir Saati Görüntüleyen Programı Core Mvc Platformunda Area ve Route Tanımlayarak Tasarlama
Girilen Bir Mevsimi Görüntüleyen Uygulamayı Areas ve Route Kullanarak Core Mvc Platformunda Yapma
Girilen Bir Yılı Görüntüleyen Uygulamayı Areas ve Route Kullanarak Core Mvc Platformunda Yapma
Girilen Bir Dağ Adını Görüntüleyen Programı Core Mvc Platformunda Area ve Route Tanımlayarak Tasarlama
Girilen Bir Kıta Adını Görüntüleyen Programı Core Mvc Platformunda Area ve Route Tanımlayarak Tasarlama
Girilen Bir Peygamber Adını Görüntüleyen Programı Core Mvc Platformunda Area ve Route Tanımlayarak Tasarlama
İki Boylam Arasındaki Şehirlere Ait Saat Farkını Bulan Core Mvc Uygulaması
Girilen Grad Değerinin Kaç Derece Olduğunu Bulan Uygulamayı Core Mvc Platformunda Yapınız
Rastgele Seçilen N Adet Sayının Varyansını ve Standart Sapmasını Bulan Core Mvc Uygulaması
İki Açısı Verilen Bir Üçgende Üçüncü Açıyı Bulan Core MVC Uygulaması
Dikdörtgenler Prizmasının Hacmini Bulan Uygulamayı Core Mvc Platformunda Yapınız
Atom Numarası ve Nötron Sayısı Verilen Bir Atomun Kütle Numarasını Bulan Core Mvc Uygulaması
Girilen Bir Hicri Ay Adını Görüntüleyen Programı Core Mvc Platformunda Area ve Route Tanımlayarak Tasarlama

Yorum Ekle
   
Kötü İyi