BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)

Slides:



Advertisements
Benzer bir sunumlar
Nesneye Yönelik Programlama
Advertisements

Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
OPERATÖRLER.
MATLAB Bilgisayar Programlama Yrd.Doç. Dr. Aslıhan KURNUÇ
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama Güz 2011
EKRAN ÇIKTISI.
Bilgisayar Programlama Güz 2011
JavaScript Birinci Hafta.
Ayrık Yapılar Matlab Notları
Bilgisayar Programlama Güz 2011
Makine Müh. & Jeoloji Müh.
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Bölüm 2: Program Denetimi
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
Bilgisayar Programlama
Nesneye Yönelik Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Operatörler.
Yapısal Program Geliştirme – if, if-else
OPERATÖRLER.
Program Kontrol İfadeleri
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (5. Hafta)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Bilgisayar Programlama Güz 2011
4. HAFTA Mart 2010.
Operatörler ve Denetim Yapıları
MATLAB’ de Programlama
MESAJ KUTUSU.
Kontrol Yapıları ve Döngüler
Bilgisayar Programlama Güz 2011
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
Mantıksal Operatörler ve Denetim Yapıları
MATLAB’te Döngüler.
PHP'de Program Denetimi
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
MATLAB’ de Programlama
Bilgisayar Programlama Güz 2011
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
BMS-301 Kabuk Programlama Güz 2015 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)
2. HAFTA 2. Hafta.
BİLGİSAYAR programlama II
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
İnternet Programlama-I
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Sayısal Analiz / Uygulama
BİLGİSAYAR PROGRAMLAMA Ders 4: Koşula Göre İşlem Yapma Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
MATLAB R2013’e Giriş.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
BM-103 Programlamaya Giriş Güz 2016 (4. Sunu)
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
BM-103 Programlamaya Giriş Güz 2016 (10. Sunu)
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
Excel’de VBA Programlama (Visual Basic Application)
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
Bilgisayar Programlamasına ve Veri Analizine Giriş
Discussion: comp.soft-sys.matlab
Sunum transkripti:

BM-103 Programlamaya Giriş Güz 2012 (3. Sunu) (Yrd. Doç. Dr. Deniz Dal)

İ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?

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

Eşitlik testinde 2 adet "==" işareti kullanılır 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.

AŞAĞIDAKİ MATLAB DEYİMİ NASIL BİR EKRAN ÇIKTISI ÜRETİR?

İ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.

MANTIKSAL OPERATÖRLER MANTIKSAL MATLAB OPERATÖRLERİ 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İN DOĞRULUK TABLOLARI A B A && B 1 A B A || B 1 1 ~A A

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

İ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.

if Deyiminin Üç Farklı Kullanım Şekli vardır: if Şartlı Deyimi 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 Deyiminin Üç Farklı Kullanım Şekli vardır: if koşul işlem(ler) end if koşul işlem(ler) else end if koşul1 işlem(ler) elseif koşul2 işlem(ler) else end koşul dediğimiz şey bir karşılaştırma ifadesi (a>b gibi) ya da bir mantıksal ifadedir (a&&b gibi).

UYGULAMA 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 “Üzgünüm! Sıfıra Bölüm Hatası Var.” mesajını yazdırmalıdır.) Uygulama1.m Programınızı en az kaç kez çalıştırmalısınız? clc; %Komut Penceresini Temizle clear; %Değişkenleri Sil pay=input('Lütfen Payı Giriniz: '); payda=input('Lütfen Paydayı Giriniz: '); if payda==0 disp('Üzgünüm! Sıfıra Bölüm Hatası Var.'); else oran=pay/payda; fprintf('Oran = %g\n',oran); %disp(['Oran = ' num2str(oran)]); end

Ö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 Uygulama2.m x=input('Lütfen x Değerini Giriniz: '); y=input('Lütfen y Değerini Giriniz: '); if x>y sonuc=sqrt(x-y); elseif x==y sonuc=(x+y)^7; else sonuc=x*y; end disp(['f(x,y)= ' num2str(sonuc)]); Programınızı en az kaç kez çalıştırmalısınız? m-dosyalarını oluşturduğunuz MATLAB metin editörünün program yazma stiline müdahale etmeyiniz !!!!! >>Uygulama2

UYGULAMA Girilen ay numarasına göre gün sayısını hesaplayan MATLAB programını yazınız. Programınızı en az kaç kez çalıştırmalısınız? Uygulama3.m ay=input('Bir Ay Numarası Giriniz (1-12)= '); if ay==1 || ay==3 || ay==5 || ay==7 || ay==8 || ay==10 || ay==12 disp('Bu Ay 31 Günden Oluşur. '); elseif ay==2 disp('Bu Ay 28 Günden Oluşur.'); elseif ay==4 || ay==6 || ay==9 || ay==11 disp('Bu Ay 30 Günden Oluşur.'); else disp('Yanlış Bir Ay Numarası Girdiniz.'); end

switch Şartlı Deyimi ayNo=input('Bir Ay Numarası Giriniz (1-12)= '); Uygulama4.m ayNo=input('Bir Ay Numarası Giriniz (1-12)= '); switch ayNo case {1,3,5,7,8,10,12} disp('Bu Ay 31 Günden Oluşur.'); case 2 disp('Bu Ay 28 Günden Oluşur.'); case {4,6,9,11} disp('Bu Ay 30 Günden Oluşur.'); otherwise disp('Yanlış Bir Ay Numarası Girdiniz.'); end

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.

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. (Derste bu konuyu özetleyen canlı bir uygulama yapılacak.)

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 >>

KİTAPTAKİ 16.1-16.12 ARASI UYGULAMALARI BİRLİKTE YAZALIM VE ÇALIŞTIRALIM.