Döngüler

Bu bölümde bir program ınolmazsa olmazlarından olan döngü yapıları anlatıl mıştır. Döngü yapıları içerisinde sıklıkla kontrol değişkeni "1"arttırılır veya "1"azaltılır. Bu matematiksel işlemi klasik yöntemle yapmak mümkündür. Ama programın okunabilirliğini ve yazılabilirliğini art tırmak için C++ dilinde "1" arttırma (++) ve "1" azaltma ( --) operatörleri tanımlanmıştır. Arttırma ve azaltma operatörleri ninilgili değişkenin önünde veya arkasında kullanılmasına bağlı olarak matematiksel işlemlerin sonuçlarına etkisi farklı olabilmektedir. Arttırma ve azaltma operatörleri değişkenden önce kullanılmış ise değişiklik hemen uygulanır .Ama operatörler sonra kullanılmış ise değişiklik bir sonraki satırda geçerlidir.

Bileşik atama operatörleri, benzer şekilde daha az kod yazmak için programlama dilinin yapısına eklenmiş yapılardır. "a = a + 3" şeklinde yazabildiğimiz bir ifadeyi kısa olarak "a +=3" şeklinde yazmak mümkündür. Sadece toplama operatörü değil aynı zamanda çıkarma, çarpma, bölme ve mod operatörü de benzer şekilde matematiksel ifadelerde kullanılabilir.

Döngüler bir veya daha fazla işlemin belirl isayıda veya bir koşul sağlanıncaya kadar tekrarlanmasını mümkün kılan programlama yapılarıdır. C++ programlama dilinde "for", "do...while "ve "while "yapılarıyla üçfarklı şekilde döngü oluşturmak mümkündür. Bir "for"döngüsünü "while "kullanarak veya bir "while " döngüsünü "for"kullanarak yazmak mümkündür. Ama üçsatır yazarak oluşturduğumuz bir "while "döngüsünü tek bir satır kullanarak "for"döngüsü olarak yazmak mümkündür.

Bir döngü döngü oluşturma kurallarına dikkat edilerek oluşturulmalıdır .Döngüye girdikten sonra ister sayaç kontrollü ister bir koşula bağlı olsun bir şek ilde kontrol ifadesini yanlış yapacak bir deyimin gövdede yer alması gerekmektedir .Aksi halde sonsuz döngüye giril ecektir.

"for"döngüsü sayaç kontrollü bir döngü oluşturmak için idealdir. Üç bölümden oluşur. İlk bölüm genellikle sayaç değişkenin intanımlandığı ve başlangıç değer ataması nınyapıldığı bölümdür. İkinci bölüm döngü koşulun untest edildiği bölüm dür. Döngü koşulu doğru olduğu sürece döngü gövdesinde tanımlanmış komutlar çalıştırılır. Son bölüm ise sayaç değerinin problem çözümüne uygun bir şekilde güncellendiği bölümdür. "for"döngüsünün ilk bölümünde tanımlanan değişkenlere döngü dışından da erişilmek isteniyorsa değişken tanımlama işleminin döngüden önce yapılması gereklidir .Aksi halde değişkene sadece döngü içerisinden erişilebilir.

"while"döngüsü daha çok bir koşula bağlı döngü oluşturmak için idealdir. Döngü için tanımlanmış koşul doğru olduğu sürece döngü gövdesindeki komutlar çalıştırılır. Unutulmaması gereken koşul durumunu yanlış yapacak bir ifadenin döngü gövdesinde muhakkak yer alması gerektiğidir.

Programın yapısı gereği bazen döngünün sonlandırılmasını beklemeden çıkmak veya bulunulan iterasyonda bazı adımların atlanması gerekebilir. Bu durumlarda "break "ve "continue "deyimleri kullanılır. Eğer döngü hemen sonlandırılmak isteniyorsa "break "deyimi kullanılır. "continue" deyimi döngü gövdesinde kendisinden sonra yer alan satırların atlanmasını ve döngünün bir sonraki iterasyona başlamasına neden olur.

Döngüler iç içe kullanılarak daha karmaşık problemlerin çözülmesi sağlanır. Hem "for"hem de "while "döngüleri birden fazla kez iç içe tanımlanarak iç içe döngüler oluştur ulabilir. Böyle bir durumda dış döngünün her bir iterasyonunda iç döngü her seferinde yeniden başlatılır. İç içe oluşturulan döngü yapılarında "break "ve "continue "deyimlerinin nerede kullanıldıkları önemlidir. Çünkü bu deyimler sadece gövdesinde yer aldıkları "for"veya "while "döngüsüne aittirler.