17
Bilgisayar Programlama (4. Sunum)

Bilgisayar Programlama ( 4. Sunum )

Embed Size (px)

DESCRIPTION

Bilgisayar Programlama ( 4. Sunum ). İLİŞKİSEL OPERATÖRLER. İlişkisel operatörler, işlenenleri arasındaki eşitlik, eşitsizlik, büyüklük veya küçüklük türünden ilişkileri belirleyen operatörlerdir. - PowerPoint PPT Presentation

Citation preview

Page 1: Bilgisayar Programlama ( 4.  Sunum )

Bilgisayar Programlama

(4. Sunum)

Page 2: Bilgisayar Programlama ( 4.  Sunum )

İLİŞKİSEL OPERATÖRLER

İlişkisel operatörler, işlenenleri arasındaki eşitlik, eşitsizlik, büyüklük veya küçüklük türünden ilişkileri belirleyen operatörlerdir.

== Eşit Mi?

~= Eşit Değil Mi?

> Büyük Mü?

>= Büyük veya Eşit Mi?

< Küçük Mü?

<= Küçük veya Eşit Mi?

Page 3: Bilgisayar Programlama ( 4.  Sunum )

İlişkisel operatörler sonuç olarak 1 (BİR) (true) veya 0 (SIFIR) (false) değerlerini üretirler.

Page 4: Bilgisayar Programlama ( 4.  Sunum )

Eşitlik testinde 2 adet "==" işareti kullanılır. Oysa değişken atamalarında kullandığımız eşittir "=" 1 tanedir.

MATLAB komut penceresinde 3=5 yazdığımızda program hata verir. Oysa 3==5 yazdığımızda bu “3, 5'e eşit midir?" anlamına gelir, karşılaştırma yanlıştır ve MATLAB bu durum için 0 (Sıfır) sonucunu üretir.

Page 5: Bilgisayar Programlama ( 4.  Sunum )

İLİŞKİSEL OPERATÖRLERİN ÖNCELİK SIRALARI

İlişkisel operatörler aritmetik operatörlerden daha düşük bir işlem önceliğine sahiptirler.

Örneğin komut penceresinde 3+4<7-5 şeklinde çalıştırılacak bir MATLAB deyimi arka planda önce 7<2 formuna dönüştürülür ve ilişkisel test (küçüklük testi) daha sonra gerçekleştirilir.

Benzer şekilde i+j==10 gibi bir eşitlik testi, öncelikle hesaplanan i+j aritmetik işleminin sonucu ile 10 sayısı arasında gerçekleştirilir.

Yukarıdaki deyimler, karışıklığa meydan vermemek için (3+4)<(7-5) ve (i+j)==10 formlarına sokulabilirler.

Page 6: Bilgisayar Programlama ( 4.  Sunum )

Mantıksal operatörler de ilişkisel operatörler gibi sonuç olarak 1 (BİR) (true) veya 0 (SIFIR) (false) değerlerini üretirler.

MANTIKSAL MATLAB

OPERATÖRLERİ

İŞLEVLERİ

a&&b VE (AND)

a||b VEYA (OR)

~a DEĞİL (NOT)

MANTIKSAL OPERATÖRLER

Page 7: Bilgisayar Programlama ( 4.  Sunum )

A B A && B

0 0 0

0 1 0

1 0 0

1 1 1

MANTIKSAL OPERATÖRLERİN DOĞRULUK TABLOLARI

A B A || B

0 0 0

0 1 1

1 0 1

1 1 1

01

10

~AA

Page 8: Bilgisayar Programlama ( 4.  Sunum )

>> k=5;>> m=7;>> (k>6) && (m<8)

ans =

0

 

Page 9: Bilgisayar Programlama ( 4.  Sunum )

İlişkisel ve mantıksal operatörler her zaman bool tipinde (yani 1 (true) veya 0 (false) değerinde, başka bir ifadeyle sadece iki değerli) bir sonuç geriye döndürürler. Dolayısıyla if ve while deyimleri ile birlikte karar verme amacıyla kullanılabilirler.

Page 10: Bilgisayar Programlama ( 4.  Sunum )

if Deyiminin Üç Farklı Kullanım Şekli vardır:

if koşul işlem(ler)end

Bir karşılaştırma ifadesini veya mantıksal bir ifadeyi test ederek bunun sonucuna göre mümkün seçeneklerden birini icra edebilen bir komuttur.

if Şartlı Deyimi

if koşul işlem(ler)else işlem(ler)end

if koşul1 işlem(ler)

elseif koşul2 işlem(ler) else işlem(ler) end

koşul dediğimiz şey bir karşılaştırma ifadesi (a>b gibi) ya dabir mantıksal ifadedir (a&&b gibi).

