Ö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.
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.
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>