Plazma sayı 7, sayfa 35

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 35

Geçen sayıda gördüğümüz while döngüsüne çok benzeyen bir yapı ile karşı karşıyayız.

do Komut1; Komut2; Komut 3; ) while ( kosul );

Bu döngü de tıpkı while döngüsünde olduğu gibi koşul doğru olduğu müddetçe verilen kod bloğunu çalıştıracaktır. While döngüsünden tek farkı ise kod bloğunun en az bir kere çalışacak olması. Bunun sebebi, while döngüsünde koşul kontrolü en başta yapılırken, do-while döngüsünde kontrolün sonda yapılıyor olması.

For Döngüsü

Anlatım sırası olarak önce while ve do-while yapılarını anlatmamızın sebebi onların if ile olan benzerlikleri idi. Aslında en sık kullanılan döngü tipi belki de for döngüsüdür. Gelin bir göz atalım. i=0; i<5; i++

for( int iİ — Ü; t*ti)

1 Komut1; Komut2; Komut 3; )

Burada for satırı önemli. Bu satırda parantez içinde kalan bölüm döngünün nasıl çalışacağını tanımlıyor. Bu bölüm kendi içinde aslında üç parçaya bölünmüştür. Bu üç parçayı iki adet noktalı virgül (;) ayırıyor.

1. i=0: başlangıç bölümü. Burada i adında bir döngü sayacı tanımlanmış. 2. döngüye devam koşulu.

3. döngü. Burada döngü sayacı 1 artırılmış. ++ operatörü böyle kullanılarak, tamsayı cinsinden bir değişkenin değerini bir artırabilir. Burada ++i yazmak yerine i = i + 1 da yazabilirdik, aynı şey olurdu.

Döngüler konusunda hatırlamamız gereken son şey her üç döngü yapısından da break komutu ile çıkabileceğimiz.

if bloklarına alternatif:

Switch - case

Eğer bir değişkeni alıp bu değişkenin değerine göre çok sayıda kod bloğundan birini çalıştırmak istiyorsak (örneğin menü komutu işleme vs. gibi senaryolarda), bunu geçen bölümde gördüğümüz gibi if-else if blokları ile yapabiliyoruz. Ancak bunu yapmanın (belki) biraz daha kolay bir yolu da switch case yapısını kullanmaktır.

switch( degisken (

case 1: komut1; komut2; break; case 2: komut 3; break; case 3: komut4; break; default: komut 6; break;

Burada değişkenin değeri 1 ise komut1 ve komut2 çağırılır. Değer 3 ise komut4 ve komut5 çağırılır. Eğer değer 1, 2 veya 3'ten farklı bir değer ise de komut6 çağırılır. Burada dikkat edeceğiniz bir diğer şey break komutları. Eğer break komutları konulmazsa program akışı bir alttaki case bloğundaki komutlardan çalışmaya devam eder. Bu da genellikle istenmeyen bir durumdur. Eğer bu istenen bir durum ise bile genelde kodu okumayı ve anlamayı zorlaştıracağı için tavsiye etmiyorum.

Döngü Örneği

Döngüleri kullanarak bir örneğe bakalım:

#include <iostream> int main()

// kac sinav oldugunu al << “Kac sinav oldu? "; int kacSinav; >> kaeSinav;

// dongu ile notlari al ve topla int toplam - O;

forlint is0O; i<kacSinav; hi) ( int not; stdı:cout << “sinav notu:

sStdi;cin >> not; toplam - toplam * not; )

// sonucu hesapla ve goster int ortalama toplam / kacSinav; std::cout << “Yapilan ” << kacSinav << “ sinavin ortalamasi: ” << ortalama << std::endi; )

Şu ana kadar öğrendiklerimizi kullanarak nispeten faydalı küçük programcıklar yazabilmeye başladık.

Klavyeyle gezinmek için ← ve → tuşları.