PHP 2. Hafta. PHP de Kod Akışı. Algoritmik Düşünebilmek.

Benzer belgeler
İnternet Programcılığı Dersi 2.Dönem Ders Notu

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

YZM 2105 Nesneye Yönelik Programlama

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Internet Programming II

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Internet Programming II

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Algoritmalar ve Programlama. Algoritma

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Java da Program Denetimi ve Operatörler

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler


Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Algoritma ve Akış Şemaları

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

HSancak Nesne Tabanlı Programlama I Ders Notları

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

ALGORİTMA VE PROGRAMLAMA II

1. DEĞİŞKENLER. Doğru Tanimlama Örnekleri $sayi_1 = 453; $isim = Hasan ; $boy = 1.78; 3

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir:

T.C. MİLLÎ EĞİTİM BAKANLIĞI BİLŞİM TEKNOLOJİLERİ İNTERNET PROGRAMCILIĞI 2 482BK0095

1 PROGRAMLAMAYA GİRİŞ

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK İNTERNET PROGRAMCILIĞI 2

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

JAVASCRIPT JAVASCRIPT DİLİ

MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ)

Algoritma ve Programlama: Karar Yapıları ve Döngüler

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Akış Kontrol Mekanizmaları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BÖLÜM 3 OPERAT A ÖRLER

BÖLÜM 11: YAPISAL VERİ TİPLERİ

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

ALGORİTMA VE PROGRAMLAMA I

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

HSancak Nesne Tabanlı Programlama I Ders Notları

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Pointers (İşaretçiler)

ALP OĞUZ ANADOLU LİSESİ EĞİTİM ÖĞRETİM YILI BİLGİSAYAR BİLİMİ DERSİ 2.DÖNEM 2.SINAV ÖNCESİ ÇALIŞMA SORULARI VE YANITLARI

İNTERNET PROGRAMCILIĞI - II

