SEO (Arama Motoru Optimizasyonu) Mikro İnteraktif ÜCRETSİZ - Google Play'den İndirin

JavaScript ile Üçgen Alan Hesaplaması

JavaScript ile üç kenarı verilen üçgenin alan hesabının nasıl yapılacağını işleyeceğiz.

Okuduğum bölüm itibariyle o bölüme ait bir şeyleri çalıştığım sektörde halen canlı tutmaya çalışıyorum. Bugünkü konumuz ise JavaScript ile üç kenarı verilen ücgenin çizilip çizilemeyeceğini ve de çizilirse alanı ne kadar olacağını hesaplayan bir küçük uygulama sunacağız. Direkt olarak konuya geçelim.
Öncelikle üç kenarı verilen bir üçgenin çizilebilir olmasını kontrol etmemiz gerekmektedir.
Mesela herhangi iki kenarın uzunluk toplamı diğer kenardan büyük olmalı, aynı şekilde herhangi iki kenarın uzunluk farkı da diğer kenardan küçük olmalıdır.
Örnek olarak kenar uzunlukları a=5, b=12, c=1 diye verilen bir üçgen çizilemez. Çünkü b-a < c olmalıdır. Fakat 12-5 > 1 olduğu için üçgen çizimi gerçekleşmez. Yani şekil bir üçgen değildir.
Küçük bir sayısal örnek sonrası bunu formülize edelim. İki koşul olarak aşağıdaki gibi denetimimiz olsun.
Koşul 1: (a + b > c), (a + c > b), (b + c > a)
Koşul 2: (|a - b| < c), (|a - c| < b), (|b - c| < a)
şeklinde iki koşulumuz mevcuttur. Şimdi ise bunları koda dökelim.
JavaScript Betikleri
var desen_sayi = /^[0-9]+$/;
function fnHesapla()
{
    var strA = document.getElementsByName("a")[0].value;
    var strB = document.getElementsByName("b")[0].value;
    var strC = document.getElementsByName("c")[0].value;
    if (!desen_sayi.test(strA) || !desen_sayi.test(strB) || !desen_sayi.test(strC))
        alert("Lütfen üçgenin kenarlarını tamsayı olarak giriniz!");
    else
    {
        var intA = parseInt(strA);
        var intB = parseInt(strB);
        var intC = parseInt(strC);
        if ((intA + intB > intC) && (intB + intC > intA) && (intA + intC > intB) && (Math.abs(intA - intB) < intC) && (Math.abs(intB - intC) < intA) && (Math.abs(intA - intC) < intB))
        {
            var u = (intA + intB + intC) / 2;
            var sonuc = Math.sqrt(u * (u - intA) * (u - intB) * (u - intC))
            alert("Üçgenin Alanı: " + sonuc);
        }
        else
        {
            alert("Bu üçgen çizilemez");
        } 
    }
}

Css Betikleri
*{margin:0;padding:0;}
body{font-family:'Arial', sans-serif;font-size:12px;}
.kapsul{width:300px;min-height:1px;border:1px solid #ddd;margin:10px auto;background:#f4f4f4;padding:5px;}
.satir{margin:5px;}
input,button{border:1px solid #eee;padding:3px;}
Html Betikleri
<div class="kapsul">
 <div class="satir">
  Kenar 1: <input type="text" name="a" />
 </div>
 <div class="satir">
  Kenar 2: <input type="text" name="b" />
 </div>
 <div class="satir">
  Kenar 3: <input type="text" name="c" />
 </div>
 <div class="satir">
  <button onclick="return fnHesapla();">Hesapla</button>
 </div>
</div>
Örnek
Kenar 1:
Kenar 2:
Kenar 3:

Yorumlar

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

En Yeni Çizgi Filmler, Masallar ve Etkinlikler

REKLAM

SEO-Arama Motoru Optimizasyonu Uygulaması

REKLAM

Hayvan Sesleri Uygulaması

REKLAM

Çocuk Etkinlikleri Uygulaması

EN

  • Popüler
  • Yeni
  • Son Yorum