Şart Bildirimleri
İlişkisel Operatörler for, elseif ve while bildirimlerinde aşağıdaki ilişkisel operatörler kullanılır: Đlişkisel Operatörler Simge Anlamı > Büyüktür < Küçüktür = = Eşittir >= Büyük eşittir <= Küçük eşittir = Eşit değildir NOT!!! == ile= aynı şey değildir. ==iki değeri karşılaştırırken, = değişken atama işlemi görür.
Standart Mantıksal Operatörler "&" (ve) (veya), (not). Mantıksal işlemlerde 1, doğru; 0, yanlış olarak düşünülebilir.
If Đngilizce' de -eğer, -ise anlamına gelir. Yani biz burada If deyimini kısaca özetlemek istersek; If deyimini kullandığımızda "eğer şu iş şöyle ise yap" demiş oluyoruz. Else yani -başka deyimini kullandığımızda ise "şu iş şöyle değilse bunu yap" demiş oluyoruz.
if şartlı deyimi MATLAB Bir bilgisayar programı yazarken, ilgili problemin akış diyagramında işlemlerimiz bir şarta bağlı olarak şart yapılacaksa bu durumda if yapısını kullanırız. İşlem bloğu if yapısı bir şart ile başlar. Şarta uygun olarak işlemler gerçekleştirilir. deyimi ile if yapısı sonlandırılır. son Bu yapı ana programın bir parçasıdır.
if şartlı deyimi if şartlı deyimi 3 farklı şekilde oluşturulur. 1 2 MATLAB 3 ifşart işlem ifşart 1 işlem 1 else işlem 2 ifşart 1 işlem 1 elseif şart 2 işlem 2 else işlem 3
if şartlı deyimi MATLAB if yapılarından herhangi birinin şartına ait işlem yine ayrı bir şart gerektirdiği durumlarda bu if yapılarını iç içe de kullanabiliriz. ifşart 1 else ifşart işlem ana işlem bloğu alt işlem bloğu işlem 2
% DENEME 8: girilen notlardan harfli notun bulunması not=input( 1 ve 100 arasında bir not giriniz= '); if not<=0 disp( lütfen 1 ve 100 arasında bir not giriniz') not=input( 1 ve 100 arasında bir not giriniz= '); else ifnot>=81 harfli_not='aa' elseif(not>=76 & not<=80) harfli_not ='BA' elseif(not>=70 & not<=75) harfli_not ='BB') elseif(not>=60 & not<=69) harfli_not ='CB'; elseif(not>=50 & not<=59) harfli_not ='CC'; elseif(not>=45 & not<=49) harfli_not ='DC' elseif(not>=40 & not<=44) harfli_not ='DD' elseif(not>=30 & not<=39) harfli_not ='FD' elseif(not>=1& not<=29) harfli_not ='FF' if. else if elseif elseilf
Örnek: Bazı değerleri kontrol eden bir program yazdığımızı düşünelim. a yı verince, ve şayet bu değer 3 den büyükse değerin yarısını alsın. Bu nu düz yazı dosyası olarak yazalım. >> a=pi a = 3.1416 >> ifa>3 a=a/2 a = 1.5708
Örnek: >> a=exp(1) a = 2.7183 >> if a<1 a=a*2 elseif 1<a&a<3 a=a-1 else a=a/2 a = 1.7183 >> a=-7 a = -7 >> if a<1 a=a*2 elseif 1<a&a<3 a=a-1 else a=a/2 a = -14 >> a=8 a = 8 >> if a<1 a=a*2 elseif 1<a&a<3 a=a-1 else a=a/2 End a = 4 A 1 ile 3 arasında olduğundan a= 1.7183 A 1 den küçük olduğundan a= -14 A 3 den büyük olduğundan a= 4
Örnek: Şayet a, b den küçük ve aynı zamanda b büyük yada eşitse c ye aşağıdaki gibi yazılır: if(a < b) (b >= c) Matlab komutu else Matlab komutu
switch-case yapısı switch-case (değiştir-durum) yapısı, yukarıda gördüğümüz if, else ve elseif yapılarının kullanımına bir alternatif getirir. Aslında switchcase 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. switch giriş ifadesi (skaler veya karakter dizgesi) case ifadesi deyim grubu-1 case ifadesi deyim grubu-2.. otherwise deyim grubu-n
disp('1.secenek toplar'); disp('2.secenek cıkarır'); disp('3.secenek çarpar'); disp('4.secenek max bul'); disp('5.secenek min bul'); disp('--------------------------'); x=input('1. sayıyı giriniz x= '); y=input('2. sayıyı giriniz y= '); disp('--------------------------'); disp('secenek gir'); secenek=input('seciniz '); switch(secenek) case 1 toplam=x+y case 2 fark=x-y case 3 carpim=x*y case 4 maximum=max(x,y) case 5 minimum=min(x,y) 1.secenek toplar 2.secenek cıkarır 3.secenek çarpar 4.secenek max bul 5.secenek min bul -------------------------- 1. sayıyı giriniz x= -8 2. sayıyı giriniz y= 5 -------------------------- secenek gir seciniz 4 maximum = 5
Örnek: sindeg.m adlı bir dosyada, girilen bir açı değerinin hangi bölgede olduğu ve sinüs değerinin ne olduğunu bulmak için aşağıdaki kodu giriniz. >> angle=input('bir aci giriniz: '); switch fix(angle/90) case 0 disp('i. Bolge ve pozitif') case 1 disp('ii. Bolge ve pozitif') case 2 disp('iii. Bolge ve negatif') case 3 disp('iv. Bolge ve negatif') otherwise disp('0 ile 360 arasinda bir deger giriniz') Bir aci giriniz: 30 I. Bolge ve pozitif >> angle=input('bir aci giriniz: '); switch fix(angle/90) case 0 disp('i. Bolge ve pozitif') case 1 disp('ii. Bolge ve pozitif') case 2 disp('iii. Bolge ve negatif') case 3 disp('iv. Bolge ve negatif') otherwise disp('0 ile 360 arasinda bir deger giriniz') Bir aci giriniz: 650 0 ile 360 arasinda bir deger giriniz
fix: Sıfıra doğru yuvarlatma yapar >> angle=260; switch fix(angle/90) case 0 disp('i. Bolge ve pozitif') case 1 disp('ii. Bolge ve pozitif') case 2 disp('iii. Bolge ve negatif') case 3 disp('iv. Bolge ve negatif') otherwise disp('0 ile 360 arasinda bir deger giriniz') I. Bolge ve pozitif >> angle=260; switch fix(angle/90) case 0 disp('i. Bolge ve pozitif') case 1 disp('ii. Bolge ve pozitif') case 2 disp('iii. Bolge ve negatif') case 3 disp('iv. Bolge ve negatif') otherwise disp('0 ile 360 arasinda bir deger giriniz') III. Bolge ve negatif
Örnek: yon.m adlı bir dosyada, bir pusulanın kuzeye göre verilen tamsayılı bir açı değerine göre yönün ne olduğunu bulmak için aşağıdaki kodu giriniz. >> angle=input('yön bulma için bir aci giriniz: '); switch angle case {0, 360}, disp( Kuzey') case { -180, 180}, disp( Güney') case { -270, 90}, disp( Doğu') case { -90, 270}, disp( Batı') Otherwise, disp(böyle bir yön yoktur') Yön bulma için bir aci giriniz: 90 Doğu case ifadesinde birden fazla değer { } ile verilir Yön bulma için bir aci giriniz: -180 Güney
ÖDEV 5: İfdeyimi veya switchyapısını kullanarak bir Matlab programı (düz yazı dosyası) hazırlayın. Ödev, 31 Mart 2014 tarihine kadar Arş. Gör. Ufuk KANDİL eteslim edilmelidir.