/*int sayi1, sayi2,toplam=0;

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

BİLG Dr. Mustafa T. Babagil 1

BİLGİSAYAR PROGRAMLAMA DERSİ

C++ Dilinde Bazı Temel Algoritmalar

ALGORİTMA VE PROGRAMLAMA I

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

ALGORİTMA VE PROGRAMLAMA I

Bölüm 7. İfadeler ve atamalar ISBN

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Operatörler. İnternet Programcılığı 2. Operatörler

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter.

BİLG Dr. Mustafa T. Babagil 1

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Dr. Fatih AY Tel: fatihay@fatihay.net

Karşılaştırma İşlemleri ve Koşullu İfadeler

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1


Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı. A Grubu

Internet Programming II

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

Nesne Yönelimli Programlama

Transkript:

PHP 2. Hafta PHP de Kod Akışı ve Algoritmik Düşünebilmek

Bu derste görülecekler Algoritma nedir? Neden algoritmik düşünmek zorundayız? PHP de temel yapılar Sabitler, değişkenler if elseif else yapısı switch yapısı while ve do while yapısı for döngüsü Operatörler PHP de tip kontrolleri nasıl yapılmaktadır?

Algoritma nedir? Belli bir durumdan başlayarak sonlu sayıda adımda belli bir sonucu elde etmenin yöntemini tarif eden iyi tanımlanmış kurallar kümesine algoritma denir.

Yani? Problemimizi çözmek için adım adım uygulanması gereken işlemler dizisidir. Bu işlemler sonludur ve daha önceden belirlenmiştir.

Örnek: Lambayı yakma algoritması

Örnek: N! Hesaplama Algoritması

Neden algoritmik düşünmek zorundayız? Normal bir hayatta sabah uyanır okula gider dersi dinlersiniz. Bu kadar basittir. Bir bilgisayar ise böyle düşünemez. Ona her şeyi adım adım anlatmak zorundasınız. Bir bilgisayarın sabah uyanıp okula gitmesi için

Bilgisayarın okula gidiş hikayesi Saati kontrol et. Eğer saat 09.00 ise uyan. Değilse, bir dakika bu adımı tekrarla. Yatakta doğrul. Sol tarafa bak. Eğer kalkacak yer varsa ayağa kalk, yoksa sağ tarafa bak, kalkacak yer varsa ayağa kalk. İkisi de yoksa hata ver. Tuvalete gitmeye hazırlan. Bunun için yatakla tuvalet arasındaki en kısa yolu hesapla. Hesapladığın yoldan tuvalete git. Tuvalet aydınlıksa içeri gir, değilse ışığı aç. Önce soğuk suyu, saniyede yarım litre açacak şekilde aç, daha sonra toplam su sıcaklığı 22 derece olana kadar sıcak su vanasını aç. Avucuna su doldur, yüzüne hızlıca götür ve yüzünü yıka.... (bilgisayar okula gider)

Bilgisayarın okula gidiş hikayesi (Devam) Ders geçen hafta sıkıcı mıydı? Sıkıcıysa bu hafta da sıkıcı olabilir. İstatistikleri hesapla. Eğer sıkıcı geçeceği tahmin ediliyorsa, arkalarda bir yere otur. Değilse önlerde bir yere otur. Oturulacak bölgenin yanında samimi arkadaş var mı? Varsa yanına git. Yanında yer var mı? Yoksa başka samimi arkadaş aramaya başla. Varsa otur. Samimi arkadaş yoksa iki yanı boş bir koltuk seç. Otur. Hoca geldi mi kontrol et. Eğer gelmediyse geyik muhabbeti yap. Sonra bu adımı tekrar işle. Hoca geldiyse, kafayı sıraya koy ve uyumaya başla.

Düşündüklerimizi PHP de ifade edebilmek de, en az algoritmik düşünebilmek kadar önemlidir. Bunu yapabilmek için programlama dilinin bize hangi olanakları sunduğunu iyi bilmek gerekir.

Sabitler Sabitler: Değeri sadece bir defa atanan ve atanan değer bir daha değiştirilemeyen yapılardır. define ( SABITADI, DEGERI ); şeklinde tanımlanır. Sabit adları rakam ile başlayamaz. Ayrıntılı isimlendirme kuralları ile ilgili kaynak Okunması Gerekenler kısmında bulunabilir.

Sabitler (devam) Örnek: define ( PI,3.14); define ( ANTALYA,07); defined ( SABİTADI ); ile sabitin daha önce tanımlanıp tanımlanmadığı kontrol edilebilir.

Değişkenler Program akışı boyunca içerisinde veri tutabileceğimiz, bu verileri okuyabileceğimiz ve değiştirebileceğimiz parçacıklardır. PHP de değişkenlerin başında $ vardır. Değişkenler harf ya da _ ile başlar, rakam ile de devam edebilir. Daha ayrıntılı değişken isimlendirme kuralları için Okunması Gerekenler kısmındaki belgelere bakılabilir.

Değişkenler (devam) $birsayi = 12; $biryazi = hörölöy ; $baskabiryazi = 12 ; Başka programlama dilleri bilenlerin fark ettiği üzere, PHP de değişken türü tanımlamak söz konusu değildir. Değişkenin içine ne atarsanız, değişkenin tipi ve harcadığı bellek miktarı ona göre dinamik olarak değişecektir. Bu önemli bir kolaylık getirse de, hata yapmayı ve olan hataları tespit etmeyi zorlaştıracağı da unutulmamalıdır.

Değişkenler (devam) $birsayi = 12; $biryazi = hörölöy ; $baskabiryazi = 12 ; Başka programlama dilleri bilenlerin fark ettiği üzere, PHP de değişken türü tanımlamak söz konusu değildir. Değişkenin içine ne atarsanız, değişkenin tipi ve harcadığı bellek miktarı ona göre dinamik olarak değişecektir. Bu önemli bir kolaylık getirse de, hata yapmayı ve olan hataları tespit etmeyi zorlaştıracağı da unutulmamalıdır. Veri tiplerinin nasıl kontrol edildiğine sonraki slaytlarda değinilecektir.

if elseif else yapısı if (ŞART) { Şartı sağlıyorsa yapılacaklar } elseif (ŞART) { Başka bir şartı sağlıyorsa yapılacaklar } else { Hiçbir şartı sağlamıyorsa yapılacaklar } şeklinde çalışan bir karar mekanizmasıdır.

if elseif else yapısı (devam) Örnek $sayi = 3; if ($sayi < 3) { echo sayi 3 ten kucuk ; } elseif ($sayi > 3) { echo sayi 3 ten buyuk ; } else { echo sayi 3 ; }

switch switch ($gun) { case 1 : echo Pazartesi ; break; case 2 :. case 7 :. default: echo Böyle bir gün yok. ; }

while while (ŞART) { şart sağlandığı sürece tekrarlanacak işlemler }

do while do { şart sağlandığı sürece tekrarlanacak işlemler } while (ŞART);

for Bir olayın birden fazla tekrarlanacağı durumlarda kullanılır. for ($degisken = İLK DEĞER; ŞART ; ARTIŞ MİKTARI) { } şart sağlandığı sürece yapılacak işlemler

Sık Kullanılan Operatörler Operatör Anlamı == eşitse!= eşit değilse === değer ve tip olarak eşitse > büyükse < küçükse <= küçük eşitse >= büyük eşitse! değil (NOT). metin birleştirme + toplama; ++ Bir arttırma -- Bir azaltma += Var olan değere toplamak -= Var olan değerden çıkarmak.= Var olan metne yenisini eklemek

PHP ve Veri Tipleri PHP de veri tipleri dinamiktir. Siz değişkenin içine ne koyarsanız verinin tipi de o olur. Örneğin: $degisken = 1; /* integer */ $degisken = 1.0; /* float */ $degisken = (float)1 /* float */ $degisken = 1 ; /* string */

