Mobil Programlama

iOS

DERS PROGRAMI
iOS 101 Ders Programı

Kontrol Komutları (Control Statements)

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

Kontrol komutları bildiğiniz gibi, programlamayı gerçekleştiren komutlardır. Swift’teki kontrol komutları, if, for-in, for, while, do-while, switch-case, break, continue, fallthrough ve return gibi komutlardır.

ÖRNEKLER:

IF KOMUTU:

Genel biçimi,

if koşul {alfa} else {beta}

şeklindedir. Koşul doğru (true) ise alfa kısmı, koşul yanlış (false) ise de beta kısmı icra edilir.

ÖRNEK:

var x:Int=6

var y:Int=8

if x>y {print("\(x).....\(y)...den büyüktür")} else {print("\(x).....\(y)...den küçük veya eşittir")}

x=17

y=4

if x>y {print("\(x).....\(y)...den büyüktür")} else {print("\(x).....\(y)...den küçük veya eşittir")}

PROGRAMIN ÇIKTISI

6.....8...den küçük veya eşittir

17.....4...den büyüktür

FOR IN KOMUTU

Bir koleksiyon (dizi, sözlük vb.) içindeki elemanlara sıra ile erişmeyi sağlar.

ÖRNEK:

var dizi:[Int]=[3,9,-3,1,6,77]

var sozluk:Dictionary<Int,String>=[12:"ali can",22:"veli okan",32:"timur şen",54:"melih can"]

print("DİZİ...")

for i in dizi

{

            print(i)

}

print("SÖZLÜK...")

for i in sozluk

{

            print(i)

}

PROGRAMIN ÇIKTISI

DİZİ...

3

9

-3

1

6

77

SÖZLÜK...

(32, timur şen)

(12, ali can)

(22, veli okan)

(54, melih can)

 

FOR KOMUTU

Çeşitli amaçlarla döngü oluşturmak için kullanılan bir komuttur. Bir grup sayının toplanması, faktöriyel hesabı, listeleme gibi işlemler için kullanılır.

for deyiminin C’de de mevcut olan şekli,

for ilkDegerAtama ; Koşul ; Artım  {

Deyimler

}

şeklindedir. Bildiğiniz gibi C’de söz dizimi biraz farklıdır; C’de, ilk değer atama, koşul ve artım parantez içine yazılır.

Yukarıdaki for yapısının çalışma biçimi şu şekildedir; for parametresine bir ilk değer atanır; ilk değer koşulu sağlıyorsa deyimler icra edilir, sonra parametre artım kadar arttırılır.

Bu işlem parametre değeri koşulu sağlamadığı anda biter ve for gövdesinin ({}) dışına çıkılır.

ÖRNEK:

Aşağıdaki örnek programda 1’den n’e kadar tam sayıların toplamı hesaplanmakta ve yazdırılmaktadır:

var n=20

var s:Int=0

var i:Int

for i in 1...n
    
{ s = s + i
    
}

print("1+2+3+...\(n)=\(s)")

PROGRAMIN ÇIKTISI:

1+2+3+...20=210

 

Switch/Case YAPISI

Bir programda çok sayıda koşul kontrolü ve bunların sonucuna göre gerçekleştirilmesi gereken işlemler varsa, “if-else” yapıları ile akışın izlenmesi zorlaşabilir.

Bu durumlar genellikle “switch” deyiminin kullanılmasının gerekli olacağı durumlardır. “Switch”deyimi, tek bir ifadenin değerine göre, sınırsız sayıda icra yolu belirleme imkanı tanıyan bir komuttur.

“Switch” sözcüğünden hemen sonra gelen ifade parantezler içinde ve bir tamsayı ifade olmalıdır. Yani char, short, int, long, byte, sbyte, ushort, uint, ulong olabilir fakat float, double veya long double olamaz. (C için, Kernighan & Ritchie standardı, ifadenin int tipinde olmasını gerektirir.)

“Case” anahtar sözcüklerini izleyen ifadeler tamsayı sabit türünde ifadeler olmalıdır, yani değişken içermemelidirler.

  •          “Switch” deyiminin çalışma biçimi basittir. “Switch” ifadesi hesaplanır; sonuç hangi case’i izleyen sabitle çakışıyorsa, programın kontrolü o case’i izleyen kısma geçer.
  •          “Case” sabitlerinin hiçbiri ifade ile uyuşmuyorsa, programın akışı default’u izleyen kısma geçer. (Bu kısım mevcutsa.) Default’un, en sonda olması şart değildir, fakat en sona koymak iyi bir programlama stilidir.

