5. HAFTA Mart 2016. Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.

Slides:



Advertisements
Benzer bir sunumlar
MATLAB MATrix LABoratory Hazırlayan: S. Murat BAĞDATLI.
Advertisements

EKRAN ÇIKTISI.
Bilgisayar Programlama Güz 2011
Kontrol İfadeleri : 2.Kısım
Ayrık Yapılar Matlab Notları
DÖNGÜ “Şart sağlandığı sürece” içerisindeki komut satırlarını, artış değeri adedince tekrarlayan kodlardır.
switch - case Yapısı Döngü Yapıları
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
2) Sayısal Hesaplamalarda Gerek Duyulabilecek Matlab İşlemleri
Bölüm 2: Program Denetimi
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
MATLAB’ de Programlama
4. KONTROL VE DÖNGÜ KOMUTLARI
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Yapısal Program Geliştirme – if, if-else
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
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,
4. HAFTA Mart 2010.
MATLAB’ de Programlama
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
PROGRAM KONTROL VE DÖNGÜ DEYİMLERİ
Kontrol Yapıları ve Döngüler
Bilgisayar Programlama Güz 2011
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Çoklu dallanma seçimi: switch
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
JAVA’DA DÖNGÜLER.
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)
C++ Ders Notları 4.Ders (Kontrol ve Döngüler)
MATLAB’ de Programlama
Göğüşhan KILIÇ twitter.com/gogushan_kilic PHP IF OLMAYA HAZIR MIYIZ?
Akış Kontrolü ve Döngüler
Bilgisayar Programlama Güz 2011
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
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.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
İnternet Programlama-I
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
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.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BÖLÜM 5 AKIŞ DİYAGRAMLARINDAN PROGRAM KODLAMAYA GEÇİŞ
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
MATLAB R2013’e Giriş.
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BSM208 PROGRAMLAMA DİLLERİNİN PRENSİPLERİ
Excel’de VBA Programlama (Visual Basic Application)
PINAR KARTALO Ğ LU.  Belirli sayıda i ş lemlerin tekrarlanması için kullanılan döngülerdir. for döngüleri ba ş langıç ve biti ş de ğ erleri arasında.
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Bölüm 2: Program Denetimi
Discussion: comp.soft-sys.matlab
Bilgisayar Bilimi Döngüler.
Sunum transkripti:

5. HAFTA Mart 2016

Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the software package Matlab.

if … …. else if … … elseif… … elseilf… … end % 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 if not>=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' end

% DENEME 16: a=10;b=2;x=1;y=4; c(1)=(a+b)*a/(x+y); c(2)=2*a*x^2+x^2*y^2; c(3)=sqrt(a^2-4*x*y)/(2*a); c(4)=a/(a+b)^3+(b*x^2)/y; c(5)=1/3*x+2/7*y+16*a^2*b; c(6)=(3*x^2*y+sqrt(a+b))^(1/3) ; c(7)=x/(a+b/sqrt(y)); c(8)=1+1/(1+1/(1+1/(1+1/x))); d=c'; % DENEME 16: a=input(‘a için sayı giriniz=’) b= input(‘b için sayı giriniz=’); x=input(‘x için sayı giriniz=’) y= input(‘y için sayı giriniz=’); c(1)=(a+b)*a/(x+y); c(2)=2*a*x^2+x^2*y^2; c(3)=sqrt(a^2-4*x*y)/(2*a); c(4)=a/(a+b)^3+(b*x^2)/y; c(5)=1/3*x+2/7*y+16*a^2*b; c(6)=(3*x^2*y+sqrt(a+b))^(1/3); c(7)=x/(a+b/sqrt(y)); c(8)=1+1/(1+1/(1+1/(1+1/x))); d=c';

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 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. switch giriş ifadesi (skaler veya karakter dizgesi) case ifadesi deyim grubu-1 case ifadesi deyim grubu-2. otherwise deyim grubu-n end

Ö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') end

For Döngüsü Bir çok uygulamada belirli işlemlerin tekrar tekrar gerçekleştirilmesi gerekir. Programlamada bu işlemler grubunu çok sayıda tekrar etmek imkanı sağlayan yapılara ÇEVRİM, DÖNGÜ veya LOOP denir. Çevrim, bir tekrarlı işlem yapısıdır. Çevrimdeki işlem sayısını önceden belirleyerek ve bu sayıya ulaşıp ulaşmadığını bir sayaç ile denetleyerek gerçekleştirilen çevrim yapıları Çevrimin sona ermesini bir koşula bağlı olarak kontrol eden çevrim yapıları Genel Kullanımı: for k=başlangıç:adım:son komutlar end

for döngüsü ile yineleme Örnek 1: Aşağıdaki program döngü içindeki hesaplamayı 5 kez yürütür. y'nin ilk değeri 1 olsun. y(1)=1 for i=2:6 y(i)=2*y(i-1); end

Örnek 2: 3X4'lük bir matrisin elemanları şu formüle göre hesaplansın; for döngüsü ile yineleme m=3; n=4; for i=1:m for j=1:n A(i,j)=1/(i+j-1) end

