ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Kod Akış Kontrol
Yrd.Doç.Dr. Celal Murat KANDEMİR
ESOGÜ – Eğitim Fakültesi - BÖTE
twitter.com/cmkandemir
Contents
1. Koşul cümleleri (Conditional statements)
2. Döngüler (Loops)
3. Fonksiyonlar ve Geri Dönüş Değerleri
4. Include ve require
5. Değişken kapsam alanı
KoÅŸul Ä°fadeleri
KoÅŸul Ä°fadeleri - if
if yapısı eğer belli bir koşul sağlanırsa kodun
çalıştırılmasını sağlar
Not: atamalar atanmış bir değer olarak geri döner
$a = 5; $b = 7;
if ($a > $b)
echo "A büyüktür B";
if ($a % 2) {
echo "A is odd";
$b = $a % 2;
echo "A%2 is :".$b;
}
if ($b = $a%2)
echo "A tek - A%2 is :".$b;
KoÅŸul Ä°fadeleri - if
if yapısı eğer belli bir koşul sağlanırsa kodun
çalıştırılmasını sağlar
Not: atamalar atanmış bir değer olarak geri döner
$a = 5; $b = 7;
if ($a > $b)
echo "A büyüktür B";
if ($a % 2) {
echo "A is odd";
$b = $a % 2;
echo "A%2 is :".$b;
}
if ($b = $a%2)
echo "A tek - A%2 is :".$b;
Boolean ifade
KoÅŸul Ä°fadeleri - if
if yapısı eğer belli bir koşul sağlanırsa kodun
çalıştırılmasını sağlar
Not: atamalar atanmış bir değer olarak geri döner
$a = 5; $b = 7;
if ($a > $b)
echo "A büyüktür B";
if ($a % 2) {
echo "A is odd";
$b = $a % 2;
echo "A%2 is :".$b;
}
if ($b = $a%2)
echo "A tek - A%2 is :".$b;
EÄŸer koÅŸul doÄŸru ise
çalıştırılacak kod bloğu
Parantezleri unutmayın!
If - else
if-else yapı if yapının genişletilmiş şeklidir
ve şartla sağlanırsa bir kodu sağlanmaz ise
diğerini çalıştırmanıza imkan sağlar.
$a = 5; $b = 7;
if ($a > $b)
echo "A büyüktür B";
else
echo "B büyük eşit A";
if - elseif
if-else yapının genişletilmiş biçimidir
else gövdeye yeni koşullar eklemek için
kullanılır
Çoklu elseif ifadeleriniz olabilir.
if ($a > $b)
echo "A büyüktür B";
elseif ($a == $b)
echo "A eÅŸittir B";
else
echo "B büyüktür A";
switch
switch yapı kontrol edilen değişken değerine
bağlı olarak farklı kod bölümlerinin
çalıştırılmasını sağlar.
Çok sayıda if kullanmakla aynıdır.
switch gövdesi "case" cümleleri içerir
Yorumlayıcı değişken değeri ile eşleşen kod
cümlesini bulur ve çalıştırır
switch ($a) {
case 0: echo "A 0’dır"; break;
case 1: echo "A 1’dir"; break;
}
switch (2)
else benzer ÅŸekilde default case iÅŸleminiz
olabilir
Eğer youmlayıcı herhangi bir case değerini
bulmazsa default seçeneği yürütür
default case zorunlu deÄŸildir
switch ($a) {
case 0: echo "A is 0"; break;
case 1: echo "A is 1"; break;
default:
echo "A is … something else";
break;
}
switch(3)
Yorumlayıcı bulduğu case durumu için gerekli
kod cümlelerini çalıştırdıktan sonra bir sonraki
case satırına gider switch bloğundan çıkmaz.
Yukarıdaki örnek "A 0’dır A 1’dir" ekran çıktısı
verir.
Çözüm gerekli olan yerlere break eklenmesidir
default case için de aynı durum söz
konusudur (eÄŸer son durum deÄŸilse!)
$a = 0;
switch ($a) {
case 0: echo "A 0’dır";
case 1: echo "A 1’dir";
}
switch(4)
switch davranışına bağlı olarak boş case
durumları da kullanılabilir
break konulmaz, böylelikle yorumlayıcı bir
sonraki satırdan devam edebilir.
Tek bir kod ile birden fazla deÄŸeri birleÅŸtirmek
amacıyla kullanılabilir.
$a = 0;
switch ($a) {
case 0: echo "A 0’dır"; break;
case 1:
case 2: echo "A 1 veya 2’dir"; break;
}
switch(5)
Herhangi bir skaler tip değişken kullanılabilir
(string, number, boolean, etc)
switch ($name) {
case "Dimitar": echo 1; break;
case "Svetlin":
case "Nakov" : echo 2; break;
case false : echo "Ä°simsiz"; break;
default : echo "?!"; break;
}
Üçlü Operatör (Ternary Operator)
if-else yapının kısa şeklidir
Koşula bağlı olarak sadece tek bir değer geri
döndürmek amacıyla kullanılabilir.
Söz dizimi:
Aşağıdaki şekilde kullanılamaz:
echo ($a<$b ? "a küçük" : "b küçük");
echo ($a>$b ? "a" : "b")." büyüktür";
$b = ($a % 2 ? 17 : 18);
<condition>?<value if true>:<value if false>
($a > 17 ? echo "a" : echo "b" );
KoÅŸul Ä°fadeleri
whileYapısı
PHP, C stili while döngüsünü destekler
Koşul sağlanana kadar gövdede bulunan kod parçası
çalıştırılır
Gövde bir veya fazla kod satırından oluşabilir
Eğer birden fazla kod satırı var ise eliptik parantez içine
alınmalıdır
Koşul ifadesi boolean değişken tipinde olmalıdır.
$a = 1;
while ($a < 100) {
$a ++;
echo $a;
}
ifade
gövde
do… whileYapı
do-while yapı while-do yapıya benzer
Koşul ifade çalıştırıldıktan sonra kontrol edilir!
Gövdede bulunan kod en az bir kez çalışır!
$a = 1;
do {
$a ++;
echo $a;
} while ($a < 100);
// this will produce 2 3 4 … 100
// the while cycle would output 2 3 4 … 99
ifade
gövde
for Döngüsü
PHP, C stili döngüyü destekler
for döngüsü başlatma, tekrarlanma ve
sonlanma koÅŸul ifadelerinden oluÅŸur
Hiçbiri zorunlu değil
Her ifade virgülle ayrılmış ifadelerden oluşur
for ($i = 0; $i < 10; $i++)
echo $i;
for ($i = 0, $j = 10; ; $i++, $j--)
if ($j > $i)
echo $i;
else break;
for Döngüsü
PHP, C stili döngüyü destekler
for döngüsü başlatma, tekrarlanma ve
sonlanma koÅŸul ifadelerinden oluÅŸur
Hiçbiri zorunlu değil
Her ifade virgülle ayrılmış ifadelerden oluşur
for ($i = 0; $i < 10; $i++)
echo $i;
for ($i = 0, $j = 10; ; $i++, $j--)
if ($j > $i)
echo $i;
else break;
başlangıç
for Döngüsü
PHP, C stili döngüyü destekler
for döngüsü başlatma, tekrarlanma ve
sonlanma koÅŸul ifadelerinden oluÅŸur
Hiçbiri zorunlu değil
Her ifade virgülle ayrılmış ifadelerden oluşur
for ($i = 0; $i < 10; $i++)
echo $i;
for ($i = 0, $j = 10; ; $i++, $j--)
if ($j > $i)
echo $i;
else break;
son koÅŸulu
for Döngüsü
PHP, C stili döngüyü destekler
for döngüsü başlatma, tekrarlanma ve
sonlanma koÅŸul ifadelerinden oluÅŸur
Hiçbiri zorunlu değil
Her ifade virgülle ayrılmış ifadelerden oluşur
for ($i = 0; $i < 10; $i++)
echo $i;
for ($i = 0, $j = 10; ; $i++, $j--)
if ($j > $i)
echo $i;
else break;
tekrarlanma
for Döngüsü
PHP, C stili döngüyü destekler
for döngüsü başlatma, tekrarlanma ve
sonlanma koÅŸul ifadelerinden oluÅŸur
Hiçbiri zorunlu değil
Her ifade virgülle ayrılmış ifadelerden oluşur
for ($i = 0; $i < 10; $i++)
echo $i;
for ($i = 0, $j = 10; ; $i++, $j--)
if ($j > $i)
echo $i;
else break;
gövde
foreach
Foreach diziler üzerinde tekrarlı işlemleri
gerçekleştirmek amacıyla kullanılır.
Dizideki her eleman için gövdede bulunan kod
çalıştırılır.
$value değişkenine dizide o an üzerinde
çalışılan eleman değeri atanacaktır.
$arr = array (1,1,2,3,5,8);
foreach ($arr as $value)
echo $value;
foreach ve Ä°liÅŸkisel Diziler
Foreach ikinci kullanım şekli
Dizideki değere karşılık gelen anahtara
eriÅŸilmesini saÄŸlar.
$arr = array ("one" => 1, "two" => 2);
foreach ($arr as $key => $value)
echo $key." => ".$value;
break ve continue
Döngüden break komutu ile çıkılabilir
Bir sonraki döngüye geçmek için ise
continue komutu kullanılır
$i = 0;
while (true) {
$i ++;
if ($i == 10) break; // döngüden çık
if ($i%2 == 0) continue; // sonraki tekrar
echo $i;
}
// ekran çıktısı 1 3 5 7 9
Fonksiyonlar
Fonksiyonlar
Fonksiyonlar, tekil bir isim altında bir araya
getirilmiş koda satırı kümeleridir.
function kelimesi ile bildirim yapılır
Parametre alabilir ve değer dönebilir
Kodun organize edilmesine ve tekrar
kullanılabilmesine olanak sağlar
Echo, print ve diğerleri dahili fonksiyonlardır
function sum ($a, $b) {
return $a + $b;
}
echo sum(5,7); // 12 ekran çıktısı üretir
Fonksiyonlar(2)
Fonksiyon ismi tekil (benzersiz) olmalı
Sınırsız sayıda argüman alabilir
Fonksiyon isminden sonra parantez için
tanımlanır
return ifadesi ile değer geri döndürebilir
Tek parametre kabul der, geri dönüş değeri
Fonksiyon Parametreleri
Fonksiyon parametreleri için ön tanımlı değerlere
sahip olabilir
Kullanılışını kolaylaştırır
Varsayılan değer ,sabit ifade olmalıdır
Fonkisyon bildiriminde varsayılan olarak ayarlanmış
argümanlar, sağ taraftadır!
function max ($a, $b, $strict = true) {
if (strict)
return ($a > $b);
else
return ($a >= $b);
}
echo max(3,3,false);
echo max(4,3,true);
echo max(3,3); // we can omit 3rd parameter
Fonksiyon Parametreleri(2)
Varsayılan olarak PHP argümanları
fonksiyonlara değer olarak geçirir.
Anlamı fonksiyondaki argüman değeri değişimi,
fonksiyon sonlandıktan sonra etkilemeyecektir.
Argümana & ön takısı eklenerek argümanların
referans ile geçirilmesi sağlanır
function double (&$a) {
$a *= 2;
}
$b = 7;
double ($b);
echo $b; // 14 geri döner;
Fonksiyon Parametreleri (3)
PHP supports variable-length function
parameters
Fonksiyona herhangi sayıda argüman
geçirilebilir.
Fonksiyon parametreleri func_num_args()
ve func_get_arg() ile okunabilir
function sum(){
$res = 0;
for ($i=0, $n = func_num_args(); $i < $n; $i++)
$res += func_get_arg ($i);
return $res;
}
echo sum (4,5,6);
Fonksiyon Geri Dönüş Değeri
Fonksiyonlar return kelimesiyle deÄŸer geri
döndürebilirler.
Tek argüman alırlar-geri dönecek değer
Fonkisyondan çıkar
Çok değer geri dönülecekse diziler kullanılmalıdır
Fonksiyon değer geri döndürmek zorunda değildir
function foo ($a) {
return true;
// aşağıdaki kod çalıştırılmaz
echo $a + 1;
}
Fonksiyon Geri Dönüş Değeri(2)
Çok değer geri dönmek için sabit uzunluklu
diziler ve list kullanılır
list ifadesi değişkenlere çoklu dizi elemanları
atar
array gibi bir fonksiyon deÄŸildir
Sadece sayısal diziler için çalışır ve indisi sıfıdan
baÅŸlar
function small_numbers () {
return array (0,1,2);
}
list ($a, $b, $c) = small_numbers();
Değişken Fonksiyonları
PHP değişken fonksiyonları destekler
EÄŸer deÄŸiÅŸken ismine parantez eklenirse,
derleyici fonksiyonu bulmaya çalışır.
echo, print vb. bazı dahili fonksiyonlarda
çalışmaz
function foo () {
echo "Bu bir foo";
}
$a = 'foo';
$a(); // foo fonksiyonu çağrılır
Fonksiyonlar İle İlgili Bazı Notlar
Fonksiyonun varlığı kontrol edilebilir
function_exists($name)
Cross-platform scriptler yaratmak için
kullanışlıdır
İç içe fonksiyonlar tanımlanabilir
Dış fonksiyon çağrılmadıkça kullanılamazlar
Fonksiyonlar şarta bağlı tanımlanabilir
Koşula bağlı olarak fonksiyon tanımlanır veya
tanımlanmaz
Include ve Require
Include ve Require
include ve require ifadeleri bir dosya
eklemek ve deÄŸerlendirir
Kodu bölmek, birleştirmek ve tekrar kullanmak
için uygundur
Her ikisi de tek parametre alır – dosya adı
EÄŸer dosya bulunamazsa include warning
üretirken , require fatal error üretir.
Dosya herhangi bir uzantıda olabilir
require "header.php";
echo "body burada yazılır";
require "footer.php";
include_once ve
require_once
include_once ve require_once, include
ve require ifadelerinin farklı formudur.
include ve require ile bir dosya bir çok kez
include edilir
include_once ve require_once eÄŸer
dosya zaten include edildiyse, hiçbir şey olmaz
Örneğin, bir dosya içinde fonksiyonu
tanımladıysanız, çift include "Aynı İsimle
Fonksiyon hali hazırda vardır hatası üretir.
Değişken Etki ALanı
Değişken Etki Alanı
Fonksiyon içinde bildirimi yapılmış değişkenler
fonksiyondan çıkana dek vardırlar
include/require ile eklenen dosyalardeÄŸiÅŸken
etki alanını miras alırr
$_GET, $_POST, $_SERVER ve diğer tümleşik
(built-in) deÄŸiÅŸkenler globaldir.
Kod içinde herhangi bir yerden erişilebilir.
Fonksiyonun dışında tanımlanan değişkenler
içinde erişilebilir değildir.
Global Anahtar Kelimesi
Fonksiyonun dışında tanımlanan değişkenler
içinde erişilebilir değil.
global olarak tanımlanmalı ya da global
ifadesiyle birlikte kullanılmalıdır.
$a = "test";
function $foo () {
echo $a; // ekran çıktısı vermez
}
$a = "test";
function $foo () {
global $a;
echo $a; // "test« çıktısı üretir;
}
Döngüler ve Değişken Etki Alanı
Döngü içinde tanımlı değişkenler, döngü
sonrası erişilebilir değildir.
Örnekte dizi döngüden önce tanımlanmalıdır
for ($i = 0; $i < 5; $i++) {
$arr[] = $i;
}
print_r ($arr); // çıktı oluşmaz
$arr = array();
for ($i = 0; $i < 5; $i++) {
$arr[] = $i;
}
print_r ($arr); // bu kez çalışır
Parantezler Hakkında Notlar
PHP kod HTML içine gömülebildiği gibi, HTML
kod da PHP içene gömülebilir.
echo "Hello John!"; yazmakla
eÅŸdeÄŸerdir.
uzun metinler için oldukça kullanışlıdır
<?php
if ($name == "John") {
?>
Merhaba John!
<?php
}
?>
Dizi Değişkeni Fonksiyonları
Uygulama Notları Örnekleri
44
String Fonksiyonları
Uygulama Notları Örnekleri
45
Matematik Fonksiyonları
Uygulama Notları Örnekleri
46
Kod Akış Kontrol
Sorular?
Örnekler
1. 1’den 50’ye sayıları yazan program yazınız.
2. 1 ve 50 arasındaki 5 ve 7’ye bölünemeyen
sayıları yazınız
3. Write a program that prints HTML table with
N columns and N rows with the numbers 1,
2, 3, ... in its cells for a given N, defined as a
constant
4. Ä°ndisli dizide minimal bileÅŸeni bulan program
kodunu yazınız
Örnekler(2)
5.Tanımlanmış sabit N için N! (factorial
1*2*..*N) hesap eden programı yazınız
6.Tanımlanmış sabitler N ve K için N!*K!/(N-K)!
İfadesini hesaplayan programı yazınız

