Bir program parçacığının belirlenen kodlarının tekrar ettirilmesi için kullanılan kod yapısındır. Örneğin 10 öğrenci bilgisi girişi yapılması, klavyeden x tuşuna basana kadar devam ettirme gibi. Başlangıç değeri ve bitiş değeri belli olan ya da belirlenen koşul gerçekleştiği sürece devam eden döngüler bulunmaktadır. 4 tip döngü bulunmaktadır.
Döngü |
Açıklama |
for |
Başlangıcı ve bitişi belli olan döngü yapısındır. |
while |
Belirli bir koşul gerçekleştiği sürece devam eden döngü türüdür. |
do-while |
Koşul ne olursa olsun bir kere döngünün işlem gördüğü ve koşula bağlı olarak döngüyü devam ettiren yapıdır. |
foreach |
Diziler için kullanılan döngüdür. |
1) For Döngüsü
Başlangıcı ve bitişi belli olan döngü yapısındır. Başlangıç değeri , koşul ve artım değeri içermektedir. Aşağıdaki gibi kullanılmaktadır.
for (başlangıç ; koşul ; artım)
{
// döngü içinde kullanılacak işlemler.
}
1) Başlangıç: Döngü için kullanılacak olan değişkenin ilk alacağı değerdir.
2) Koşul: Döngünün devam etmesi için gerekli olan koşuldur. Koşul içinde başlangıç içinde kullanılan değişken kullanılmalıdır.
3) Artım: Döngü için kullanılan değişken değerinin artırtılmasını gerçekleştirilen bölümdür.
For Döngüsü Nasıl Çalışır ?
For döngü bloğuna çalışmaya başladığında ilk olarak Başlangıç bölümü, sonra Koşul kısmı bölümüne bakılır koşul doğru ise döngü içindeki işlemler yapılır. İşlemler yapıldıktan sonra döngü başına gelinir ve önce Artım bölümü, sonra Koşul kısmı bölümüne bakılır koşul doğru ise döngü içindeki işlemler yapılır. bu şekilde koşul doğru olmayana kadar devam eder. Yani aşağıdaki sıra izlenerek for döngüsü çalışır.
1) Başlangıç ->Koşul-> İşlemler
2) Artım ->Koşul -> İşlemler
3) Artım ->Koşul ->İşlemler
....
....
Örnek-1: 1’den 10’a kadar olan sayıları ekrana yazdırınız.
for (byte i = 1; i <= 10; i++)
{
Console.WriteLine(i);
}
Console.ReadKey();
Yukarıdaki kodu incelediğimizde;
- byte i=1; Döngü değişkenimize (i) başlangıç değerini 1 olarak atandı. Döngü değişkeni üst kısımda tanımlana bilirdi burada değeri verilebilirdi.
- i<=10; Döngü koşulu belirlendi buradaki koşul doğru olduğu süre içinde döngü devam eder. i değişkeni 10’a eşit ve küçük olduğu sürece devam etmesi belirtildi.
- i++ ; i değişkenimizi döngümüzün her dönüşünde 1 arttıracağımızı belirttik.
Örnek-2: 0 ile 20 arasında çift sayıları ekrana alt alta yazdırınız.
for (byte i = 0; i <= 20; i+=2)
{
Console.WriteLine(i);
}
Console.ReadKey();
Örnek-3: 1 ile 20 arasındaki tek sayıları ekrana alt alta yazdırınız.
for (byte i = 1; i <= 20; i+=2)
{
Console.WriteLine(i);
}
Console.ReadKey();
Üsteki iki örneğimizi aşağıdaki gibi de yapabiliriz.
for (byte i = 0; i <= 20; i++)
{
if (i % 2 == 0) Console.WriteLine(i); //Çift sayı için bu satır
if (i % 2 == 1) Console.WriteLine(i); //Tek sayı için bu satır
}
Console.ReadKey();
Nasıl Döngü Kurmalıyım?
Aşağıdaki örnekleri inceleyerek ne durumlarda nasıl döngü kurmalıyız bunları inceleyelim.
Örnek-4: Klavyeden girilen sayıdan 100'e kadar döngüsünü nasıl kurarım.
Önce klavyeden sayıyı almalıyım ve sonra döngüde başlangıç değerine eşitlemeliyim.
Console.Write("Bir Sayı Giriniz: ");
int sayi = int.Parse(Console.ReadLine());
for (int i = sayi; i < 100; i++)//sayi'dan başlayarak 100'e kadar
{
//İşlemler
}
Örnek-5: Klavyeden girilen birinci sayıdan, ikinci sayıya kadar döngüsünü nasıl kurarım.
Önce birinci sayıyı, sonra ikinci sayıyı almalıyım.birinci sayıyı döngünün başlangıcına eşitlemeli diğer sayıyı koşula yazmalıyım.
Console.Write("Birinci Sayı Giriniz: ");
int sayi1 = int.Parse(Console.ReadLine());
Console.Write("İkinci Sayı Giriniz: ");
int sayi2 = int.Parse(Console.ReadLine());
for (int i = sayi1; i < sayi2; i++)
{
//İşlemler
}
Örnek-6: 10'dan 500'e kadar birer artarak döngüsünü nasıl kurarım.
for (int i = 10; i <=500; i++)
{
//İşlemler
}
Örnek-7: 1’den başlayarak klavyeden girilen sayı kadar döngüsünü nasıl kurarım.
int s;
Console.Write("Bir sayı giriniz: ");
s = int.Parse(Console.ReadLine());
for (int i = 1; i <=s; i++)
{
//İşlemler
}
Örnek-8: 1’den başlayarak klavyeden girilen sayı kadar ekrana bilisimokulu.net yazdıran programı yapınız.
Console.Write("Bir Sayı Giriniz: ");
int s = int.Parse(Console.ReadLine());
for (int i = 1; i <= s; i++)
Console.WriteLine("{0}. bilisimokulu.net", i);
Console.ReadKey();
Örnek-9: 1'den başlayarak, 1 ile 20 arasında tutulan rastgele sayı kadar ekrana bilisimokulu.net yazdıran programı yapınız.
Random r = new Random();
int sayi = r.Next(1, 21);
for (int i = 1; i <= sayi; i++)
Console.WriteLine("{0}. bilisimokulu.net", i);
Console.ReadKey();
For döngüleri ileriye doğru sayabildiği gibi geriye dönük sayma işlemlerinde de kullanılırlar.
//10'dan başlayarak geriye doğru 0 olana kadar
//Dikkat edilirse koşulda döngü değişkeni i>=0 (i değeri 0'dan büyük yada eşit olduğu sürece)
//Artım da i-- kullanılmış yani bir eksiltilir.
for(int i=10; i>=0;i--)
{
}
Örnek-10: 10’dan 0’a geriye doğru sayan ve sayıları ekrana yan yana araya – koyarak yazdıran C# programı yapınız.
10-9-8-7-6-5-4-3-2-1-0
for (sbyte i = 10; i >= 0; i--)
{
if (i!=0)
Console.Write(i + "-");//bu şekilde yer tutucu ile yazılabilirdi ("{0}-",i);
else
Console.Write(i);
}
Console.ReadKey();
Ödev1: Klavyeden girilecek olan 2 sayı arasında kalan sayıları arasında kaç tane çift ve tek sayı olduğunu sayan programı yapınız. Not: ilk girilen sayı küçük, ikinci büyük olacak. Bu duruma uymazsa işlem yapılamaz yazdırılacak.

