Mobil Programlama

iOS

DERS PROGRAMI
iOS 101 Ders Programı

For in Döngü Yapısı ile bir Sözlüğün (Dictionary) Elemanlarına Erişmek

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

Dizilere benzer şekilde sözlük elemanlarına da for in yapısı ile erişilebilir. Aşağıdaki örnek kod bu konuda bir fikir vermektedir:

 

 

FOR IN DÖNGÜ YAPISI İLE BİR STRINGİN KARAKTERLERİNE ERİŞMEK

For in yapısı yardımı ile, dizi, sözlük ve koleksiyondan sonra verilen bir stringin tek tek harf ya da karakterlerine de erişmek mümkündür. Aşağıdaki kod ve çıktısı bu konuda bir fikir vermektedir:


 

 

 

İÇ İÇE FOR DÖNGÜLERİ(NESTED FOR LOOPS)

Bir çok durumda for döngüleri uygulamanın özelliğine göre iç içe de kullanılabilir. İç içe döngüler ayrıca while ve do-while yardımı ile de oluşturulabilir.

ÖRNEK:

var i,j:Int

for i in 1...3 {
 for j in stride(from:1, to: 10, by: 4) {
    print("\(i)...\(j)...")
    }
}


 

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

1...1...1...5...1...9...

2...1...2...5...2...9...

3...1...3...5...3...9...


 

Bu tür bir iç içe for yapısında kural,en içteki döngünün en hızlı çalışmasıdır. Yukardaki örneğe bakarsak,

i=1 iken, j=1,5,9 olacaktır. Sonra i bir arttırılacak ve

i=2 iken gene j=1,5,9 değerlerini alacaktır. En son,

i=3 iken j=1,5,9 olacak ve iç içe döngüler tamamlanmış olacaktır.

ÖRNEK:

var i,j:Int
for i in 1...10 {
    for j in 1...i {
    print("*")
    }
}

Bu programın çıktısı ise aşağıdaki gibi olacaktır:

*

**

***

****

*****

******

*******

********

*********

**********

Program ended with exit code: 0

ÖRNEK:

var i,j:Int

for i in stride(from:10, to: 1, by: -1) {
    for j in 1...i {
    print("*")
    }
}

 

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

**********

*********

********

*******

******

*****

****

***

**

*

Program ended with exit code: 0

ÖRNEK:

var i,j:Int

for i in 1...10 {
  for j in 1...10 {
    
    if i==j {
        print("*")
        
    } else {
        print(" ")
    }
  }
}


 

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

*

*

*

*

*

*

*

*

*

*

Program ended with exit code: 0

ÖRNEK:

var i,j:Int

for i in 1...10 {
  for j in 1...10 {
    
    if i+j == 11 {
        print("*")
        
    } else {
        print(" ")
    }
  }
}

 

Programın çıktısı ise aşağıdaki gibi olacaktır:

*

*

*

*

*

*

*

*

*

*

Program ended with exit code: 0


 

ÖRNEK:

func fakt(n:Int)->Int {
    var f=1;
    for i in 1...n {
        f=f*i
    }
    return f;
}

var i,j:Int
var k=3
for i in 1...4 {
    for j in 1...3 {
        print("\(k)!=\(fakt(n: k))");
        print(" ")
        k += 1
    }
}


 

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

3!=6 4!=24 5!=120

6!=720 7!=5040 8!=40320

9!=362880 10!=3628800 11!=39916800

12!=479001600 13!=6227020800 14!=87178291200


 

İLK N TANE ASAL (PRIME) SAYININ BULUNMASI

var i:Int=3

var n:Int=15

var say:Int

var c:Int=0



print("ILK \(n) ..ASAL SAYI")

for say in 2...n {
    for c  in 2...i- 1 {
        
        if i % c == 0
            
        { break }
        
    }
    
    if c == i
        
    {
        print(" \(i)")
        
        say += 1;
        
    }
    
    i += 1;
    
}


 

PROGRAMIN ÇIKTISI

ILK 15 ..ASAL SAYI

3

5

7

11

13

17

19

23

29

31

37

41

43

47

İÇİÇE ÜÇ FOR ÇEVRİMİ ÖRNEĞİ

var i,j,k:Int;

for  i in 1...2 {
    for j in 1...3 {
        for k in 1...2 {
            print("i=\(i)...j=\(j)...k=\(k)")
    }
     print("")
}
 print("")
}


 

PROGRAMIN ÇIKTISI

i=1...j=1...k=1

i=1...j=1...k=2



i=1...j=2...k=1

i=1...j=2...k=2



i=1...j=3...k=1

i=1...j=3...k=2





i=2...j=1...k=1

i=2...j=1...k=2



i=2...j=2...k=1

i=2...j=2...k=2



i=2...j=3...k=1

i=2...j=3...k=2