More Related Content

Viewers also liked (10)

Chapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 InstructionsChapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 Instructions
cmkandemir
Ìý
JDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and ConfigurationJDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and Configuration
cmkandemir
Ìý
openCV and Java - Face Detection
openCV and Java - Face DetectionopenCV and Java - Face Detection
openCV and Java - Face Detection
cmkandemir
Ìý
Web Sitesi Geliştirme Adımları
Web Sitesi Geliştirme AdımlarıWeb Sitesi Geliştirme Adımları
Web Sitesi Geliştirme Adımları
cmkandemir
Ìý
CSS Uygulamaları 1
CSS Uygulamaları 1CSS Uygulamaları 1
CSS Uygulamaları 1
cmkandemir
Ìý
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
cmkandemir
Ìý
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
cmkandemir
Ìý
impress.js Framework
impress.js Frameworkimpress.js Framework
impress.js Framework
cmkandemir
Ìý
PHP Temelleri
PHP TemelleriPHP Temelleri
PHP Temelleri
cmkandemir
Ìý
CSS - Sunum BileÅŸenleri
CSS - Sunum BileÅŸenleriCSS - Sunum BileÅŸenleri
CSS - Sunum BileÅŸenleri
cmkandemir
Ìý
Chapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 InstructionsChapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 Instructions
cmkandemir
Ìý
JDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and ConfigurationJDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and Configuration
cmkandemir
Ìý
openCV and Java - Face Detection
openCV and Java - Face DetectionopenCV and Java - Face Detection
openCV and Java - Face Detection
cmkandemir
Ìý
Web Sitesi Geliştirme Adımları
Web Sitesi Geliştirme AdımlarıWeb Sitesi Geliştirme Adımları
Web Sitesi Geliştirme Adımları
cmkandemir
Ìý
CSS Uygulamaları 1
CSS Uygulamaları 1CSS Uygulamaları 1
CSS Uygulamaları 1
cmkandemir
Ìý
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
cmkandemir
Ìý
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
cmkandemir
Ìý
impress.js Framework
impress.js Frameworkimpress.js Framework
impress.js Framework
cmkandemir
Ìý
PHP Temelleri
PHP TemelleriPHP Temelleri
PHP Temelleri
cmkandemir
Ìý
CSS - Sunum BileÅŸenleri
CSS - Sunum BileÅŸenleriCSS - Sunum BileÅŸenleri
CSS - Sunum BileÅŸenleri
cmkandemir
Ìý

