Giris :
Bir onceki makalemizde,formlar yardimiyla verilerin kullanicidan
alinip server uzerindeki bir PHP dosyasi yardimiyla nasil
islenecegini gormustuk."PHP ile HTML taglarinin kullanimi"
isimli bu makalemizin sonunda yazdigimiz kucuk "Kredi Istek
Formu" uygulamasinda kullanicin girdigi "Yas" alani icin bir
kontrol gerceklestirmemistik.Oysaki gercek hayatta biliyoruz
ki yasi "0-5" arasindaki hic kimse boyle bir bilgisyar formunu
dolduramaz veya kimsenin yasi "189" gibi bir deger alamaz.
Bir programlama dili icerisinde "Karar Verme Yapilari" onemli
yer tutar.Bu cogu zaman verdigimiz sartlar icerisinden bilgisayarin
uygun olani o andaki verilere gore secmesini saglamaktir.
Bir Insanin Alisveris Surecini Incelemek ve Programlama
Mantigini Anlamak
Simdi sizlere her gun yaptigimiz bir alis-veris sureci icin
beynimizin nasil calistigini gostermek istiyorum.Bu sekilde
programlama mantigini ve beyninizin nasil bilgisayar gibi
calistigini ve sandiginizdan ne kadar fazla seye sahip oldugunuzu
goreceksiniz.Programcilik nedir ki? Zaten her gun bunu farketmesek
te yapiyoruz :)
1.Buzdolabini kontrol et.Sut,peynir,Yumurta bitmis mi?Gerekli
ise listeye ekle.
2.Ekmeklige bak Ekmek lazim mi?Lazimsa listeye ekle
3.Eger evcil hayvanin varsa ihtiyaclari 6'inci isleme git.
4.Supermarket'e git.
5.Listedekileri cebindeki 10.000.000 TL'ye gore al.
6.Evcil hayvanin yiyecegini kontrol et.Lazimsa listeye ekle
7.Hayvan Mutlu.
8.Supermarkete git.Listedekileri al.
9.Eve Don TV Izle.
10.Keyfine Bak.
IF Yapilari
Bir onceki makalede "if" yapisini daha size bu makaleyi yazmadan
kullanmistik.Kusura bakmayin :)).Saka bir yana bu onemli yapi
ile olabildigince erkenden hasir nesir olmanizi saglamak icin
bunu yaptik."IF" yapilari belkide programcilarin en cok kullandigi
yapilardir.Neredeyse her karar verme yapisinda kullanilirlar.Kullanim
sekli cok basit olarak soyledir.
IF (eger sart saglaniyorsa) satirdaki kodu uygula
if karar verme yapisinda eger ilk verilen satirdaki kod grubu
sartlari sagliyorsa satirin geri kalanindaki kod grubu uygulanir.Eger
sartlari saglamiyorsa goz ardi edilerek bir alttaki satir
okunur.
Bir mantiksal ornek veririsek,
if (hava yagmurlu ise) semsiyeni al
Disari cik
Ilk satirda if komutundan sonra sartimizi belirttik.Bilgisyar
havayi kontrol etti eger yagmurlu ise bize semsiyeyi aldirdi.Eger
hava yagmurlu degilse direkt olarak bizi disari cikartti.Mantik
cok basit.
Eger verecegimiz sartlar bir tek komutunda belirtilemiyorsa
soyle bir yapi kullaniyoruz.
If (eger sart saglaniyorsa)
{
Bu parantezlerin icinde verilen tum kod grubunu uygula
}
Mantiksal ornegimize donersek bu yazim sekli icin ornegimiz
su sekilde,
If (hava yagmurlu ise)
{
Semsiyeyi Al
Yagmurlugu Al
}
Disari cik
Bir kez daha belirtelim "Disari cik" terimi her sart altinda
uygulanacaktir.Ama onemli olan nokta biz disariya semsiye
ve yagmurlugu alip mi cikacagiz yoksa almadan mi? Iste buna
bilgisyar hava durumunu kontrol ederek karar veriyor.Disariya
eger hava yagmurlu ise bizi elimizde semsiye ve yagmurlukla
cikariyor.
Parantezlerin icindeki ifadenin buyuklugu veya ne kadar fazla
kod icerdigi hic bir zaman onemli degildir.
Boolean Degiskenler
Degisken tiplerini bir onceki konmuzda siniflandirmistik.Ayni
string degisken tipi gibi boolean degisken tipi de mevcuttur.Boolean
degiskenler yanlizca iki deger alabilir.Dogru ve Yanlis
Eger boolean olarak tanimladigimiz degiskenimiz dogru degerini
donduruyorsa alacagi deger numerik olara "1" dir.Eger boolean
degiskenimiz "yanlis" degerini donduruyorsa alacagi deger
"0" dir.
Ornek vermek istersek,
$Degisken = true;
Burada yazilan "true" ifadesrinin ingilizceden turkceye tam
cevirisi "dogru" dur.
Boyle bir satir kod icin echo komutunu kullanarak $Degisken
degiskeninin tuttugu degeri gormek istersek,
echo $Degiken;
ekranda yanlizca "1" degeri gorunur.
Boolean Islemler
">" ve "<" Operatorleri
Temel matematik bilgisidr.">" ifadesi buyuk , "<" ifadesi
kucuk anlamina gelir.Karar verme yapisi icerisinde kullanmak
istedigimizde matematikte kullandigimizdan cok farkli islevler
gormezler.
Ornek vermek istersek
if (8<9) echo "Sekiz rakami Dokuz rakamindan kucuktur";
if yapisi kullanilirken parantesin icinden,PHP bir sonuc cikarir.Bu
sanuca gore islemin gerisinemi devam edecek bir saonraki satiri
mi okuyacagina karar verir.Asla "olabilir" veya "belki" gibi
bir sonuc parantezin icinden cikmaz.Kisaca PHP ya "Dogru"
icin 1 yada "Yanlis" icin 0 olarak kesin kararini verir.
Bir ornek te degisken kullanarak yapalim,
if ($SansliNumara < 9) echo ("Sansli numaramiz 9 rakamindan
kucuk");
Simdi de iki degiskeni if icerisinde kullanarak devam edelim,
if ($SansliNumara < $LotoNumara)
{
echo ("Sansli numaramiz,Loto numasindan kucuk");
$SansliNumara = $SansliNumara +1;
}
Simdi de gercek bir ornek uzerinde uygulama yapalim.Ornegimizde
PHP aklinda bir sayiyi tutarak bizim onu tahmin etmemizi isteyecek.Bir
nevi tahmin oyunu.
1.Text editorunuzu acin ve asagidaki kodlari yazin.
<HTML>
<HEAD></HEAD>
<BODY>
<FORM METHOD=GET ACTION="tahminoyunu.php">
1-10 arasinda bir rakam tuttum.Bir tahmin yapmak istermisin?
<INPUT NAME="Tahmin" TYPE="Text">
<BR>
<BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
2.Bu dosyayi "tahminoyunu.html" olarak kayit edin.
3.Yeni bir text editoru acarak asagidaki kodlari yazin.
<HTML>
<HEAD></HEAD>
<BODY>
<?php
$Sayi = rand (1,10);
if ($Tahmin > $Sayi) {
echo "Tahmin ettiginiz sayi benim dusundugumden buyuk";
echo "<BR>Benim dusundugum sayi $Sayi kaybettiniz.";
exit;
}
if ($Tahmin < $Sayi) {
echo "Tahmin ettiginiz sayi benim dusundugumden kucuk";
echo "<BR>Benim dusundugum sayi $Sayi kaybettiniz.";
exit;
}
if ($Tahmin = $Sayi) {
echo "Tahmin ettiginiz sayi benim dusundugum sayi ile ayni
";
echo "<BR>Benim dusundugum sayi $Sayi Tebrikler.";
exit;
}
?>
</BODY>
</HTML>
4.Bu dosyayi "tahminoyunu.php" olarak kayit edin.
5."tahminoyunu.html" dosyaysini acip bir sayi girin.
6.Gonder tusuna bastiginizda sizi bir sonucun beklemesi lazim.Nasil
oyunu begendiniz mi?
Ornek Dosyalar
http://www.turk-php.com/ornekler/tahminoyunu.html
http://www.turk-php.com/ornekler/tahminoyunu.php
Ornek program nasil calisiyor ?
Aslinda bu oyunda biz kullaniciyi biraz kandirdik.Cunku kullanici
tahmin ettigi sayiyi yazip gonderene kadar PHP nin dusundugu
herhangi bir sayi yoktur.Kullanicinin tahmini ile PHP'nin
aklinda tuttugu sayi arasinda bir baglanti yoktur cunku "rand"
fonksiyonu ile gercek zamanli random bir sayi yaratiyoruz.Bu
nedenle program tamamen kullaniciya karsi saygili :)
"rand" fonksiyonu kullanimi cok basit bir fonksiyondur.Yanlizca
alt limit ve ust limiti vermeniz gereklidir.Bu aralik icerisinde
bir random sayi yaratmak icin kullanilir.Yarattigimiz bu sayiyi
bir degisken icerisinde saklamak icin programda
$Sayi = rand (1,10);
satirini kullandik.
|