Merhaba arkadaşlar. Bu yazımda Kare, Dikdörtgen, Daire ve Üçgen’in alanlarını hesaplayan fonksiyonları lisp dili ile yazacağız. Kareyi ele alarak başlayalım.
Kare Alanı Hesaplama
(define (karealan x)(if (< x 0) "Negatif sayı uzunluk olamaz " (* x x))) (karealan 5)
Gelen uzunluğun 0’dan büyük olması gerektiği için if şartımıza (< x 0) ifadesini ekledim.
Dikdörtgen Alanı Hesaplama
(define (dikdortgenalan x y) (if (< x 0) "Negatif uzunluk olamaz" (if(< y 0) "Negatif Uzunluk olamaz" (* x y)))) (dikdortgenalan 12 8)
Burada da iki tane değerimiz olduğu için her ikisi için de if yazıp negatif değer olup olmadığının kontrolünü sağladım.
Daire Alanı Hesaplama
(define (dairealan r)(if (< r 0) "Yarıçap negatif olamaz" (* 3.14 r r))) (dairealan 3)
Burada fonksiyon içerisine pi değerini 3.14 olarak ekledim. İsterseniz pi değerini kullanıcı tarafından alan bir fonksiyon da yazabiliriz.
(define (dairealan2 pi r)(if (< r 0) "Yarıçap negatif olamaz" (* pi r r))) (dairealan2 3 4)
Burada ise pi değerimizi 3 olacak şekilde biz yolladık.
Dik Üçgenin Alanı Hesaplama
(define (dikucgenalani alt dik)(/ (* alt dik) 2)) (dikucgenalani 4 6)
Bu kodda uzunlukların negatif olma durumunu yazmadım. Öncekiler ile aynı kod bakarak yazabilirsiniz. Tüm kodların çıktısını da hemen aşağı bırakıyorum.