Similar to Kod Akış Kontrolü - Döngüler, Fonksiyonlar (16)

Php1
Php1Php1
Php1
Oyunzet Oyunlar
Ìý
Php
PhpPhp
Php
Ferhat CoÅŸkun
Ìý
Feature selection - metin madenciliği özellik seçimi
Feature selection - metin madenciliği özellik seçimiFeature selection - metin madenciliği özellik seçimi
Feature selection - metin madenciliği özellik seçimi
Åžahabettin Akca
Ìý
Sqlmap Analiz
Sqlmap AnalizSqlmap Analiz
Sqlmap Analiz
B3mB4m Turk
Ìý
9. ÅŸablonlar
9. ÅŸablonlar9. ÅŸablonlar
9. ÅŸablonlar
karmuhtam
Ìý
PHP DeÄŸiÅŸkenler-Sabitler
PHP DeÄŸiÅŸkenler-SabitlerPHP DeÄŸiÅŸkenler-Sabitler
PHP DeÄŸiÅŸkenler-Sabitler
efedincer
Ìý
Ileri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer KoculuIleri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer Koculu
mustafa sarac
Ìý
Php 3. hafta
Php 3. haftaPhp 3. hafta
Php 3. hafta
farukozturk061
Ìý
Php MySQL
Php MySQLPhp MySQL
Php MySQL
OÄŸuzhan TAÅž Akademi
Ìý
Php mysql sunum
Php mysql sunumPhp mysql sunum
Php mysql sunum
Oyunzet Oyunlar
Ìý
JavaScript sunumu
JavaScript sunumuJavaScript sunumu
JavaScript sunumu
Osman Yuksel
Ìý
Javascript Performance Optimisation
Javascript Performance OptimisationJavascript Performance Optimisation
Javascript Performance Optimisation
irfandurmus
Ìý
Fonksiyonlar
FonksiyonlarFonksiyonlar
Fonksiyonlar
sekizagustos
Ìý
C dilindeki strtok, remove, rename ve system fonksiyonları.
C dilindeki strtok, remove, rename ve system fonksiyonları. C dilindeki strtok, remove, rename ve system fonksiyonları.
C dilindeki strtok, remove, rename ve system fonksiyonları.
MehmetKelepce
Ìý
Feature selection - metin madenciliği özellik seçimi
Feature selection - metin madenciliği özellik seçimiFeature selection - metin madenciliği özellik seçimi
Feature selection - metin madenciliği özellik seçimi
Åžahabettin Akca
Ìý
Sqlmap Analiz
Sqlmap AnalizSqlmap Analiz
Sqlmap Analiz
B3mB4m Turk
Ìý
9. ÅŸablonlar
9. ÅŸablonlar9. ÅŸablonlar
9. ÅŸablonlar
karmuhtam
Ìý
PHP DeÄŸiÅŸkenler-Sabitler
PHP DeÄŸiÅŸkenler-SabitlerPHP DeÄŸiÅŸkenler-Sabitler
PHP DeÄŸiÅŸkenler-Sabitler
efedincer
Ìý
Ileri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer KoculuIleri seviye javascript by Azer Koculu
Ileri seviye javascript by Azer Koculu
mustafa sarac
Ìý
JavaScript sunumu
JavaScript sunumuJavaScript sunumu
JavaScript sunumu
Osman Yuksel
Ìý
Javascript Performance Optimisation
Javascript Performance OptimisationJavascript Performance Optimisation
Javascript Performance Optimisation
irfandurmus
Ìý
Fonksiyonlar
FonksiyonlarFonksiyonlar
Fonksiyonlar
sekizagustos
Ìý
C dilindeki strtok, remove, rename ve system fonksiyonları.
C dilindeki strtok, remove, rename ve system fonksiyonları. C dilindeki strtok, remove, rename ve system fonksiyonları.
C dilindeki strtok, remove, rename ve system fonksiyonları.
MehmetKelepce
Ìý

