Android 101Başlangıç seviyesi derslerde Android uygulama geliştirme ortamını detaylı olarak inceliyoruz.
Tüm Eğitimleri Aldın mı? Kendini sınamanın tam zamanı
Haydi Sınava Girİç İçe for Döngüleri İçin Örnekler
ÖRNEK 1:
Aşağıdaki programda, dış döngü olan a parametreli döngü 5 kez çalışıyor (a=1, 2, 3, 4, 5). a’nın her değeri içinse içteki döngü 3 kez çalışıyor (i=1, 2, 3). Böylece aşağıdaki çıktı elde ediliyor:
KOD BLOĞU:
public class IcIce { public static void main(String args[]){ int a,i; //5 kez tekrarla for(a=1;a<=5;a++) { System.out.println("a= "+a); //3 kez tekrarla for(i=1;i<=3;i++) { System.out.println("i= "+i); } System.out.println(); } } }
PROGRAMIN ÇIKTISI:
ÖRNEK 2: ÇARPIM TABLOSU
1’den 10’a kadar sayılar için bir çarpım tablosu hazırlamak istiyoruz. Bunun için iç içe 2 döngü yeterlidir ve her iki döngünün de parametresi 1’den 10’a kadar değişecektir. Programın kodu şu şekildedir:
KOD BLOĞU:
public class CarpimTablosu { public static void main(String args[]){ int altcizgi, i, j; System.out.println(" 1 2 3 4 5 6 7 8 9 10 "); //döngüyle uzunca bir çizgi çizelim for(altcizgi=1; altcizgi<=70; altcizgi++){ System.out.print("_"); } System.out.println(); for (i =1; i<=10; i++) { System.out.print(i+" | "); for (j=1 ; j<=10 ; j ++) { System.out.print(i*j +" "); } System.out.println(); } } }
PROGRAMIN ÇIKTISI:
ÖRNEK 3: FAKTÖRİYELLİ TERİMLERDEN OLUŞAN SERİ TOPLAMI
Aşağıdaki seri toplamını hesaplayacak bir Java programı yazalım:
1/ 2! + 1/3! + 1/4! +...+ 1/10!
Bu seri toplamını hesaplamak istediğimizde, iç içe iki döngü kullanmak gerektiğini hemen anlarız:
- Her adımda, bir toplama işlemi gerektiren, terimlerin toplanmasının gerekli olduğu bir döngü (Yukarıdaki tek döngü örneklerindeki 1 + 2 + 3 + ... + n toplamı örneğini hatırlayalım.)
- Yukarda belirtilen döngünün her parametre değeri için, o adımdaki faktöriyeli hesaplatmak zorunda olduğumuz ve o nedenle yukarıdaki döngünün içinde yer alması gereken bir döngü.
KOD BLOĞU:
public class FaktoriyelliSeri { public static void main(String args[]){ double s,fakt; int i,j; s=0; for (i=2;i<=10;i++) { fakt=1; for(j=1;j<=i;j++) { fakt=fakt*j; } s=s+1/fakt; System.out.println(s); } System.out.println("Seri toplami "+s); } }
PROGRAMIN ÇIKTISI:
Programın çalıştırılması sonucu i, j, s ve fakt değişkenlerinin alacağı değerlerle ilgili tabloya göz atalım:
DIŞ ÇEVRİM | İÇ ÇEVRİM | FAKTÖRİYEL | TOPLAM |
---|---|---|---|
i | j | fakt | s |
0 | |||
2 | 1 | 1 | 0 |
2 | 2 | 2 | 1/2 |
3 | 1 | 1 | 1/2 |
3 | 2 | 3 | 1/2 |
3 | 3 | 6(1.2.3=3!) | 1⁄2+1/6 |
4 | 1 | 1 | 1⁄2+1/6 |
4 | 2 | 2 | 1⁄2+1/6 |
4 | 3 | 6 | 1⁄2+1/6 |
4 | 4 | 24(1.2.3.4=4!) | 1⁄2+1/6+1/24 |
... | ... | ... | ... |
10 | 10 | 10! | 1⁄2+1/6+1/24+.. +1/20! |
SORU: Yukarıdaki seri toplamını, sadece bir for döngüsü kullanarak hesaplatabilir miyiz?
CEVAP: Evet. Yukarıdaki seri toplamını tek bir for döngüsü ile hesaplatan ve aynı sonuçları elde eden Java programının kod bloğu şöyledir:
public class FaktoriyelliSeri2 { public static void main(String args[]){ double s,fakt; int i; s=0;fakt=1; for (i=2; i<=10; i++) { fakt=fakt*i; s=s+1/fakt; System.out.println(s); } System.out.println("Seri toplami: "+s); } }
PROGRAMIN ÇIKTISI