26 Ekim 2010 tarihli PHP dersimde temel konular ile PHP’nin ayrıntılarına girmeye başladık. PHP operatörleri, if for ve benzer akışı etkileyici ifadeler, yazım kuralları ve buna benzer şeylerden bahsettik.
Daha sonra da algoritmik düşünebilme konusunda pratik yapmak ve PHP’ye alışmak için herkes bilgisayarının başına geçti. Böylece, bir program geliştirirken karşımıza ilk çıkacak problemleri hep beraber gördük ve hepsini teker teker çözdük.
Aşağıda, dersin ikinci yarısında herkesin uğraştığı faiz hesaplama programı için dersin sonunda yazdığım kodu paylaşıyorum.
Problem
Programın en başında $kredi_degeri
isimli bir değişkende, bir müşterinin bankadan ne kadar kredi almak istediği belirtilmektedir.
Programın ilerleyen aşamasında, müşterinin istediği kredinin büyüklüğüne göre banka bir faiz oranı hesaplayacaktır. Ekrana, faiz olarak ödenecek tutar ve istenen kredi miktarı yazdırılacaktır.
Bu program dışarıdan veri alma içermemektedir. (GET, POST ilerleyen haftalarda görülecek.)
Banka faizi şu kurallara göre hesaplar:
- Eğer istenen kredi 5.000 TL’den küçükse %0.3 faiz uygular.
- Eğer istenen kredi 5.000 – 10.000 TL arasındaysa %0.2 faiz uygular.
- Eğer istenen kredi 10.000 TL’den daha büyükse, %0.1 faiz uygular.
- Eğer istenen kredi 100.000 TL’den büyükse, banka kredi vermez ve ekrana kredi veremeyeceğini yazar.
Örnek Çözüm
[rawr]
<?php $kredi_degeri = 12; /* Bu kısım problemin bir parçasıdır ve değiştirilemez. */ if($kredi_degeri < 5000) { /* İlk şartımız */ $faiz = $kredi_degeri * 3 / 1000; } elseif($kredi_degeri < 10000) { /* Bu kısımda kredi değerinin 5000'den büyük olduğunu ayrıca kontrol etmemize gerek yok. Eğer bir üstteki if'e girmediyse, zaten kredi 5000'den büyük veya eşit demektir. */ $faiz = $kredi_degeri * 2 / 1000; } elseif($kredi_degeri < 100000) { /* Bu kısımda kredi değerinin 10000'den büyük olduğunu ayrıca kontrol etmemize gerek yok. Eğer bir üstteki if'lere girmediyse, zaten kredi 10000'den büyük veya eşit demektir. */ $faiz = $kredi_degeri / 1000; } else { /* Yukarıdaki hiçbir şart sağlanmadıysa, buraya geliyoruz. */ echo "kredi alamazsiniz."; } /* Faiz değişkeninin program içerisinde atanmış olması kredi alınabileceği anlamına gelmektedir. Görülebileceği üzere şartın "else" kısmında faiz değişkeni tanımlanmamaktadır. */ if(isset($faiz)) { /* Sadece $faiz diye bir değişken varsa, bu kısım çalışacaktır. */ echo "istenen kredi miktari = " . $kredi_degeri; echo "<br />"; echo "odenecek faiz: " . $faiz; } /* ?> ile kapatmak zorunda değilsiniz. Açık bırakabilirsiniz. :) */
[/rawr]
Çözüm, girilebilecek hatalı verilerin kontrolünü (şu aşamada) kapsamamaktadır. Kursiyerlere önerim, bu kodları incelemeleri ve daha sonra kendileri buradaki yöntem veya akıllarına gelebilecek herhangi farklı bir yöntemle aynı işi yapan bir programı kendilerinin yazmalarıdır.
Gelecek Hafta
Gelecek haftaki derste, yeni anlattıklarım doğrultusunda bu hafta yazmış olduğunuz kodları iyileştirecek, eğer yazmadıysanız buradaki kodu geliştireceksiniz.
Slaytlar
Eski yazılar arasından bulması zor olabilecek diye düşündüğümden, aşağıya slaytları koyuyorum:
Başka Örnekler
Geçen dönem derste verdiğim örneklere göz atmak için buraya tıklayabilirsiniz.
Bitirirken
Kendi bilgisayarınıza PHP, MYSQL ve Apache kurmak için kullanabileceğiniz WAMP paketinin nasıl kurulacağını adım adım anlatan bir yazıya buradan erişebilirsiniz.
İyi kodlamalar.
İyi tatiller.
PHP Hafta 2: Faiz Hesaplama bir yorum aldı.
bune yaa olmuyoo hesaplayamıyorum yardım edin lütfeeen
Harici monitör parlaklığı klavye ile nasıl değiştirilir?
‘de, da’ eki nasıl yazılır?
Ağaç Veri Yapısı [C++ Örnek]
Almanya’da nasıl ehliyet aldım?
Almanya’da nasıl ehliyet aldım?
Bir şirket neden uzaktan çalışmaya (remote working) izin verir?
-de -da eki ne zaman ayrı yazılır?
Almanya’ya gelmek için yapılan bürokratik işlemler