PHP ve Veri Tipleri (devam) Bir değişkenin hangi tipte olduğu gettype($degisken) komutu ile bulunabilir ancak bu kullanım önerilmez. Bir değişkenin hangi tipte olduğu (ve bulunup bulunmadığı) is fonksiyonları ile sorgulanabilir.

PHP ve Veri Tipleri (devam) Örnekler $degisken1 = 1; if (is_int($degisken1)) { echo degisken1 integer ; }

isset Bir değişkenin olup olmadığını ve varsa içinde değer olup olmadığını denetleyen fonksiyondur. Örnek: $degisken = NULL; if (isset($degisken)) { echo degiskenin değeri var. ; }

NULL da ne? NULL: Hiçbir şey. Boşluk. Değersiz. Değeri atanmamış. Kara delik.

Veri Tipi Dönüşümleri PHP de veri tipleri birbirine casting ile dönüştürülebilir. Örneğin iki sayısal değer arasında dönüşüm aşağıdaki gibi yapılabilir. $deger = 12.5; $yenideger = (int)$deger; Yeni değer integer tipinde olacaktır. 12.5 tam sayıya dönüştürülürken bir veri kaybı meydana gelir.

Sormak istedikleriniz? Neden sabitlere ihtiyacımız var? Neden gettype önerilmez? Bir string i integer a cast edersek ne olur?

Ek 1: Akış Şemalarıyla Neler Yapılabilir? Sorundan kaçma algoritması

Okunması Gerekenler PHP de sabitler: http://tr.php.net/manual/en/language.constants.php PHP de değişkenler: http://tr.php.net/manual/en/language.variables.basics.php PHP de akış kontrolörleri: http://tr.php.net/manual/en/language.control-structures.php http://tr.php.net/manual/en/control-structures.for.php http://tr.php.net/manual/en/control-structures.if.php PHP deki operatörler: http://tr.php.net/manual/en/language.operators.php PHP de veri tipleri ve dönüşümler: http://www.php.net/manual/en/language.types.php http://php.net/manual/en/language.types.type-juggling.php