Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
İlişkisel operatörler İlişkisel operatörler iki değeri karşılaştırmak için kullanılır sonuç doğru veya yanlış değerindedir. Karşılaştırılan değer veri tipleri (char, int, float vs) ve sınıf olabilir. operatöranlamı >Büyüktür <Küçüktür ==Eşittir !=Eşit değildir >=Büyük veya eşititr <=Küçüktür veya eşititr
Anot=50; Bnot=10Değer atama (Anot==Bnot)false (Bnot<=10)true (Anot>Bnot)true (Anot>=50)true (7<Bnot)true (0)Yanlış, tanım gereği (44)true Eşittir operatörü iki tane eşittir olmalıdır. O false değerinde diğer sayılar true değerindedir.
// ilişkisel operatörlerin kullanımını gösteren örnek #include using namespace std; int main() { int sayi; cout << “sayi giriniz..:”; cin >> sayi; cout << “sayi<10 ….: ” << (sayi < 10) << endl; cout 10 ….: ” 10) << endl; cout << “sayi==10 …: ” << (sayi == 10) << endl; return 0; } Kullanıcı 18 girdiğinde aşağıdaki program çıktısı elde edilir Sayı giriniz …: 18 sayi<10 ….: 0 sayi >10 ….:1 sayi ==10...: 0
Döngüler Döngüler programda, bir bölümün istege uygun olarak tekrar edilmesini sağlar. Tekrarlar bir koşula bağlı olarak sonlandırılır. for while do döngüleri mevcuttur for döngüsü For döngüsü, programın bir parçasını sabit sayıda çalıştırır. For döngüsünde genellikle, önceden kodun ne kadar tekrar edileceği bilinmektedir.
// FOR döngüsüne örnek #include using namespace std; int main() { int j; //sayac tanımlanır for(j=0; j<15; j++) // döngü 0 dan 14’e kadar, cout << 5* j << “ ”; //5 çarpı j ekrana getirilir cout << endl; return 0; }
for döngüsü söz dizimi
FOR Döngüsü Aşağıda verilen şekilde “for” döngü yapısı akış diyagramı olarak gösterilmekte ve genel yazılım formatı verilmektedir;
İlk değer atama Sınama deyimi Döngü gövdesi Artırım deyimi çıkış Yanlış Doğru
// 1 den 10’a kadar olan sayıların karesini alan program // çok ifadeli for döngüsü #include #include // setw manipülatörü için using namespace std; int main() { int sayac; //sayaç değişkeni for(sayac =1; sayac <=10; sayac ++) //1 den 10’ a kadar döngü { cout << setw(4) << sayac; //ilk satırı yazdırır int kare= sayac * sayac; //karesi hesaplanır cout << setw(6) << kare << endl; //ikinci kolon görüntülenir } return 0; }
// faktöryel hesaplamak için for döngüsü kullanımı // #include using namespace std; int main() { unsigned int sayi; unsigned long fakt=1; cout > sayi; //sayıyı gir for(int j=sayi; j>0; j--) fakt *= j; //sayi, sayi-1,..., 2, 1 cout << “Faktöriyel ” << fakt <<“ dır”<< endl; return 0; }
for( j=0, alpha=100; j<50; j++, beta-- ) { // body of loop } Artırım ifaeleri (,) ile ayrılır. for( ; ; )
FOR Döngüsü Örnek yazılım formatları: for (k=1;k<50; k+=2) for (k=5;k<=n; k++) for (x=50;x>10;x--) for ( ;x<10;x++) /* başlangıç değeri daha önce atanmış olmalı */ for (x=2;x<n; ) /* x döngü sayacı döngü içinde değiştirilmeli */
while Döngüsü For döngüsü bir işi belli bir sayıda tekrarlamaya yarar. while döngüsü ise döngüye girmeden ne kadar tekrarlamanın yapılacağı bilinmez. // WHILE döngüsü #include using namespace std; int main() { int n = 99; // n in ilk değeri sıfır olmamalı while( n != 0 ) // n sıfır olana kadar döngü tekrar lanır cin >> n; // klavyeden girilen değeri n’ e ata cout << endl; return 0; }
WHILE Döngüsü
Sınama deyimi Döngü gövdesi çıkış Yanlış Doğru
// sayının küpü #include #include // setw manipülatörü için using namespace std; int main() { int kup=1; //kup 1 int sayi=1; //sayı 1 ata while( kup<200 ) //kup<200 ‘e kadar tekrarla { cout << setw(2) << sayi; //sayıyı yazdır cout << setw(4) << kup<< endl; //kup’ü yazdır ++sayi; //sayıyı artır kup = sayi*sayi*sayi; //küpü hesapla } cout << endl; return 0; }
DO … WHILE Döngüsü “do … while” döngüsü diğer döngüler gibi aynı işlemleri birçok kez tekrarlamak için kullanılır. Farklı olarak, bu döngüde koşul sınaması yapılmadan çevrime girilir ve işlem kümesi en az bir kere işletilir. Bu deyim yapısında da koşul sağlandığı sürece çevrim tekrarlanır. Koşul tek bir karşılaştırmadan oluşabileceği gibi birden çok koşulun mantıksal operatörler ile birleştirilmesi ile de oluşturulabilir.
DO … WHILE Döngüsü
// do while döngüsü include using namespace std; int main() { long sayi, bolen; char ch; do // do döngüsü başlar { cout > sayi; cout > bolen; cout << “bölüm” << sayi/ bolen; cout << “, kalan” << sayi% bolen; cout << “\n Başka işlem yapılacak mı? (e/h): ”; cin >> ch; } while( ch != ‘h’ ); //döngü testi return 0; }