Mobil Programlama

Android

DERS PROGRAMI
Android 101 Ders Programı

İç İçe for Döngüleri İçin Örnekler

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

 

Ö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);  
           for(i=1;i<=3;i++) //3 kez tekrarla
            { 
              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 ");  
     for(altcizgi=1; altcizgi<=70; altcizgi++) //döngüyle uzunca bir çizgi çizelim
      { 
        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