More from cmkandemir (10)

Temel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım ÖrnekleriTemel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım Örnekleri
cmkandemir
Ìý
Yapay Zeka Nedir?
Yapay Zeka Nedir?Yapay Zeka Nedir?
Yapay Zeka Nedir?
cmkandemir
Ìý
Zekayı Anlamak
Zekayı AnlamakZekayı Anlamak
Zekayı Anlamak
cmkandemir
Ìý
PHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesiPHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesi
cmkandemir
Ìý
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer SystemsChapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
cmkandemir
Ìý
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly LanguageChapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
cmkandemir
Ìý
CSS - Genel Bakış
CSS - Genel BakışCSS - Genel Bakış
CSS - Genel Bakış
cmkandemir
Ìý
Temel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, FormTemel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, Form
cmkandemir
Ìý
Temel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, ImageTemel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, Image
cmkandemir
Ìý
Vaadin JPAContainer
Vaadin JPAContainerVaadin JPAContainer
Vaadin JPAContainer
cmkandemir
Ìý
Temel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım ÖrnekleriTemel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım Örnekleri
cmkandemir
Ìý
Yapay Zeka Nedir?
Yapay Zeka Nedir?Yapay Zeka Nedir?
Yapay Zeka Nedir?
cmkandemir
Ìý
Zekayı Anlamak
Zekayı AnlamakZekayı Anlamak
Zekayı Anlamak
cmkandemir
Ìý
PHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesiPHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesi
cmkandemir
Ìý
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer SystemsChapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
cmkandemir
Ìý
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly LanguageChapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
cmkandemir
Ìý
CSS - Genel Bakış
CSS - Genel BakışCSS - Genel Bakış
CSS - Genel Bakış
cmkandemir
Ìý
Temel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, FormTemel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, Form
cmkandemir
Ìý
Temel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, ImageTemel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, Image
cmkandemir
Ìý
Vaadin JPAContainer
Vaadin JPAContainerVaadin JPAContainer
Vaadin JPAContainer
cmkandemir
Ìý

