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

Slides:



Advertisements
Benzer bir sunumlar
Ayrık Yapılar Matlab Notları
Advertisements

Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama Güz 2011
MATLAB’ de Programlama
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
PHP'de Program Denetimi
BM-103 Programlamaya Giriş Güz 2014 (2. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
2. HAFTA MATrix LABoratory MATLAB, mühendislik ve bilimsel uygulamaları ile tüm dünyada bir çok alanda yaygın olarak kullanılan yazılımdır.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
PROGRAMLAMA ve YAZILIM Sayısal Analiz Yrd.Doç.Dr. Zekeriya PARLAK.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Cihan Toprak Begüm Kökçü.  Planlama aşamasında, projenin hedeflerini gerçekleştirmek için uygulanabilir bir plan yapılır. Bunu yapmak için, projenin.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
1. Ders Bir, İki ve Üç Yazarlı Eserlerin Kataloglanması Prof. Dr. Bülent Yılmaz Arş. Gör. Tolga Çakmak.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
Grafik ve Animasyon-II FLASH CS5 Öğr.Gör. Onur BULUT.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama,
Bölüm 3 : Yapay Sinir Ağları (MatLab) Artificial Neural Network
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
6. HAFTA Mart Mantıksal Operatörler & Ve | Veya ~ Değil / Bölme.
BİLGİSAYAR PROGRAMLAMA DERSİ
Excel 2007.
BM-103 Programlamaya Giriş Güz 2016 (8. Sunu)
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
TAM SAYILAR.
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BM-103 Programlamaya Giriş Güz 2016 (7. Sunu)
Problem Çözme ve Algoritmalar
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
Klavye Kullanımı.
BM-103 Programlamaya Giriş Güz 2012 (6. Sunu)
PROBLEM ÇÖZME VE ALGORİTMALAR
Bilgisayar Programlama
Bilgisayar Mühendisliğine Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bölüm 7 İfadeler ve atamalar.
BİLGİSAYAR programlama II
BM-103 Programlamaya Giriş Güz 2016 (6. Sunu)
Bölüm 4: Kontrol Yapıları I (Seçim Yapma)
YAPISAL PROGRAMLAMA Hafta-4
Bilgisayar II 26 Nisan-7Mayıs Öğr. Gör. Feyza Tekinbaş.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Fortran Proglama Dili’nin Esasları
Örnek: Dışarıdan rast gele girilen 10 tane sayıdan kaç tanesi tek ve kaç tanesi çift ayrıca tekleri ve çiftleri ayrı ayrı toplayan programı yazınız. var.
Bilgisayar Bilimi Koşullu Durumlar.
LOJİK KAPILAR (GATES) ‘Değil’ veya ‘Tümleme’ Kapısı (NOT Gate)
Serbest (Basit) Giriş/Çıkış İşlemleri Formatlı Giriş/Çıkış İşlemleri Temel Kütüphane Fonksiyonları (Intrinsic Functions) Karşılaştırma Operatörleri ve.
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
?: KARŞILAŞTIRMA OPERATÖRÜ
NİŞANTAŞI ÜNİVERSİTESİ
Fonksiyonlar ve Alt Programlar
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Bilgisayar Bilimi Fonksiyon Yazma.
Değerler ve Değişkenler
Algoritma Bir problemin çözümü için bir adım adım yaklaşımdır.
MAK212-SAYISAL YÖNTEMLER Sayısal Türev ve İntegral
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
TÜRK DİLİ VE EDEBİYATI II DERS XI
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Sunum transkripti:

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

DÜZYAZI M-DOSYALARI İLE PROGRAMLAMA

MATLAB’DE PROGRAMLAMA MATLAB’de programlama genel olarak iki yolla yapılır: Komut satırında (inline) programlama m-dosyaları ile (m-files) programlama Düzyazı (script) m-dosyaları ile programlama Fonksiyon (function) m-dosyaları ile programlama m-dosyaları oluşturabilmek için ise bir metin düzenleyicisine (editor) ihtiyaç vardır.

Düzyazı M-Dosyaları ile Programlama Bir düzyazı (senaryo dosyası) (script file) özel bir görevi yerine getirmek için gerekli MATLAB komutlarının saklandığı bir metin dosyasıdır. Başka bir ifadeyle; bir hesaplamayı gerçekleştirmek için yazılacak birçok komut dizisi, komut penceresinden tek tek girmek yerine bir dosyada saklanır ve daha sonra bu dosya çalıştırılarak bu komutlar icra edilir. Bu dosyaların MATLAB’in Çalışma Dizini (Current Folder) altında DosyaAdi.m şeklinde saklanmaları gerekir. DOSYA ADLARI TÜRKÇE KARAKTERLER VE BOŞLUKLAR İÇERMEZLER.!!!!!!!! MATLAB DOSYALARI İSİMLENDİRİLİRKEN PASKAL NOTASYONUNDAN FAYDALANILIR. MATLAB programlama ortamı, m-dosyalarının oluşturulmasını kolaylaştıran akıllı bir metin düzenleyicisine (text editor) sahiptir. m-dosyaları Windows’un Notepad i gibi herhangi bir metin düzenleyicisi ile de yazılabilirler. Bir düzyazı m-dosyası oluşturmak için Current Folder penceresinde boş bir alana sağ tıklayıp New File>Script yolu takip edilmelidir.

Programı yazma işlemi bittikten sonra ve programı çalıştırmadan önce muhakkak kaydediniz.

Değişken ve dosya adlarının ilk birkaç karakterini yazdıktan sonra TAB tuşuna basarak MATLAB’in bu adları otomatik olarak tamamlamasını sağlayabilirsiniz.

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

İ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İMLERİ NASIL BİR EKRAN ÇIKTISI ÜRETİR? >>b=a==2 >>c=4+a==5

İ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 = >> x=11; >> 0<=x<9 >> ??  

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

ŞARTLI DEYİMLER

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 else yanında koşul olmaz. if veya elseif yanında olur.

Ö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 else yanında koşul olmaz. if veya elseif yanında olur.

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 1 if, 11 elseif ve 1 else ile çözülemez mi?

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

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