Page 11: Bilgisayar Programlama ( 4.  Sunum )

Klavyeden girilen iki sayının oranını bulan ve fprintf komutuyla ekrana basan bir MATLAB düzyazı m-programı yazınız. (Programınız payda sıfır girildiğinde disp komutuyla ekrana “Uzgunum! Sifira Bolum Hatasi Var.” mesajını yazdırmalıdır.)

clc; %Komut penceresini temizle

clear; %Degiskenleri silpay = input('Lutfen Payi Giriniz: '); payda = input('Lutfen Paydayi Giriniz: ');

if payda==0

disp('Uzgunum! Sifira Bolum Hatasi Var.');else

oran=pay/payda;fprintf('Oran = %f \n',oran);

%disp(['Oran = ' num2str(oran)]);end

payda

payoran

UYGULAMA

Programınızı en az kaç kez çalıştırmalısınız?

Page 12: Bilgisayar Programlama ( 4.  Sunum )

Örnek: Kullanıcıdan klavye yoluyla alınan x ve y değerlerine göre aşağıdaki sonuçlardan birini hesaplayan bir MATLAB programını bir m-dosyası içine yazınız ve komut penceresinden dosya adı ile çalıştırınız.

x>y ise sonuc= (x-y)

x=y ise sonuc=(x+y)7

x<y ise sonuc=x*y

x=input('Lutfen x Degerini Giriniz : ');

y=input('Lutfen y Degerini Giriniz : ');

if x>y

sonuc=sqrt(x-y);

elseif x==y

sonuc=(x+y)^7;

else

sonuc=x*y;

end

disp(sonuc);

Uygulama2.m

m-dosyalarını oluşturduğunuz

MATLAB metin editörünün

program yazma stiline

müdahale etmeyiniz !!!!!

>>Uygulama2

Programınızı en az kaç kez çalıştırmalısınız?

Page 13: Bilgisayar Programlama ( 4.  Sunum )

Girilen ay numarasına göre gün sayısını hesaplayan MATLAB programını yazınız.

ay=input('Bir Ay Numarasi Giriniz (1-12)= '); if ay==1 || ay==3 || ay==5 || ay==7 || ay==8 || ay==10 || ay==12

disp('Bu Ay 31 Gunden Olusur. ');

elseif ay==2

disp('Bu Ay 28 Gunden Olusur.');elseif ay==4 || ay==6 || ay==9 || ay==11

disp('Bu Ay 30 Gunden Olusur.');else

disp('Yanlis Bir Ay Numarasi Girdiniz.');end

UYGULAMA

Programınızı en az kaç kez çalıştırmalısınız?

Page 14: Bilgisayar Programlama ( 4.  Sunum )

ayNo = input('Bir Ay Numarasi Giriniz (1-12)= ');

switch ayNo

case {1,3,5,7,8,10,12}

disp('Bu Ay 31 Gunden Olusur.');

case 2

disp('Bu Ay 28 Gunden Olusur.');

case {4,6,9,11}

disp('Bu Ay 30 Gunden Olusur.'); otherwise

disp('Yanlis Bir Ay Numarasi Girdiniz.');

end

switch Şartlı Deyimi

Page 15: Bilgisayar Programlama ( 4.  Sunum )

PROGRAMLARIMIZI ÇALIŞTIRMA

Yazdığımız programlar ya hiç çalışmazlar ya da çalışırlar ama beklediğimiz sonuçları üretmezler.

Yazdığımız bir program çalışmaz ise eğer bize bunun nedenlerini komut penceresine hatalı bölümlere ait satır ve sütun bilgilerini basarak bildirir. Ayrıca MATLAB bizlere programlarımızı yazdığımız editörün sağ tarafında turuncu çizgiler şeklinde muhtemel hatalar hakkında ipuçları da verir.

Page 16: Bilgisayar Programlama ( 4.  Sunum )

HATA AYIKLAMA (DEBUGGING) NE UMUYORDUM NE BULDUM?

m-dosyası editörünün hata ayıklamaya (debugging) yarayan fonksiyonlarını ve calışma alanı (workspace) penceresini kullanarak çalışan programınızdaki (!! BEKLEDİĞİNİZ GİBİ ÇALIŞMAYAN !!) hataları bulabilirsiniz. Bunun için herhangi bir program satırına kesme noktası (breakpoint) koymalı ve programınızı F10 tuşu ile satır satır işletmelisiniz.

Page 17: Bilgisayar Programlama ( 4.  Sunum )

HATA AYIKLAMA

Hata Ayıklama modundan komut satırında return komutunu işleterek çıkabilirsiniz. Ayrıca m-dosyasının içerisindeki kesme noktasını üzerini tıklayarak kaldırmalısınız.

K>>return

>>