Örnek 3: k=1 for n=0:0.2:1 x(k)=n; f(k)=n*n; k=k+1 end Bu koda f(x)=x2 fonksiyonu [0,1] aralığında ve 0.2 ile artan tüm değerler için çalışıyor. Alternatif gösterim f=x.*x

While Döngüsü Önceden belirlenmiş belli bir durum gerçekleşinceye kadar gereken sayıda tekrar edilen ifadeleri içerir. Genel Kullanımı: while durum ifade_1 ifade_2 ….. ifade_n end

Örnek 1: Bu örnekte ilk değeri 3.14 olan bir q değişkeninin değeri, 0.01’den küçük olana kadar sürekli olarak yarılanır. Burada q’nun sondan bir önceki değeri olan , 0.01’den büyük olduğu için döngünün içindeki komut son kez yürütülmüş ve q, bulunmuştur. q’nun son değeri 0.01’den küçük olduğundan döngü içindeki komut bundan sonra yürütülmemiştir q=pi; k=0 while q>0.01 q=q/2 k=k+1 end

a=5 while a<10 a=a+1 end Örnek 3: Ekrana bir ifadeyi 10 kez yazan bir programı WHILE döngüsü kullanarak yazınız. a=0 while a<10 a=a+1; disp(‘Harita Mühendisliği Bölümü') end Örnek 2:

Örnek 4: y=zeros(1,2) x=[2 3] while x>=0 y=y+x x=x-1 disp(y) end Çıktısı;

try…catch a=3 try x=5*a y=3*b catch z=a^2 end try…catch arasındaki ifadelerden x=5*a ifadesinde kullanılan a değişkeni, önceden tanımlanmıştır. Bu yüzden ifade, aynen işletilir. Bu deyimler arasındaki diğer bir ifade olan y=3*b önceden tanımlanmamış bir b değişkeni bulundurduğu için MATLAB bu noktadan itibaren catch ile end arasındaki ifadelerin işletilmesine geçer. Eğer try—catch arasında sadece x=5*a ifadesi bulunuyor olsaydı MATLAB asla catch--- end arasındaki ifadeleri işletmeyecekti.

fprintf Fonksiyonu Genel kullanımı: fprintf(‘ekrana basılacak açıklama %f \n’, deger) Burada %f : Değerin reel sayı olduğunu gösterir \n : Bir satır atlatır deger : Ekrana yazılması istenen sayısal değişkenin adı Diğer yazım biçimleri: %g : Tamsayı değeri basar %e : Üstel değer basar

Örnek 1: >>fprintf(‘pi sayisi = %5.2f \n\n ‘, pi) SONUÇ: pi sayisi = 3.14 Açıklama: %5; eşitlikten sonraki boşluğu (5 karakter).2f; ondalık hane sayısını (2 hane) \n; yazının altındaki boşluğu (2 satır) belirlemektedir.

Örnek 2: fprintf('Döngünün başı\n'); for i = 4:-1:1 fprintf('MERHABA i = %g\n',i); end fprintf('\n Döngünün sonu.\n'); for a=1:10 for b=1:10 carpim=a*b; fprintf(' %d * %d = %d\n ', a, b, carpim) end Örnek 3:

DENEME 9: programı alternatif yapı ile yeniden yazma if number==1 | number==3 | number==5 | number==7 | number ==9 ‘tek sayı' elseif number==2 | number==4 | number==6 | number==8 | number ==10 ‘çift sayı' else ‘sayı 1 ile 10 arasında değildir' end

DENEME 11: programı alternatif yapı ile yeniden yazma for i=1:5 a=a+1 end

DENEME 14: daha fazla uygulama for i=1:2 for j=1:3 A(j,i)=1/(i+j+1) end

% DENEME 16: a=10;b=2;x=1;y=4; c(1)=(a+b)*a/(x+y); c(2)=2*a*x^2+x^2*y^2; c(3)=sqrt(a^2-4*x*y)/(2*a); c(4)=a/(a+b)^3+(b*x^2)/y; c(5)=1/3*x+2/7*y+16*a^2*b; c(6)=(3*x^2*y+sqrt(a+b))^(1/3); c(7)=x/(a+b/sqrt(y)); c(8)=1+1/(1+1/(1+1/(1+1/x))); d=c'; % DENEME 16: a=input(‘enter a’) b= input(‘enter b’); x=input(‘enter x’) y= input(‘enter y’); c(1)=(a+b)*a/(x+y); c(2)=2*a*x^2+x^2*y^2; c(3)=sqrt(a^2-4*x*y)/(2*a); c(4)=a/(a+b)^3+(b*x^2)/y; c(5)=1/3*x+2/7*y+16*a^2*b; c(6)=(3*x^2*y+sqrt(a+b))^(1/3); c(7)=x/(a+b/sqrt(y)); c(8)=1+1/(1+1/(1+1/(1+1/x))); d=c';