Turkcell | Geleceği Yazanlar

301: JavaScriptBaşlangıç seviyesi derslerde Web Programlama 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 Döngüler

Kategori : Mobil | Lisans : Creative Commons (by-nc-sa) | En son 12.09.2019 tarihinde güncellendi
Eğitmen : Geleceği Yazanlar Ekibi
Etiketler : web-programlama

Bir döngü yapısının içine başka bir döngü yapısının yerleştirilmesiyle elde edilen yapıya iç içe döngü (nested loop) adı verilir.

JavaScript dilinde, if deyimlerini herhangi bir derinliğe kadar iç içe kullanmak nasıl mümkünse, döngü deyimlerini de iç içe kullanmak mümkün olacaktır. İç içe döngülerde hatırlanacak anahtar bilgi, önce en içteki döngülerin tamamlanması gerektiğidir. Bu konuda aşağıdaki kural iç içe döngüler için daima geçerlidir:

İç içe döngülerde en içteki döngü en önce tamamlanır.

 

İç İçe Döngüler

Aşağıdaki programda, dış döngü olan i parametreli döngü beş kez çalışacaktır (i=1,2,3,4,5). i'nin her değeri için ise içteki döngü üç kez çalışacaktır (j=1,2,3). Böylece aşağıdaki çıktı elde edilecektir:

<html>
<head>
<TITLE>Nested</TITLE>
</head>
<body bgColor="pink" >
<FONT FACE="Comic sans MS">
<SCRIPT LANGUAGE="javaSCRIPT">
var i,j;
for(i=1;i<=5;i++)
{ document.write("<H3>i="+i+"</H3>");
for(j=1;j<=3;j++)
document.write("j= "+j+" ");
}
</SCRIPT>
</FONT>
</body>
</html>

 

Çarpım tablosu uygulaması

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. Uygulamanın listesi aşağıdadır:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JAVASCRIPT">
var i,j;
for(i=1;i<=10;i++)
{ for (j=1;j<=10;j++)
{document.write(i*j," ");
}
document.write("<BR>");
}
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

 

Faktöriyelli terimlerden oluşan seri toplamı uygulaması

Aşağıdaki seri toplamını hesaplayacak bir JavaScript programı yazınız:

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:

  1. Her adımda, bir toplama işlemi gerektiren, terimlerin toplanmasının gerekli olduğu bir döngü
  2. Yukarıda 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ü.

Bu düşüncelerle, problemin çözümünü teşkil edecek olan bir JavaScript programını aşağıdaki gibi yazabiliriz:

<html>
<head>
</head>
<body bgColor="pink" >
<SCRIPT LANGUAGE="javaSCRIPT">
var 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;
document.write("<H4>"+s+" "+"</H4");
document.write("<BR>");
}
document.write("<H3>SERİ TOPLAMI="+s);
</SCRIPT>
</body>
</html>