Kod Akış Kontrolü - Döngüler, Fonksiyonlar

  • 1. Kod Akış Kontrol Yrd.Doç.Dr. Celal Murat KANDEMÄ°R ESOGÃœ – EÄŸitim Fakültesi - BÖTE twitter.com/cmkandemir
  • 2. Contents 1. KoÅŸul cümleleri (Conditional statements) 2. Döngüler (Loops) 3. Fonksiyonlar ve Geri Dönüş DeÄŸerleri 4. Include ve require 5. DeÄŸiÅŸken kapsam alanı
  • 4. KoÅŸul Ä°fadeleri - if if yapısı eÄŸer belli bir koÅŸul saÄŸlanırsa kodun çalıştırılmasını saÄŸlar Not: atamalar atanmış bir deÄŸer olarak geri döner $a = 5; $b = 7; if ($a > $b) echo "A büyüktür B"; if ($a % 2) { echo "A is odd"; $b = $a % 2; echo "A%2 is :".$b; } if ($b = $a%2) echo "A tek - A%2 is :".$b;
  • 5. KoÅŸul Ä°fadeleri - if if yapısı eÄŸer belli bir koÅŸul saÄŸlanırsa kodun çalıştırılmasını saÄŸlar Not: atamalar atanmış bir deÄŸer olarak geri döner $a = 5; $b = 7; if ($a > $b) echo "A büyüktür B"; if ($a % 2) { echo "A is odd"; $b = $a % 2; echo "A%2 is :".$b; } if ($b = $a%2) echo "A tek - A%2 is :".$b; Boolean ifade
  • 6. KoÅŸul Ä°fadeleri - if if yapısı eÄŸer belli bir koÅŸul saÄŸlanırsa kodun çalıştırılmasını saÄŸlar Not: atamalar atanmış bir deÄŸer olarak geri döner $a = 5; $b = 7; if ($a > $b) echo "A büyüktür B"; if ($a % 2) { echo "A is odd"; $b = $a % 2; echo "A%2 is :".$b; } if ($b = $a%2) echo "A tek - A%2 is :".$b; EÄŸer koÅŸul doÄŸru ise çalıştırılacak kod bloÄŸu Parantezleri unutmayın!
  • 7. If - else if-else yapı if yapının geniÅŸletilmiÅŸ ÅŸeklidir ve ÅŸartla saÄŸlanırsa bir kodu saÄŸlanmaz ise diÄŸerini çalıştırmanıza imkan saÄŸlar. $a = 5; $b = 7; if ($a > $b) echo "A büyüktür B"; else echo "B büyük eÅŸit A";
  • 8. if - elseif if-else yapının geniÅŸletilmiÅŸ biçimidir else gövdeye yeni koÅŸullar eklemek için kullanılır Çoklu elseif ifadeleriniz olabilir. if ($a > $b) echo "A büyüktür B"; elseif ($a == $b) echo "A eÅŸittir B"; else echo "B büyüktür A";
  • 9. switch switch yapı kontrol edilen deÄŸiÅŸken deÄŸerine baÄŸlı olarak farklı kod bölümlerinin çalıştırılmasını saÄŸlar. Çok sayıda if kullanmakla aynıdır. switch gövdesi "case" cümleleri içerir Yorumlayıcı deÄŸiÅŸken deÄŸeri ile eÅŸleÅŸen kod cümlesini bulur ve çalıştırır switch ($a) { case 0: echo "A 0’dır"; break; case 1: echo "A 1’dir"; break; }
  • 10. switch (2) else benzer ÅŸekilde default case iÅŸleminiz olabilir EÄŸer youmlayıcı herhangi bir case deÄŸerini bulmazsa default seçeneÄŸi yürütür default case zorunlu deÄŸildir switch ($a) { case 0: echo "A is 0"; break; case 1: echo "A is 1"; break; default: echo "A is … something else"; break; }
  • 11. switch(3) Yorumlayıcı bulduÄŸu case durumu için gerekli kod cümlelerini çalıştırdıktan sonra bir sonraki case satırına gider switch bloÄŸundan çıkmaz. Yukarıdaki örnek "A 0’dır A 1’dir" ekran çıktısı verir. Çözüm gerekli olan yerlere break eklenmesidir default case için de aynı durum söz konusudur (eÄŸer son durum deÄŸilse!) $a = 0; switch ($a) { case 0: echo "A 0’dır"; case 1: echo "A 1’dir"; }
  • 12. switch(4) switch davranışına baÄŸlı olarak boÅŸ case durumları da kullanılabilir break konulmaz, böylelikle yorumlayıcı bir sonraki satırdan devam edebilir. Tek bir kod ile birden fazla deÄŸeri birleÅŸtirmek amacıyla kullanılabilir. $a = 0; switch ($a) { case 0: echo "A 0’dır"; break; case 1: case 2: echo "A 1 veya 2’dir"; break; }
  • 13. switch(5) Herhangi bir skaler tip deÄŸiÅŸken kullanılabilir (string, number, boolean, etc) switch ($name) { case "Dimitar": echo 1; break; case "Svetlin": case "Nakov" : echo 2; break; case false : echo "Ä°simsiz"; break; default : echo "?!"; break; }
  • 14. Üçlü Operatör (Ternary Operator) if-else yapının kısa ÅŸeklidir KoÅŸula baÄŸlı olarak sadece tek bir deÄŸer geri döndürmek amacıyla kullanılabilir. Söz dizimi: AÅŸağıdaki ÅŸekilde kullanılamaz: echo ($a<$b ? "a küçük" : "b küçük"); echo ($a>$b ? "a" : "b")." büyüktür"; $b = ($a % 2 ? 17 : 18); <condition>?<value if true>:<value if false> ($a > 17 ? echo "a" : echo "b" );
  • 16. whileYapısı PHP, C stili while döngüsünü destekler KoÅŸul saÄŸlanana kadar gövdede bulunan kod parçası çalıştırılır Gövde bir veya fazla kod satırından oluÅŸabilir EÄŸer birden fazla kod satırı var ise eliptik parantez içine alınmalıdır KoÅŸul ifadesi boolean deÄŸiÅŸken tipinde olmalıdır. $a = 1; while ($a < 100) { $a ++; echo $a; } ifade gövde
  • 17. do… whileYapı do-while yapı while-do yapıya benzer KoÅŸul ifade çalıştırıldıktan sonra kontrol edilir! Gövdede bulunan kod en az bir kez çalışır! $a = 1; do { $a ++; echo $a; } while ($a < 100); // this will produce 2 3 4 … 100 // the while cycle would output 2 3 4 … 99 ifade gövde
  • 18. for Döngüsü PHP, C stili döngüyü destekler for döngüsü baÅŸlatma, tekrarlanma ve sonlanma koÅŸul ifadelerinden oluÅŸur Hiçbiri zorunlu deÄŸil Her ifade virgülle ayrılmış ifadelerden oluÅŸur for ($i = 0; $i < 10; $i++) echo $i; for ($i = 0, $j = 10; ; $i++, $j--) if ($j > $i) echo $i; else break;
  • 19. for Döngüsü PHP, C stili döngüyü destekler for döngüsü baÅŸlatma, tekrarlanma ve sonlanma koÅŸul ifadelerinden oluÅŸur Hiçbiri zorunlu deÄŸil Her ifade virgülle ayrılmış ifadelerden oluÅŸur for ($i = 0; $i < 10; $i++) echo $i; for ($i = 0, $j = 10; ; $i++, $j--) if ($j > $i) echo $i; else break; baÅŸlangıç
  • 20. for Döngüsü PHP, C stili döngüyü destekler for döngüsü baÅŸlatma, tekrarlanma ve sonlanma koÅŸul ifadelerinden oluÅŸur Hiçbiri zorunlu deÄŸil Her ifade virgülle ayrılmış ifadelerden oluÅŸur for ($i = 0; $i < 10; $i++) echo $i; for ($i = 0, $j = 10; ; $i++, $j--) if ($j > $i) echo $i; else break; son koÅŸulu
  • 21. for Döngüsü PHP, C stili döngüyü destekler for döngüsü baÅŸlatma, tekrarlanma ve sonlanma koÅŸul ifadelerinden oluÅŸur Hiçbiri zorunlu deÄŸil Her ifade virgülle ayrılmış ifadelerden oluÅŸur for ($i = 0; $i < 10; $i++) echo $i; for ($i = 0, $j = 10; ; $i++, $j--) if ($j > $i) echo $i; else break; tekrarlanma
  • 22. for Döngüsü PHP, C stili döngüyü destekler for döngüsü baÅŸlatma, tekrarlanma ve sonlanma koÅŸul ifadelerinden oluÅŸur Hiçbiri zorunlu deÄŸil Her ifade virgülle ayrılmış ifadelerden oluÅŸur for ($i = 0; $i < 10; $i++) echo $i; for ($i = 0, $j = 10; ; $i++, $j--) if ($j > $i) echo $i; else break; gövde
  • 23. foreach Foreach diziler üzerinde tekrarlı iÅŸlemleri gerçekleÅŸtirmek amacıyla kullanılır. Dizideki her eleman için gövdede bulunan kod çalıştırılır. $value deÄŸiÅŸkenine dizide o an üzerinde çalışılan eleman deÄŸeri atanacaktır. $arr = array (1,1,2,3,5,8); foreach ($arr as $value) echo $value;
  • 24. foreach ve Ä°liÅŸkisel Diziler Foreach ikinci kullanım ÅŸekli Dizideki deÄŸere karşılık gelen anahtara eriÅŸilmesini saÄŸlar. $arr = array ("one" => 1, "two" => 2); foreach ($arr as $key => $value) echo $key." => ".$value;
  • 25. break ve continue Döngüden break komutu ile çıkılabilir Bir sonraki döngüye geçmek için ise continue komutu kullanılır $i = 0; while (true) { $i ++; if ($i == 10) break; // döngüden çık if ($i%2 == 0) continue; // sonraki tekrar echo $i; } // ekran çıktısı 1 3 5 7 9
  • 27. Fonksiyonlar Fonksiyonlar, tekil bir isim altında bir araya getirilmiÅŸ koda satırı kümeleridir. function kelimesi ile bildirim yapılır Parametre alabilir ve deÄŸer dönebilir Kodun organize edilmesine ve tekrar kullanılabilmesine olanak saÄŸlar Echo, print ve diÄŸerleri dahili fonksiyonlardır function sum ($a, $b) { return $a + $b; } echo sum(5,7); // 12 ekran çıktısı üretir
  • 28. Fonksiyonlar(2) Fonksiyon ismi tekil (benzersiz) olmalı Sınırsız sayıda argüman alabilir Fonksiyon isminden sonra parantez için tanımlanır return ifadesi ile deÄŸer geri döndürebilir Tek parametre kabul der, geri dönüş deÄŸeri
  • 29. Fonksiyon Parametreleri Fonksiyon parametreleri için ön tanımlı deÄŸerlere sahip olabilir Kullanılışını kolaylaÅŸtırır Varsayılan deÄŸer ,sabit ifade olmalıdır Fonkisyon bildiriminde varsayılan olarak ayarlanmış argümanlar, saÄŸ taraftadır! function max ($a, $b, $strict = true) { if (strict) return ($a > $b); else return ($a >= $b); } echo max(3,3,false); echo max(4,3,true); echo max(3,3); // we can omit 3rd parameter
  • 30. Fonksiyon Parametreleri(2) Varsayılan olarak PHP argümanları fonksiyonlara deÄŸer olarak geçirir. Anlamı fonksiyondaki argüman deÄŸeri deÄŸiÅŸimi, fonksiyon sonlandıktan sonra etkilemeyecektir. Argümana & ön takısı eklenerek argümanların referans ile geçirilmesi saÄŸlanır function double (&$a) { $a *= 2; } $b = 7; double ($b); echo $b; // 14 geri döner;
  • 31. Fonksiyon Parametreleri (3) PHP supports variable-length function parameters Fonksiyona herhangi sayıda argüman geçirilebilir. Fonksiyon parametreleri func_num_args() ve func_get_arg() ile okunabilir function sum(){ $res = 0; for ($i=0, $n = func_num_args(); $i < $n; $i++) $res += func_get_arg ($i); return $res; } echo sum (4,5,6);
  • 32. Fonksiyon Geri Dönüş DeÄŸeri Fonksiyonlar return kelimesiyle deÄŸer geri döndürebilirler. Tek argüman alırlar-geri dönecek deÄŸer Fonkisyondan çıkar Çok deÄŸer geri dönülecekse diziler kullanılmalıdır Fonksiyon deÄŸer geri döndürmek zorunda deÄŸildir function foo ($a) { return true; // aÅŸağıdaki kod çalıştırılmaz echo $a + 1; }
  • 33. Fonksiyon Geri Dönüş DeÄŸeri(2) Çok deÄŸer geri dönmek için sabit uzunluklu diziler ve list kullanılır list ifadesi deÄŸiÅŸkenlere çoklu dizi elemanları atar array gibi bir fonksiyon deÄŸildir Sadece sayısal diziler için çalışır ve indisi sıfıdan baÅŸlar function small_numbers () { return array (0,1,2); } list ($a, $b, $c) = small_numbers();
  • 34. DeÄŸiÅŸken Fonksiyonları PHP deÄŸiÅŸken fonksiyonları destekler EÄŸer deÄŸiÅŸken ismine parantez eklenirse, derleyici fonksiyonu bulmaya çalışır. echo, print vb. bazı dahili fonksiyonlarda çalışmaz function foo () { echo "Bu bir foo"; } $a = 'foo'; $a(); // foo fonksiyonu çaÄŸrılır
  • 35. Fonksiyonlar Ä°le Ä°lgili Bazı Notlar Fonksiyonun varlığı kontrol edilebilir function_exists($name) Cross-platform scriptler yaratmak için kullanışlıdır İç içe fonksiyonlar tanımlanabilir Dış fonksiyon çaÄŸrılmadıkça kullanılamazlar Fonksiyonlar ÅŸarta baÄŸlı tanımlanabilir KoÅŸula baÄŸlı olarak fonksiyon tanımlanır veya tanımlanmaz
  • 37. Include ve Require include ve require ifadeleri bir dosya eklemek ve deÄŸerlendirir Kodu bölmek, birleÅŸtirmek ve tekrar kullanmak için uygundur Her ikisi de tek parametre alır – dosya adı EÄŸer dosya bulunamazsa include warning üretirken , require fatal error üretir. Dosya herhangi bir uzantıda olabilir require "header.php"; echo "body burada yazılır"; require "footer.php";
  • 38. include_once ve require_once include_once ve require_once, include ve require ifadelerinin farklı formudur. include ve require ile bir dosya bir çok kez include edilir include_once ve require_once eÄŸer dosya zaten include edildiyse, hiçbir ÅŸey olmaz ÖrneÄŸin, bir dosya içinde fonksiyonu tanımladıysanız, çift include "Aynı Ä°simle Fonksiyon hali hazırda vardır hatası üretir.
  • 40. DeÄŸiÅŸken Etki Alanı Fonksiyon içinde bildirimi yapılmış deÄŸiÅŸkenler fonksiyondan çıkana dek vardırlar include/require ile eklenen dosyalardeÄŸiÅŸken etki alanını miras alırr $_GET, $_POST, $_SERVER ve diÄŸer tümleÅŸik (built-in) deÄŸiÅŸkenler globaldir. Kod içinde herhangi bir yerden eriÅŸilebilir. Fonksiyonun dışında tanımlanan deÄŸiÅŸkenler içinde eriÅŸilebilir deÄŸildir.
  • 41. Global Anahtar Kelimesi Fonksiyonun dışında tanımlanan deÄŸiÅŸkenler içinde eriÅŸilebilir deÄŸil. global olarak tanımlanmalı ya da global ifadesiyle birlikte kullanılmalıdır. $a = "test"; function $foo () { echo $a; // ekran çıktısı vermez } $a = "test"; function $foo () { global $a; echo $a; // "test« çıktısı üretir; }
  • 42. Döngüler ve DeÄŸiÅŸken Etki Alanı Döngü içinde tanımlı deÄŸiÅŸkenler, döngü sonrası eriÅŸilebilir deÄŸildir. Örnekte dizi döngüden önce tanımlanmalıdır for ($i = 0; $i < 5; $i++) { $arr[] = $i; } print_r ($arr); // çıktı oluÅŸmaz $arr = array(); for ($i = 0; $i < 5; $i++) { $arr[] = $i; } print_r ($arr); // bu kez çalışır
  • 43. Parantezler Hakkında Notlar PHP kod HTML içine gömülebildiÄŸi gibi, HTML kod da PHP içene gömülebilir. echo "Hello John!"; yazmakla eÅŸdeÄŸerdir. uzun metinler için oldukça kullanışlıdır <?php if ($name == "John") { ?> Merhaba John! <?php } ?>
  • 44. Dizi DeÄŸiÅŸkeni Fonksiyonları Uygulama Notları Örnekleri 44
  • 48. Örnekler 1. 1’den 50’ye sayıları yazan program yazınız. 2. 1 ve 50 arasındaki 5 ve 7’ye bölünemeyen sayıları yazınız 3. Write a program that prints HTML table with N columns and N rows with the numbers 1, 2, 3, ... in its cells for a given N, defined as a constant 4. Ä°ndisli dizide minimal bileÅŸeni bulan program kodunu yazınız
  • 49. Örnekler(2) 5.Tanımlanmış sabit N için N! (factorial 1*2*..*N) hesap eden programı yazınız 6.Tanımlanmış sabitler N ve K için N!*K!/(N-K)! Ä°fadesini hesaplayan programı yazınız