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 toplamı diğer kenardan büyük olmalı, aynı şekilde herhangi iki kenar farkı da diğer kenardan küçük olmalıdır.
a, b, c diye verilen üç kenar için;
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

Henüz hiçbir yorum yazılmamış. İlk yorumu siz yapın.

Yorum Yaz

Avatar

REKLAM

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

REKLAM

Çizgi Filmler

EN

  • Popüler
  • Yeni
  • Son Yorum