Ödev2: Klavyeden girilen 10 sayıdan 25 üstünde olanları toplamını ve kaç adet olduğunu bulup, ekrana yazdıran programı yapınız.

Örnek-11: 100 ile 500 arasında 3 ve 5’e tam bölünen sayıları yan yana yazdıran programı yapınız.
for (int i = 100; i <=500; i++)
{
if ((i%3==0)&&(i%5==0))
{
Console.Write("{0}",i);
}
}
Console.ReadKey();
Örnek-12: Klavyeden iki sayı girilerek birinci sayı küçük ikinci sayı büyük olacak şekilde, küçük sayıdan başlayarak büyük sayıya kadar olan sayıları sıralayan programı yazınız.
int s1, s2;
Console.Write("Başlangıç sayısını giriniz: ");
s1 = int.Parse(Console.ReadLine());
Console.Write("Bitiş sayısını giriniz: ");
s2 = int.Parse(Console.ReadLine());
for (int i = s1; i <= s2; i++)
{
Console.WriteLine(i);
}
Console.ReadKey();
Örnek-13: Klavyeden bir sayı girilecek girilen sayı TEK ise 1’den girilen sayıya kadar tek sayıları, girilen sayı ÇİFT ise 1’den girilen sayıya kadar çift sayıları ekrana yazdırınız.
int sayi;
Console.Write("Bir sayı gir: ");
sayi = int.Parse(Console.ReadLine());
for (int i = 1; i <= sayi; i++)
{
//if (sayi % 2 == 0)
//{
// if (i % 2 == 0) Console.WriteLine(i);
//}
//else
//{
// if (i % 2 == 1) Console.WriteLine(i);
//}
if ((sayi % 2 == 0) && (i % 2 == 0)) Console.WriteLine(i);
if ((sayi % 2 == 1) && (i % 2 == 1)) Console.WriteLine(i);
}
Console.ReadKey();
Örnek-14: Klavyeden girilen sayıya kadar olan sayıları toplamını ve çarpımlarını ekrana yazdıran C# programını yazınız.
Bir sayı giriniz: 5
Toplam: 15
Çarımları :120
int sayi, toplam = 0, carpim = 1;
Console.Write("Bir sayı giriniz");
sayi = int.Parse(Console.ReadLine());
for (int i = 1; i <= sayi; i++)
{
toplam += i;
carpim *= i;
}
Console.WriteLine("Toplam: {0}", toplam);
Console.WriteLine("Çarpımları: {0}", carpim);
Console.ReadKey();
Örnek-15: 1’den 100’e kadar olan sayıları teklerin toplamı ve çiftlerin toplamını ayrı hesaplayıp, toplamları ekrana yazdıran programı yapınız.
int cift = 0, tek = 0;
for (int i = 0; i <= 100; i++)
{
if (i % 2 == 0)
cift += i;
else
tek += i;
}
Console.WriteLine("Çiftlerin Toplamı: {0}", cift);
Console.WriteLine("Teklerin Toplamı: {0}", tek);
Console.ReadKey();
Örnek-16: 1’den girilen sayıya kadar, arasında kaç tane 5’e bölünebilen sayı olduğunu bulan ekrana yazdıran programı yapınız.
int sayac = 0;
Console.Write("Bir Sayı Giriniz: ");
int sayi = int.Parse(Console.ReadLine());
for (int i = 1; i <= sayi; i++)
{
if (i % 5 == 0) sayac++;
}
Console.WriteLine("5'e bölünen sayısı: {0}", sayac);
Console.ReadKey();
Yorum ekle