8 Şubat 2016 Pazartesi

C++ - If - Else Yapısı

If - Else yapısı yine döngüler gibi bir çok dilde ortak şekilde kullanılır.

Türkçe karşılığı kullanım amacını genel olarak anlatmaktadır.

Eğer ve Değilse anlamı taşır.

if( şart ) şeklinde tanımlanır. Bundan sonra gelen else ise şart sağlanmazsa devreye girer

Örneğin;


if( şart ){
   
   şart sağlandı.

}


else{
   
   şart sağlanmadı.
}

else yapısı kullanılmak zorunda değildir. Eğer sadece if tanımlanırsa IDE derleme sırasında if 'i görür şarta bakar şart sağlanıyorsa if içerisine girer işlemi yapar çıkar.
eğer şart sağlanmıyorsa if içerisine girmez if bloğunu atlar ve derlemeye devam eder.


else yapısında bir şart belirtilmez. else verilen şartın gerçekleşmemesi durumdaki tüm şartları sağlar.

Eğer farklı şartlarda kontrol edilmek isteniyorsa, devreye else if yapısı girer.

Örneğin;



if( 1.şart ){
   
   1.şart sağlandı.

}


else if(2.şart){

   2.şart sağlandı.

}

else{
   
   şart sağlanmadı.
}


Burada önemli nokta 2.şart yalnızca 1.şart sağlanmamışsa kontrol edilir.

IDE if şartı sağlanmadığı zaman if den sonra gelen else if şartına bakar eğer buda sağlanmamışsa ondan sonra gelen else if şartına bakar. Yani if den sonra istenildiği kadar else if tanımlanabilir.



if( 1.şart ){
   
   1.şart sağlandı.

}


else if(2.şart){

   2.şart sağlandı.

}

else if(3.şart){

   3.şart sağlandı.

}

.
.
.

else if(n.şart){

   n.şart sağlandı.

}

else{
   
   şart sağlanmadı.
}

İf- Else Yapısı ile seçilen matematik işlemini yapan bir uygulama yapalım.

Örneğin Toplama işlemi için 1 Çarpma işlemi için 2 komutunu girilsin daha sonra kullanıcıdan 2 sayı alınsın ve uygulama seçilen işlemi yapsın...

__________________________



int secenek,a,b,sonuc=0;

cout << "Lutfen Islem Seciniz ..." << endl

<< "Topla islemi icin 1" << endl

<< "Carpma islemi icin 2 girin.." << endl;

cin >> secenek;

cout << "1.sayiyi girin :";

cin >> a;

cout << "2.sayiyi girin :";

cin >> b;

if (secenek == 1) {

sonuc = a + b;

}

else if (secenek == 2)

{
sonuc = a * b;
}

else 
{
cout << "Hatali Giris Yaptiniz ...";

}


Kodlarımız Bu şekilde olacaktır.

Şimdi Visual Studio ortamında düzenleyip çalıştıralım.











Sonuç bu şekilde olacaktır.

Buradaki Örnekler amaca göre şekillenip çoğalabilir.


Örneğin bizim yazdığımız algoritmada önce işlemi sonra 1. ve 2. sayıyı istemektedir. fakat kullanıcı işlem seçerken yanlış bir giriş yapsa bile sayılar isteniyor bunun yerine öncelikle sayıları almak daha mantıklı olacaktır algoritmanın bu halini siz yazabilirsiniz.

C++ - For ve While Döngüleri

Algoritma oluştururken belli amaçlar doğrultusunda döngülere ihtiyaç duyacağız. Döngüler belli bir işi belli bir süre boyunca tekrarlatmaya yarayan araçlardır. Birçok dilde olduğu gibi C++ dilindede bu araçlar kullanılmaktadır. Şimdi belli örneklerle bu döngülere değinelim.


For Döngüsü
For döngüsü bir sıralı 3 kural ile tanımlanır

örneğin for(int i=0; i<=10; i++) Buradan şu anlam çıkarılmalıdır.
bir int i sayısı 0 dan 10 sayısına eşit olana kadar i sayısını arttır.

veya i sayısı 10dan küçük veya 10'a eşit olduğu sürece i sayısını 1 arttır.


Bir for döngüsü IDE tarafından derlenirken öncelikle ilk şarta bakar.
int i=0 " bu şarta sadece 1 kez bakıyor. IDE döngüye tekrar döndüğünde artık 2. şarta ve sonra 3. şarta bakacak.

Not: i sayısı for dögüsü içerisinde tanımladığı için döngü içerisinde geçerlidir ve yerel bir değişkendir yani döngü bittiği zaman i sayısı unutulur.


IDE 
int i=0 gördükten sonra i<=10 şartına bakar burada i sayısı 0 'a eşit olduğu için şartın sağlandığını görecek ve ikinci şarta geçecek.


i++ şartını görünce i sayısını kullanıp daha sonra 1 arttıracak ve döngüye tekrar geldiğinde i sayısı 1 e eşit olacak.
Şimdi bu örneği alt alta i sayısını yazdırarak inceleyelim.

for döngüsü şartlarını belirledikten sonra for döngümüze bir blok ekleyip gerekli kodları yazalım.
for(int i=0; i<=10; i++){

   cout<<i<<endl;


}


şeklinde yazabiliriz. Döngü az önce bahsettiğimiz şekilde çalışacak ve her seferinde i sayısının değerini yazdırıp bir alt satıra geçecektir.











Kodları resimdeki gibi yazıp derlediğimizde sonuç olarak 0 dan 10 kadar olan sayıların alt alta yazılğını göreceğiz.





While Döngüsü


While dögüsü for döngüsünden farklı olarak tek bir şart gözetir.
örneğin while(i<=10) olarak tanımlanan bir döngüde " i sayısı 10dan küçük veya 10 a eşit olduğu sürece " şartı görülmektedir. 

Döngü bu şart sağlandığı sürece çalışacaktır.

Az önce for döngüsü ile yaptığımız örneği şimdi bir while döngüsü ile yapalım.

Kodumuz şu şekilde olacaktır.



int i=0;


while(i<=10){

    
   cout<<i<<endl;
   i++;

}


İşlem önceki örneğimizde yazdığımız for döngüsü ile tam olarak aynı işlemi yapmaktadır. 

Farklı olarak i değişkenimiz yerel bir değişken değildir.
Yani döngü bittiğinde i sayısı son olarak hangi sayı değerine sahipse o değere atanmış olarak kalır.

Bunu for döngüsü ilede yapabilirdik döngüden önce bir i değişkeni tanımlayıp for döngüsü şartına (i=0; i<=10; i++) yazmak bu işlemle aynı sonucu verir.
Burada şartlardaki çeşitli değişikler veya amaçlara göre örnekler türetilebilir.


Do While Döngüsü


Do While Döngüsü While döngüsünden farklı olarak öncelikle işi yapıp daha sonra kontrol etmesi amacı ile kullanılır.

Tanımlanırken;


int i=0;


do{

    
   cout<<i<<endl;
   i++;

}while(i<=10);


şeklinde yazılır. Bu koddaki işlem az önceki ile aynı sonucu vericektir fakat algoritma yazma aşamasında önce işlemin yapılıp daha sonra şartın kontrol edilmesi istenirse Do-While Döngüsüne başvurulur.