folder Tahribat.com Forumları
linefolder Html - CSS - XML - JavaScript - Ajax
linefolder Javascript İle Üçgen Alan Hesaplaması



Javascript İle Üçgen Alan Hesaplaması

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    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>

     

    Ekran Görüntüsü

    Kaynak: http://www.ontedi.com/javascript/javascript-ile-ucgen-alan-hesaplamasi

    Kahrolsun yamuklar, yaşasın üçgenler. Kolay gele :)

    ontedi tarafından 03/Nis/18 11:02 tarihinde düzenlenmiştir

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ran
    ran's avatar
    Kayıt Tarihi: 23/Mart/2007
    Erkek

    Çok iyi


    Bilmem kaçıncı galaksiden gelen gama ışınlarına maruz kalmak için Pipimizi açıkta tutup UFO konmasını bekledik
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    Selam,

    Öncelikle elinize sağlık. Güzel bir konu olmuş.

    Bir iki duruma rastladım ama çok önemli şeyler sayılmaz.

     

    INPUT: -10,1,1

    OUTPUT: Lütfen üçgenin kenarlarını tamsayı olarak giriniz!

    BUG: -10 bir tamsayıdır.

     

    INPUT:

    3000000000000000000000000000000000000000000000000000000000000000000000000000000,

    4000000000000000000000000000000000000000000000000000000000000000000000000000000

    5000000000000000000000000000000000000000000000000000000000000000000000000000000

    OUTPUT: Üçgenin Alanı: Infinity

    BUG: Belli bir değerin üzerinde girilmiş ise hata mesajı değiştirilebilir.

     

     

     

     


    https://www.youtube.com/watch?v=WC3-71NKwPw
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Ya arkadaş bırakın da uygulama sakince işlesin, hemen bir açık arıyorsunuz :)

    Pozitif tamsayı olarak değiştiririm. Ayrıca uzunluk kısıtlaması da koyarım.

     

    ontedi tarafından 03/Nis/18 12:02 tarihinde düzenlenmiştir

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    ontedi bunu yazdı

    Ya arkadaş bırakın da uygulama sakince işlesin, hemen bir açık arıyorsunuz :)

    Pozitif tamsayı olarak değiştiririm. Ayrıca uzunluk kısıtlaması da koyarım.

     

    Yanlış anladınız hocam zaten uygulamanız business olarak gayet güzel çalışıyor.


    https://www.youtube.com/watch?v=WC3-71NKwPw