Sayfalar

If Yapısı - 1


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 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.