Mobil Programlama

iOS

DERS PROGRAMI
iOS 101 Ders Programı

Kontrol Transfer Komutları (Control Transfer Statements)

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

Kontrol transfer komutları, icra edilen bir kod içinde programın kontrolünü bir noktadan diğerine gönderen komutlardır. Swift’te 4 adet kontrol transfer komutu mevcuttur:

continue

break

fallthrough

return

contInue DEYİMİ


continue deyimi, çevrim içinde, belirli bir koşulun kontrolü ile, bir sonraki çevrim adımına gidilmesini gerçekleştirir.

ÖRNEK:

Aşağıdaki programda, for çevriminin parametresi olan i değişkeni 3 ile tam bölünemeyen bir değer alınca bu değer ile işlem yapılmayıp bir sonraki adıma geçilmesi continue deyimi ile sağlanmaktadır. Böylece program, kullanıcı tarafından girilen bir üst limite kadar, 3 ile bölünebilen sayıların toplamını ve bu tip sayıların adedini bulacaktır.

PROGRAMIN LİSTESİ:

 var i:Int
 
 var c=0
 
 var s=0
 
 for i in 1...12
    
 {if i % 3 != 0 {continue;}
    
    s += i;
    
    c += 1;
    
 }
 
 print("3-12 arasindaki 3 ile bolunebilen sayi miktari=\(c)");
 
 print("Bu tur sayilarin toplami=\(s)");

 

Programın çıktısı ise aşağıdadır:

3-12 arasindaki 3 ile bolunebilen sayi miktari=4

Bu tur sayilarin toplami=30

 

break DEYİMİ


break deyimi, bir çevrim(loop) yapısı içinden, çevrimi kontrol eden koşul ifadesini beklemeksizin hemen çevrim dışına çıkmak amacı ile kullanılır.

Break deyimi bir çevrim içinde yer almışsa bu durumda break deyimi ile karşılaşılır karşılaşılmaz çevrim dışına çıkılır ve çevrimi izleyen deyime geçilir.

ÖRNEK PROGRAM

var ort=0

var c=0;var s=0;

for  say in stride(from:10, to: -10, by: -1)
    
{if say < 0 {break;}
    
    c += 1
    s=s+say
    
}

ort=s/c

print("SAYI MIKTARI=\(c)")

print("ORTALAMA=\(ort)")

Programın çıktısı aşağıdadır:

SAYI MIKTARI=11

ORTALAMA=5


Burada sonuçta -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Sayıları içinden negatif olanlar atlanarak s=1+2+3+...10=55 ve ort=55/11=5

olarak hesaplanmaktadır.

fallthrough KOMUTU

Yukarda anlatıldığı gibi Swift’te switch case komutu fallthrough komutunun kullanılmasına C’den farklı çalışır. Swiftte, switch case’in herhangi bir seçeneği doğru ise o seçenek tamamlanınca kontrol otomatik olarak switch-case’i izleyen komuta geçer.

C’de ise herhangi bir seçenek doğru ise o kısım icra edildikten sonra bir sonraki seçeneğin kontrolüne geçilir. Bunun önlenmesi içinse her seçeneğin sonunda break komutu kullanılır.

Şimdi Swift’te, C tipi bir switch case yapısı oluşturmak için fallthrough komutunu kullanmak gerekir. Aşağıda her iki durum için örnek birer kod verilmiştir. Kodları ve çıktıları incelerseniz konu daha net olarak anlaşılacaktır.

ÖRNEK I: SWIFT TİPİ SWITCH CASE KOMUTU

var x=3

switch x

{ case 1:print("1");

case 2:print("2");

case 3:print("3");

default: print("sayınız 1,2,3 olmalıydı")



}

Programın çıktısı aşağıdadır:

3


ÖRNEK II: FALLTHROUGH İLE C TİPİ SWITCH CASE KOMUTU

var x=3

switch x

{ case 1:print("1");

case 2:print("2");

case 3:print("3");fallthrough

default: print("sayınız 1,2,3 olmalıydı")



}

Programın çıktısı ise aşağıdadır:

3

sayınız 1,2,3 olmalıydı


return KOMUTU

return komutu genellikle bir fonksiyonun son komutudur. Fonksiyon tarafından hesaplanan değeri, fonksiyonun çağrıldığı noktaya gönderir. Bu konu fonksiyonlar (func) kısmında daha detaylı incelenmiştir.

ÖRNEK:

 

func fonk(a:Int,b:Int,c:String,d:String)->String
    
{if a>b {return c } else { return d}
    
}

print(fonk(a:5,b: 7,c: "evet",d: "hayır"))


 

PROGRAMIN ÇIKTISI

hayır