Son Haberler
Anasayfa / Yazılım / C# / For Döngüsü Kullanımı

For Döngüsü Kullanımı

Csharp’ta bir diğer tekrarlama döngümüz ise for döngüsüdür. Aşağıdaki kod parçacağında for döngüsü ile oluşturulmuş basit bir döngü görebilirsiniz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            //döngümüzü tanımlıyoruz ve şartını belirtiyoruz.
            for (int sayac = 1; sayac <= 100; sayac++)
            {
                //Her döngünün dönüşünde sayaç değeri 1 arttırılarak ekrana yazdırılıyor
                Console.WriteLine("Sayaç Değeri : {0}", sayac);
            }
            Console.ReadLine();
        }
    }
}

Görüleceği üzere basit bir for döngüsü bu şekilde oluşturuluyor. Burada bir döngüm için başlangıç değerim var. Burada sayac adında bir int tipinde değişken kullanıyorum. İlk değerini veriyorum ve son değerini veriyorum ve artım miktarını yazıyorum. Daha sonra döngüm tanımlanmış oluyor ve süslü parantezler içinde döngümün her adımında yapılması gereken işlemlerim için ilgili kodlarımı yazıyorum. Döngümde sayaç değeri 100’e eşit olduğunda son kez kodlarım çalışıyor ve ondan sonra bitiyor. Çünkü şart kısmında sayac <= 100 diye şart koştum. Buradan da anlaşılacağı üzere for döngüsü için kalıp şu şekilde : for ( kontrol değişkenimiz, başlangıç değeri ve tipi; kontrol değişkenimiz için sonlanma şartı; kontrol değişkenimizin artım miktarı) Eğer bir döngüyü tanımlarken, döngü şartını belirtmez isek sonsuz bir döngü oluşturmuş oluruz. Yine döngümüz içinde kontrol değişkenimizin tipini önceden tanımladı isek onu orda da tanımlamak zorunda kalmayabiliriz. Ayrıca döngüde kontrol değişkenimizin artış miktarını da döngü içinde belirtebiliriz. Döngü tanımlarken döngünün kontrol değişkeni, döngü artış miktarı aritmetiksel ifadeler de içerebilir. Örnek olarak şöyle bir tanımlama da yapabiliriz: diyelim ki b=4 ve c=20 olsun. Ve şöyle bir döngü tanımlayalım : [csharp]for ( int a = b; a <= 8 * b * c; a += c / b )[/csharp] Aslında buradaki döngü bu değerlere göre aşağıdakine eşittir: [csharp]for ( int a = 4; a <= 640; a += 5 )[/csharp] Döngülerimizde kontrol değişkenimiz her zaman ileriye doğru yani artı yönde artmayabilir, azalış da olabilir. Yani bir kontrol değişkenini sayac-- diyerek örneğin 1'er 1'er azaltarak da kontrol edebiliriz. Her ne kadar üstte artış miktarları for döngüsünü içinde de yapılabilir demiş olsamda doğru olan bunun döngünün tanımlanırken belirtilmesidir. Üstte 1'den 100'e kadar sayıları ekrana yazdıran bir kod yazdık. Şimdi bunu UML kullanarak ifade edelim. 2013051101

Aşağıdaki ufak kod bloklarında da for döngüsünün çeşitli değişik şekillerde oluşturulmasını göstermek istiyorum.

1) Aşağıdaki kod ile 1’den 100’e kadar sayac değişkenini 1’er 1’er arttırarak döngümüz devam eder.

for ( int sayac = 1; sayac <= 100; sayac++ )

2) Aşağıdaki kod ile 100’den 1’e kadar sayac değişkenini 1’er 1’er azaltarak döngümüz devam eder.

for ( int sayac = 100; sayac >= 1; sayac-- )

3) Aşağıdaki kod ile 3’den 33’e kadar sayac değişkenini 3’er 3’er arttırarak döngümüz devam eder.

for ( int sayac = 3; i <= 33; i += 3 )

4) Aşağıdaki kod ile 33’den 3’e kadar sayac değişkenini 3’er 3’er azaltarak döngümüz devam eder.

for ( int sayac = 33; i >= 3; i -= 3 )

5) Aşağıdaki kod ile 2’den 29’a kadar sayac değişkenini 4’er 4’er arttırarak döngümüz devam eder.

for ( int sayac = 2; i <= 29; i += 4 )

6) Aşağıdaki kod ile 99’dan 0’a kadar sayac değişkenini 4’er 4’er azaltarak döngümüz devam eder.

for ( int sayac = 99; i >= 0; i -= 4 )

Basit bir örnek daha yapalım. 3’den 30’a kadar, 3 ve 30 dahil sayılardan 3’e tam bölünebilen sayıların toplamını bulalım.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication10
{
    class Program
    {
        static void Main(string[] args)
        {
            //toplam değişkenimiz
            int toplam = 0;
            //döngümüz
            for (int sayac = 3; sayac <= 30; sayac += 3)
            {
                //her sayac değerini toplam ile topluyoruz
                toplam += sayac;
            }
            //Sonucu ekrana yazdırıyoruz
            Console.WriteLine("Toplam Değer: {0}", toplam);
            Console.ReadLine();
        }
    }
}

Sonuç olarak ekrana 165 yazdırılır.

Basit bir uygulama daha yapalım. Bir kişi yıllık %3 faiz veren bir bankaya 3000 lirasını yatırmak istiyor. Bu para 10 yıl boyunca bankada saklanacak. Tabi her yılın sonunda biriken faiz miktarı yani faiz geliri ana paranın üstüne eklenip bir sonraki yıl bu eklenmiş gelirle birlikte faiz tekrar hesaplanacak. Toplam 10 yıl boyunca bu para bankada kalacak. 10 yıl boyunca her yıl bu kişinin ne kadar parası olur görelim.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication10
{
    class Program
    {
        static void Main(string[] args)
        {
            //her yılın sonundaki faiz miktarı
            decimal faizmiktar;
            //anaparamız
            decimal anapara = 3000;
            //faiz oranı %3 olduğu için, 0.03 değeri
            double oran = 0.03;
            //yazdırma
            Console.WriteLine("Yıl", "Yıl sonu toplam para");
            //döngümüz
            for (int sayacYil = 1; sayacYil <= 10; sayacYil++)
            {
                faizmiktar = anapara * ((decimal)Math.Pow(1.0 + oran, sayacYil));
                Console.WriteLine("{0,4}{1,20:C}", sayacYil, faizmiktar);
            }

            Console.ReadLine();
        }
    }
}

2013051102

3 yorum

  1. Hocam merhaba sitenizin teması çok hoş ismini benimle paylaşır mısınız acaba?

  2. Teşekkürler. Sahifa temasını kullanıyorum.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir