Merhabalar
Bugün sizlerle C# dilinde döngüleri ve döngü kavramının ne olduğunu ele alacağız. Döngüler programlamada işimizi hat safhada kolaylaştıran kod bloklarıdır. Örneğin; Bir işin algoritmasını döngüye belirtip bizim istediğimiz sonuçta şekillenene kadar tekrarlayan kod parçasıdır. Şöyle bir örnek vermek gerekirse: 100 bardak suya ihtiyacımız var. Ve bu 100 bardaklık suyu nasıl yaparız? 100 bardağı tek tek su ile doldurmak mı? Yoksa 1 bardak seçip 100 kere tekrar ederek doldurmak mı? Elbette 2 yöntem daha mantıklı. İşte bu örnek tam olarak döngülerin vazifesini açıklıyor.
Belirlenen ilk değerden koşul tamamlanan kadar dönen ve işlemleri tekrarlayan kod parçasıdır. Kısaca göstermek gerekirse;
for (int i = 0; i < length; i++)
{
Örnekler
Bu döngümüzde vereceğimiz koşul sağlanıyorsa döner. Eğer koşul yanlış olduğunda durur.
Hemen örneklere geçelim. Daha iyi kavramamız için aynı örnek üzerinden göstereceğim;
Fark ettiyseniz bu döngünün içinde bir değişken tanımlamayacağız bu yüzden döngünün üstünde tanımlıyoruz.
Algoritmasını beraber çıkaralım.
a adında bir değişken tanımladık.
komutu ile a değişkenimizin değeri 20 sayısından küçük ve eşit olana kadar dönmesini söyledik.
ekrana a değişkeninin değerini yazıyoruz.
For döngüsündeki 2 artırarak çift sayıları buluyoruz. Burada Console komutunun altında yazmamızın nedeni 0 sayısının çift sayı olduğundan bu değeri saymacaktı. Bu yüzden en son arttırıp ilk değeri de eklemiş olacağız.
Do while döngüsündeki işleyiş mantığı döngü bir kere çalıştırılır eğer koşul doğru ise işlemi yapar. Ama yanlış ise geçer. Ama diğer döngüler de böyle bir şey söz konusu değil. Öncelikle koşulun doğru olmasına bakılır. Bu döngü biraz daha insaflı diyebiliriz.
Kullanımı
[/CENTER]
Her zamanki gibi değişkenimizi tanımlayalım.
Ve Do-While kod bloğumuzu
Bu konuyu iyice kavramanız için yanlış bir hata yapalım. Bir öyle inceleyelim.
Gördüğünüz gibi kırmızı olarak işaretledi. Büyüktür işareti koyduğumda ekran çıktısı olarak 1 verdi. Dediğim gibi koşul doğru olsa devam ettirecekti. Ama 3 sayısı 20'den büyük olmadığı için koşulun üstündeki komutu yazdı bıraktı. Diğer döngüleri kullanmış olsa idik bu cevabı alamazdık.
Bugün sizlerle C# dilinde döngüleri ve döngü kavramının ne olduğunu ele alacağız. Döngüler programlamada işimizi hat safhada kolaylaştıran kod bloklarıdır. Örneğin; Bir işin algoritmasını döngüye belirtip bizim istediğimiz sonuçta şekillenene kadar tekrarlayan kod parçasıdır. Şöyle bir örnek vermek gerekirse: 100 bardak suya ihtiyacımız var. Ve bu 100 bardaklık suyu nasıl yaparız? 100 bardağı tek tek su ile doldurmak mı? Yoksa 1 bardak seçip 100 kere tekrar ederek doldurmak mı? Elbette 2 yöntem daha mantıklı. İşte bu örnek tam olarak döngülerin vazifesini açıklıyor.
For
While
Do while
döngüleri olarak 3 grupta incelenir.
While
Do while
döngüleri olarak 3 grupta incelenir.
For Döngüsü
Belirlenen ilk değerden koşul tamamlanan kadar dönen ve işlemleri tekrarlayan kod parçasıdır. Kısaca göstermek gerekirse;
for (int i = 0; i < length; i++)
{
Buraya devam ettirmek istediğimiz işlemler;/Tekrarlanacak işlemler
}
int i =0;
bölümünde bir değişken tanımlama işlemi gerçekleşir.
i > veya < length;
oluşturduğumuz değişkenin
(int i = 0)
belirleyeceğimiz sayıdan küçük olana kadar dönmesini belirliyoruz ve sonuna i++ koyarak aşağıdaki koşul gerçekleşirse değeri
1
artırıyoruz.
Örnekler
1-)
İstediğimiz yazıyı istediğimiz defa yazdıran bir döngü tasarlayalım. Hemen geçelim.
Öncelikle bir
Öncelikle bir
for döngüsü
açıyoruz.
Bu örneğimizin mantığını anlatmak gerekirse;
Öncelikle
Kod:
[CENTER][CENTER]for (int i = 0; i<=10; i++)
{
Console.WriteLine("HeRTeS - TurkHackTeam");
}
Console.ReadKey();[/CENTER][/CENTER]
Bu örneğimizin mantığını anlatmak gerekirse;
Öncelikle
i
adında
int türünde
bir değişken tanımladık. Ve bu
i
değişkenine
0 atadık.
Ve i değişkeni 10'dan küçük ve eşit olana kadar dönmesini sağlıyoruz ve aşağıdaki koşul yerine geldiğinde i'nin değerinin 1 artmasını sağlıyoruz. Bu sayede döngü 10 kere döneceğinden 10 kere koşuldaki yazıyı yazacaktır.
Programın Çıktısı
2-)
İkinci for döngüsü örneğimizde aşağıdaki gibi olsun.
0-20
arasındaki çift sayıları
ekrana yazdıran ve yazdırırken hangi sayıların çift olduğunu ve o an kaç çift sayı olduğunu hesaplayan bir program yazalım. Şimdi hemen algoritmasını çıkartalım;
for döngümüzü tanımladık. İlk değer ataması olarak 0 sayısını atadık. Ve 20'den küçük ve eşit olana kadar dönmesini söyledik. Ama 2 artarak emir verdik. (Çift sayıları bulmak için)
bu komutta ise i değişkenimizin ilk değeri sıfır olduğu için çift sayı olarak verebiliriz. Ve {0}, yerine gelecek değeri i olarak atadık.
Arkadaşlar
Öncelikle for döngüsü olduğunu saptadık. Çünkü 0-20 arasındaki çift sayıları tek tek yazmıyacağımıza göre bunu for ile yapacağız. For döngüsü tanımlamak için "for" yazacağız ve altta rehber çıkacak orada for gördükten sonra ard arda "TAB" tuşuna basınca bizim için kolay bir şekilde kod bloğunu oluşturuyor. Bu sadece for için değil her şey için geçerlidir.
Kod:
[CENTER] for (int i = 0; i<=20; i=i+2)
{
Console.WriteLine("{0} sayısı çifttir.", i);
j++;
Console.WriteLine("{0} adet çift sayı bulunmaktadır", j);
Console.WriteLine("");
}[/CENTER]
for döngümüzü tanımladık. İlk değer ataması olarak 0 sayısını atadık. Ve 20'den küçük ve eşit olana kadar dönmesini söyledik. Ama 2 artarak emir verdik. (Çift sayıları bulmak için)
Kod:
[CENTER]Console.WriteLine("{0} sayısı çifttir.", i);[/CENTER]
bu komutta ise i değişkenimizin ilk değeri sıfır olduğu için çift sayı olarak verebiliriz. Ve {0}, yerine gelecek değeri i olarak atadık.
Arkadaşlar
j++;
diye bir komut kullandık. Bu nedir diye sorabilirsiniz. İki tane artış değeri kullanmamız gerek bu programda. Çünkü bir tane değişkenimiz
(i=i+2)
çift sayıları hesaplarken diğer değişkenimiz olan
(j++)
kaç çift sayı bulunduğunu hesaplayacak. Bu yüzden;
for değişkeninin üzerinde j değişkenimizi tanımlıyoruz.
komutumuz ile dediğimiz gibi j değişkeni ile kaç çift sayı olduğunu belirliyoruz. j değişkenini arttırıyoruz. Yani i değeri 0 iken, 1 çift sayı bulunduğunu yazacaktır. çünkü çift sayıdan sonra j değerini arttırıyoruz.
arttırdığımız j değerini çift sayı bulunma yazısına atıyoruz. Böylelikle i değeri 2 artınca yani çift sayı olunca ardından j de artarak çift sayıyı hesaplayacaktır.
bu komut ile daha güzel bir görünüm vermek için boşluk bırakıyoruz.
for değişkeninin üzerinde j değişkenimizi tanımlıyoruz.
Kod:
[CENTER]int j = 0;[/CENTER]
Kod:
[CENTER]j++;[/CENTER]
komutumuz ile dediğimiz gibi j değişkeni ile kaç çift sayı olduğunu belirliyoruz. j değişkenini arttırıyoruz. Yani i değeri 0 iken, 1 çift sayı bulunduğunu yazacaktır. çünkü çift sayıdan sonra j değerini arttırıyoruz.
Kod:
[CENTER]Console.WriteLine("{0} adet çift sayı bulunmaktadır", j);[/CENTER]
arttırdığımız j değerini çift sayı bulunma yazısına atıyoruz. Böylelikle i değeri 2 artınca yani çift sayı olunca ardından j de artarak çift sayıyı hesaplayacaktır.
Kod:
[CENTER]Console.WriteLine("");[/CENTER]
bu komut ile daha güzel bir görünüm vermek için boşluk bırakıyoruz.
NOT:
Console.ReadKey(); komutumuzu döngünün dışında yazıyoruz.
Programımızın Çıktısı
While Döngüsü
Bu döngümüzde vereceğimiz koşul sağlanıyorsa döner. Eğer koşul yanlış olduğunda durur.
Hemen örneklere geçelim. Daha iyi kavramamız için aynı örnek üzerinden göstereceğim;
1-)
0-20 arası çift sayıları while ile ekrana yazdırmayı deneyelim.
Kullanımı
Kod:
[CENTER]while(koşul)
{
Komutlar buraya yazılacak
}[/CENTER]
Fark ettiyseniz bu döngünün içinde bir değişken tanımlamayacağız bu yüzden döngünün üstünde tanımlıyoruz.
Kod:
[CENTER]int a = 0;
while(a <= 20)
{
Console.WriteLine(a);
a = a + 2;
}[/CENTER]
Algoritmasını beraber çıkaralım.
Kod:
[CENTER]int a =0;[/CENTER]
a adında bir değişken tanımladık.
Kod:
[CENTER]while(a <=20)[/CENTER]
komutu ile a değişkenimizin değeri 20 sayısından küçük ve eşit olana kadar dönmesini söyledik.
Kod:
[CENTER]Console.WriteLine(a);[/CENTER]
ekrana a değişkeninin değerini yazıyoruz.
Kod:
[CENTER]a= a + 2;[/CENTER]
For döngüsündeki 2 artırarak çift sayıları buluyoruz. Burada Console komutunun altında yazmamızın nedeni 0 sayısının çift sayı olduğundan bu değeri saymacaktı. Bu yüzden en son arttırıp ilk değeri de eklemiş olacağız.
Do While
Do while döngüsündeki işleyiş mantığı döngü bir kere çalıştırılır eğer koşul doğru ise işlemi yapar. Ama yanlış ise geçer. Ama diğer döngüler de böyle bir şey söz konusu değil. Öncelikle koşulun doğru olmasına bakılır. Bu döngü biraz daha insaflı diyebiliriz.
Kullanımı
Kod:
[CENTER][CENTER]do
{
komutlar buraya yazılacak
}
while(koşul);[/CENTER]
1-)
Bu sefer 1-20'e kadar tek sayıları Do-While Döngüsü ile yazdıralım.
Kod:
[CENTER]int a = 1;
do
{
Console.WriteLine(a);
a = a + 2;
} while (i < 20);[/CENTER]
Her zamanki gibi değişkenimizi tanımlayalım.
Kod:
[CENTER]int a = 1;[/CENTER]
Ve Do-While kod bloğumuzu
TAB
tuşu ile açalım.
Kod:
[CENTER]do
{
} while (true);[/CENTER]
Kod:
[CENTER]Console.WriteLine(a);[/CENTER]
a
değişkenimizin sayısını ekrana yazıyor.
Kod:
[CENTER]a = a + 2;
while (a < 20);[/CENTER]
a
değişkenimizin başlangıç sayısı
1
olduğu için;
1 = 1 + 2 (buradaki sonuç 3 oluyor)
1 = 1 + 2 (buradaki sonuç 3 oluyor)
Ve while koşulumuzda a değeri yani 3, 20 değerinden küçük ise devam ediyor. Eğer küçük olmasa idi 1 yazıp bıracaktı.
Program Çıktısı
Bu konuyu iyice kavramanız için yanlış bir hata yapalım. Bir öyle inceleyelim.
Gördüğünüz gibi kırmızı olarak işaretledi. Büyüktür işareti koyduğumda ekran çıktısı olarak 1 verdi. Dediğim gibi koşul doğru olsa devam ettirecekti. Ama 3 sayısı 20'den büyük olmadığı için koşulun üstündeki komutu yazdı bıraktı. Diğer döngüleri kullanmış olsa idik bu cevabı alamazdık.
ÖZGÜN KONU++
Son düzenleme: