Matlab’de switch-case (değiştir-durum) yapısı, Matlab’de İf – Else Yapısı makalemde gördüğümüz if, else ve elseif yapılarının kullanımına bir alternatif getirir. Aslında switch-case ile yapılan herşey if yapılarıyla da yapılır ama switch-case ile yazılan programlar daha okunabilir bir özelliğe sahiptir.
Genel formatı;
Giriş ifadesi, her bir case değeri ile karşılaştırılır. Her bir case değeri ayrı bir satırda olmalıdır.
Kod yapısı aşağıdaki gibidir.
switch (giris_ifadesi) %skaler veya karakter dizgesi case ifade1 işlem - 1 case ifade2 işlem - 2 . . otherwise işlem - n end
Ör #1: Switch-Case kullanarak haftanın kaçıncı günde olduğumuzu yazdığımızda bize hangi günde olduğumuzu ekrana yazan bir program yazalım.
gun = input('Haftanın Kaçıncı Günündeyiz : '); switch (gun) case 1 disp('Pazartesi'); case 2 disp('Salı') case 3 disp('Çarşamba'); case 4 disp('Perşembe'); case 5 disp('Cuma'); case 6 disp('Cumartesi'); case 7 disp('Pazar'); otherwise disp('Hatalı bir rakam girdiniz.'); end
Ör #2: Switch-Case kullanarak girilen 2 değer arasında işlem yapma.
disp('1. Girilen 2 sayının toplamı.'); disp('2. Girilen 2 sayının farkı.(Mutlak Olarak)'); disp('3. Girilen 2 sayının çarpımı.'); disp('4. Girilen 2 sayından büyük olanı yazdır.'); disp('5. Girilen 2 sayından küçük olanı yazdır.'); i = input('Hangi İşlem Yapılsın : '); x = input('2 Sayıdan Birincisini Girin : '); y = input('2 Sayıdan İkincisini Girin : '); switch (i) case 1 deger = x+y; case 2 deger = abs(x-y); case 3 deger = x*y; case 4 deger = max(x,y); case 5 deger = min(x,y); otherwise deger = 'Hatalı bir rakam girdiniz.'; end disp(deger);
Ör #3: Switch-Case kullanarak 1 ile 10 arasında girilen bir sayının tek mi çift mi olduğunu ekrana yazdıralım.
sayi = input('1 ile 10 Arasında Bir Sayı Giriniz : '); switch (sayi) case {1,3,5,7,9}, sonuc = 'Sayı Tek.'; case {2,4,6,8,10}, sonuc = 'Sayı Çift.'; otherwise sonuc = 'Girdiğiniz Sayı 10dan Büyük mü ?'; end disp(sonuc);
Sevgiler.
Bir önceki yazımız olan Matlab'de İf - Else Yapısı başlıklı makalemizi de okumanızı öneririz.