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.