c# Web

2024 TYT Matematik Birinci Sorunun Çözümünü c# Diliyle Web Sayfasında Kodlama

2024 TYT matematik sorularının çözümünü programlama mantığıyla çözmeye başlayalım. Böylece hem matematik hem de programlama bilgimiz artacaktır. Sorunun çözümünü bilgisayara anlatmak için çözüme ait tüm aşamaları bilmemiz gerekir. Lafı uzatmadan  soruyu verelim.

Bu sorunun çözümünde, verilen kesirlerin paydalarını eşitleyerek toplamlarının 1 olup olmadığını kontrol edebiliriz. Öncelikle, bu kesirlerin paydalarını en küçük ortak kat (EKOK) kullanarak eşitleyelim.

Verilen kesirler:

1/3, 1/6, 6/8, 8/12, 9/36

Bu kesirlerin paydalarının en küçük ortak katını (EKOK) bulalım. Paydalar:

3, 6, 8, 12, 36

Bu sayıların en küçük ortak katını (EKOK) bulmak için asal çarpanlarını kullanabiliriz:

3 : 3

6 : 2.3

8 : 23

12 : 22.3

36 : 22.32

Asal çarpanların en büyük kuvvetleri:

2'nin en büyük kuvveti: 23 = 8

3'ün en büyük kuvveti: 32 = 9

Bu kuvvetleri çarparak EKOK'u bulalım:

𝐸𝐾𝑂𝐾 23.32 = 8.9 = 72

Şimdi kesirli sayıları tekrar yazalım.

1/3 = 24/72

1/6 = 12/72

6/8 = 54/72

8/12 = 48/72

9/36 = 18/72

Eşleştirmeler yapıldığında 1/6 rasyonel sayısı yanı A şıkkı doğru cevap olacaktır.

Çözümü yapalım.

Web sayfasının tasarımını yapalım.

<!DOCTYPE html>

<html lang="tr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Rasyonel Sayılar Problemi</title>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/
4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <form id="form1" runat="server">
        <div class="container mt-5">
            <h2 class="text-center">Rasyonel Sayılar Problemi</h2>
            <div class="row">
                <div class="col-md-12">
                    <p>Verilen kesirler:</p>
                    <ul>
                        <li>1/3</li>
                        <li>1/6</li>
                        <li>6/8</li>
                        <li>8/12</li>
                        <li>9/36</li>
                    </ul>
                    <asp:Button ID="calculate" runat="server" 
Text="Hesapla" CssClass="btn btn-primary" OnClick="Calculate_Click" />
                    <div id="result" class="mt-4">
                        <asp:Literal ID="ResultLiteral" 
runat="server"></asp:Literal>
                    </div>
                </div>
            </div>
        </div>
    </form>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/
3.5.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/
4.5.2/js/bootstrap.min.js"></script>
</body>
</html>

Şimdi de kodları yazalım.

protected void Calculate_Click(object sender, EventArgs e)
{
    // Kesirler ve paydaları
    List<Fraction> fractions = new List<Fraction>
{
    new Fraction { Numerator = 1, Denominator = 3 },
    new Fraction { Numerator = 1, Denominator = 6 },
    new Fraction { Numerator = 6, Denominator = 8 },
    new Fraction { Numerator = 8, Denominator = 12 },
    new Fraction { Numerator = 9, Denominator = 36 }
};

    int ekok = Lcm(fractions.Select(f => f.Denominator).ToArray());

    // Kesirleri aynı paydaya çevirme
    List<Fraction> convertedFractions = fractions.Select(f =>
        new Fraction
        {
            Numerator = f.Numerator * (ekok / f.Denominator),
            Denominator = ekok
        }).ToList();

    Fraction targetFraction = new Fraction { Numerator = 12, 
Denominator = 72 };

    var sums = convertedFractions.Select(f => new
    {
        SumNumerator = targetFraction.Numerator + f.Numerator,
        SumDenominator = ekok,
        OriginalFraction = $"{f.Numerator / (ekok / f.Denominator)}/
{f.Denominator}"
    }).ToList();

    string resultHtml = $"<h4>Paydaların 
En Küçük Ortak Katı (EKOK): {ekok}</h4>";
    resultHtml += "<h4>Kesirlerin Aynı Paydaya Çevrilmiş Hali:</h4><ul>";
    foreach (var f in convertedFractions)
    {
        resultHtml += $"<li>{f.Numerator}/{f.Denominator}</li>";
    }
    resultHtml += "</ul>";

    resultHtml += "<h4>12/72 ile diğer kesirlerin toplamları:</h4><ul>";
    foreach (var s in sums)
    {
        resultHtml += $"<li>12/72 + {s.OriginalFraction} = 
{s.SumNumerator}/{s.SumDenominator} = 
({(double)s.SumNumerator / s.SumDenominator:F2})</li>";
    }
    resultHtml += "</ul>";

    resultHtml += "<h4>Sonuç: 12/72 (yani 1/6) ile diğer 
kesirlerin toplamı 1 olmamaktadır.</h4>";

    ResultLiteral.Text = resultHtml;
}

// EKOK hesaplama
private int Lcm(int[] numbers)
{
    return numbers.Aggregate(Lcm);
}

private int Lcm(int a, int b)
{
    return (a * b) / Gcd(a, b);
}

// EBOB hesaplama
private int Gcd(int a, int b)
{
    return b == 0 ? a : Gcd(b, a % b);
}

public class Fraction
{
    public int Numerator { get; set; }
    public int Denominator { get; set; }
}

İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama1
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Seri Port Yardımıyla Arduino Devresine Bağlanıp Ledleri Asp.Net Web Uygulamasından Yakıp Söndürme
Sitenin Alexa Dünya Sıralamasını Kodlarla Öğrenme
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
Asp.Net Uygulamasında Manual Olarak JSON Oluşturma
Web Uygulamalarında SqLite Kullanımı
Asp.Net Uygulamalarında DataList (Veri Listeleme) Kontrolü
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
RadioButton ile Cinsiyet Bilgisini Alan Asp.Net c# Uygulaması
2022 TYT Matematik Onbirinci Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Asp.Net Uygulamalarında RequiredFieldValidator İşlemi
Visual Studio 2019 Programında c# İle Hazırlanan Web Projesini Local Sunucuda Yayınlama
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama4

Yorum Ekle
   
Kötü İyi