İki “Case” sabiti aynı değeri alamaz.

Swift’te “switch/case” C’dekinden farklıdır. C’de her case’den sonra break kullanma zorunluluğu varken Swift’te bu yoktur.

ÖRNEK:

print("1.AVUSTURYA")

print("2.FRANSA")

print("3.İTALYA")

print("4.HIRVATİSTAN")

var n=2

switch n

    {case 1:print("AVUSTURYAYI SEÇTİNİZ.....")

    case 2:print("FRANSAYI SEÇTİNİZ.....")

    case 3:print("İTALYAYI SEÇTİNİZ.....")

case 4:print("HIRVATİSTANI SEÇTİNİZ.....")

    default:print("HATALI SEÇİM.....")

}

 n=3

switch n

    {case 1:print("AVUSTURYAYI SEÇTİNİZ.....")

case 2:print("FRANSAYI SEÇTİNİZ.....")

case 3:print("İTALYAYI SEÇTİNİZ.....")

case 4:print("HIRVATİSTANI SEÇTİNİZ.....")

default:print("HATALI SEÇİM.....")

}

 n=5

switch n

    {case 1:print("AVUSTURYAYI SEÇTİNİZ.....")

case 2:print("FRANSAYI SEÇTİNİZ.....")

case 3:print("İTALYAYI SEÇTİNİZ.....")

case 4:print("HIRVATİSTANI SEÇTİNİZ.....")

default:print("HATALI SEÇİM.....")

}

PROGRAMIN ÇIKTISI

1.AVUSTURYA

2.FRANSA

3.İTALYA

4.HIRVATİSTAN

FRANSAYI SEÇTİNİZ.....

İTALYAYI SEÇTİNİZ.....

HATALI SEÇİM.....

 

WHILE  DEYİMİ

 

While deyiminin yazılış biçimi aşağıdaki gibidir:

   While  ifade  {Deyim;}

          veya

  while  ifade

{

     Deyim1;

       Deyim2;

        ...

       Deyim_n;

}

 

while deyiminin çalışma biçimi ise aşağıdaki gibidir:

Önce ifade hesaplanır. İfade true (doğru) ise deyim icra edilir. Deyim icra edildikten sonra, programın kontrolü while deyiminin başına geçer ve işlem tekrarlanır. Yani ifade yeniden hesaplanarak sonucuna göre işlem yapılır. Bu işlem, ifadenin değeri false (yanlış) olana kadar sürer. Bu durumda program deyimi izleyen noktaya gider.

İfadenin değeri true (doğru) olduğu sürece while bir sonsuz çevrim (infinite loop) oluşturur.

Deyim yerinde genellikle bir deyimler grubu bulunur; bu durumda while yapısının, deyimler grubunu gövde içine almak için gerekli olan, {} sembolleri kullanılmış olan ikinci şekli söz konusu olacaktır. İkinci şekli de benzer biçimde çalışır; ifade tekrar tekrar hesaplanır; ifadenin değeri true olduğu sürece bir sonsuz çevrim oluşur ve bunun her adımında Deyim1, Deyim2, Deyim_n ile belirtilen deyimler grubu yeniden çalıştırılır.

ÖRNEK:

var f=1

var i=1

while i<=5 {

    f=f * i
    i += 1
    
}

print("5!=\(f)")

PROGRAMIN ÇIKTISI

5!=120

DO WHILE   KOMUTU

While komutuna benzeyen ancak while’a göre küçük bir farklılık gösteren kontrol komutudur.Yazılış biçimi,

repeat {

komutlar  

}while  koşul

şeklindedir. Çalışma mantığı ise şöyledir:

Önce do’nun {} sembolleri ile belirtilen gövdesine (body) herhangi bir kontrol yapmadan girilir; gövdedeki komutlar icra edilir. Gövde içindeki icra bitince while sözcüğünü izleyen koşul kontrol edilir. Koşul doğru ise kontrol geri döner ve gene do’nun gövdesi ile devam eder; koşul yanlış ise, sadece bu durumda, kontrol do-while yapısını izleyen komuta geçer ve oradan devam eder.

ÖRNEK:

Aşağıdaki programı çalıştırınız:


var f=1

var i=1

repeat
    
{f=f * i
    
    i += 1
    
}while(i<=5)

print("5!=\(f)")

PROGRAMIN ÇIKTISI

5!=120