BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Programlama Güz 2011
Advertisements

EKRAN ÇIKTISI.
Bilgisayar Programlama Güz 2011
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Kontrol İfadeleri : 2.Kısım
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
Ayrık Yapılar Matlab Notları
Bilgisayar Programlama Güz 2011
DÖNGÜLER For While Do While.
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ı
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
MATLAB’de Diziler; Vektörler ve MAtrisler
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
MATLAB’ de Programlama
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
5. HAFTA
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İ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
Görsel C# ile Windows Programlama
4. HAFTA Mart 2010.
Bilgisayar Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bilgisayar Programlama Güz 2011
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bilgisayar Programlama Güz 2011
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
JAVA’DA DÖNGÜLER.
MATLAB’te Döngüler.
4. KONTROL VE DÖNGÜ KOMUTLARI
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
MATLAB’ de Programlama
Bilgisayar Programlama Güz 2011
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
BMS-301 Kabuk Programlama Güz 2015 (6. Sunu) (Yrd. Doç. Dr. Deniz Dal)
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
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)
YAPISAL PROGRAMLAMA KAVRAMI
İ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 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler 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.
O R T L G İ M A A Ve Akış şemaları.
DİJİTAL GÖRÜNTÜ İŞLEME Y. Doç. Dr. Esra Tunç Görmüş
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
BİLGİSAYAR PROGRAMLAMA DERSİ 6. DERS NOTU Konu: Matlab’ de Diziler ve Matrisler.
BİLGİSAYAR PROGRAMLAMA DERSİ
Algoritma ve Akış Şemaları
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (4. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Discussion: comp.soft-sys.matlab
Bilgisayar Bilimi Döngüler.
Sunum transkripti:

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

MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI MATLAB’in ondalıklı sayıları yuvarlama amacıyla sıklıkla kullanılan 4 adet hazır fonksiyonu vardır. Bunlar: fix round ceil floor

fix(x) Kendisine parametre (argüman) olarak aldığı x ondalıklı sayısını 0 (Sıfır) yönünde karşılaştığı ilk tamsayıya yuvarlar.

round(x) Kendisine parametre (argüman) olarak aldığı x ondalıklı sayısını kendisine en yakın tamsayıya yuvarlar.

ceil(x) Kendisine parametre (argüman) olarak aldığı x ondalıklı sayısını pozitif sonsuz yönünde karşılaştığı ilk tamsayıya yuvarlar.

floor(x) Kendisine parametre (argüman) olarak aldığı x ondalıklı sayısını negatif sonsuz yönünde karşılaştığı ilk tamsayıya yuvarlar.

BİR SAYININ TAM SAYI VEYA ONDALIKLI SAYI OLUP OLMADIĞININ ARAŞTIRILMASI Bir sayı tam sayı ise sayının kendisi sayının yuvarlanmışına eşittir. Bir sayı yuvarlanmışına eşit değilse ondalıklı bir sayıdır.

UYGULAMA input komutu ile kullanıcıdan klavye yoluyla aldığı sayı bir tam sayı ise ekrana girilen sayı tam sayıdır aksi takdirde girilen sayı ondalıklı sayıdır uyarısını basan bir MATLAB düzyazı m-programı yazınız.

mod FONKSİYONU İLE KALAN BULMA mod(x,y) x sayısının y sayısına bölümünden kalanı verir. x=y*bölüm+kalan x=y*fix(x/y)+mod(x,y)

BİR SAYININ ÇİFT SAYI VEYA TEK SAYI OLUP OLMADIĞININ ARAŞTIRILMASI Bir sayı ikiye tam olarak bölünebiliyorsa yani sayının ikiye bölümünden kalan sıfırsa bu sayı bir çift sayıdır. Bir sayının ikiye bölümünden kalan 1 ise bu sayının bir tek sayıdır.

UYGULAMA input komutu ile kullanıcıdan klavye yoluyla aldığı sayı bir çift sayı ise ekrana girilen sayı çiftdir aksi takdirde girilen sayı tekdir uyarısını basan bir MATLAB düzyazı m-programı yazınız.

rand FONKSİYONU RASTGELE SAYI ÜRETİMİ rand(n,m) fonksiyonu MATLAB’de nxm boyutunda ve elemanları rastgele sayılar olan bir matris oluşturur. Oluşturulan bu rastgele sayılar 0 ile 1 arasındadır ve düzgün dağılımlıdır. Üretilmek istenen matris kare bir matris ise yani n satır sayısı, m sütun sayısına eşit ise rand(n,n) yerine sadece rand(n) kullanılabilir. 0 ile 1 arasında rastgele ondalıklı bir skaler sayı üretmek için ise rand(1) fonksiyonunun kullanımı yeterlidir. Rastgele sayılardan oluşan bu matrisin tüm elemanlarını k gibi bir sayı ile çarparak sayıları 0 ile k aralığına çekebiliriz. Ondalıklı sayılardan oluşmuş bir matrisin elemanlarını yuvarlayıp tamsayı yapmak için herhangi bir yuvarlama fonksiyonunu, mesela round fonksiyonunu kullanabiliriz.

AŞAĞIDAKİ MATLAB DEYİMLERİ KOMUT PENCERESİNDE ÇALIŞTIRILDIKLARINDA NASIL ÇIKTILAR ÜRETİRLER? >> a=rand(1,10) >> b=fix(rand(3,5)) >> c=round(40*rand(5,3)) >> d= 40*round(rand(5,3)) >> e=round(10+40*rand(5,3)) >> f=10+40*round(rand(5,3)) >> g=round(50+250*rand(3,4)) >> h=round(1000*rand(1))

zeros FONKSİYONU İLE SADECE 0’LAR İÇEREN BİR MATRİSİN OTOMATİK OLARAK OLUŞTURULMASI zeros(n,m) fonksiyonu nxm boyutunda (n satırlı ve m sütunlu) ve her bir elemanı 0 olan bir matris üretmek amacıyla kullanılır. Üretilmek istenen matris kare bir matris ise yani n satır sayısı, m sütun sayısına eşit ise zeros(n,n) yerine sadece zeros(n) kullanılabilir. >> zeros(1,3) >> zeros(3,1) >> zeros(4,4) >> zeros(4) >> zeros(3,5) zeros(3,5) deyimi acaba fix(rand(3,5)) deyimi ile aynı sonucu üretir mi?

ones FONKSİYONU İLE SADECE 1’LER İÇEREN BİR MATRİSİN OTOMATİK OLARAK OLUŞTURULMASI ones(n,m) fonksiyonu nxm boyutunda (n satırlı ve m sütunlu) ve her bir elemanı 1 olan bir matris üretmek amacıyla kullanılır. Üretilmek istenen matris kare bir matris ise yani n satır sayısı, m sütun sayısına eşit ise ones(n,n) yerine sadece ones(n) kullanılabilir. >> ones(1,3) >> ones(3,1) >> ones(4,4) >> ones(4) >> ones(3,5) ones(3,5) deyimi acaba ceil(rand(3,5)) deyimi ile aynı sonucu üretir mi?

DÖNGÜLER Birçok uygulamada bazı işlemlerin tekrar tekrar gerçekleştirilmesi gerekir. Bizlere bu imkanı sağlayan programlama yapılarına döngü denir. MATLAB’de döngü oluşturmak amacıyla kullanılan for ve while adında 2 tekrarlama deyimi vardır.

DÖNGÜ OLUŞTURMA KURALLARI 1- Döngü değişkeninin başlangıç değeri belirlenir. 2- Döngü değişkeninin bitiş değeri belirlenir. 3- Döngü değişkeninin bitiş değerine ulaşıp ulaşmadığı test edilir. 4- İstenen işlem gerçekleştirilir. 5- Döngü değişkeni, döngü içinde adım miktarı kadar artırılır yada azaltılır.

for DÖNGÜSÜ for döngü değişkeni = başlangıç:artış miktarı:bitiş komutlar end for döngü değişkeni = başlangıç:bitiş komutlar end artış miktarı otomatik olarak 1 atanır. döngü değişkeni sayaç olarak da adlandırılır.

UYGULAMA 1 sayısı ile klavyeden girilen herhangi bir sayı arasındaki ardışık sayıların toplamını for döngüsü kullanarak hesaplayan ve ekrana basan bir düzyazı MATLAB programı yazınız. n sayısı 0 veya negatifse hangi toplam elde edilir? n=input('Lütfen Bir Sayi Giriniz : '); toplam=0; %Toplamada Etkisiz Eleman for i=1:n toplam=toplam+i; %fprintf('Toplam = %d \n',toplam); end fprintf('Toplam = %d \n',toplam); %Gauss Teoremi???

for i=5:1 end for i=1:-1:5 end Yandaki for döngüsü kaç kere işletilir?

while DÖNGÜSÜ while koşul işlem_1 işlem_2 işlem_n end koşul denilen şey sonucu BİR veya SIFIR olan bir eşitlik testi, karşılaştırma işlemi veya mantıksal bir test olabilir.

UYGULAMA Ekrana adınızı ve soyadınızı 10 kez yazan bir MATLAB programını while döngüsü kullanarak oluşturunuz. i=1;%sayaç while i<=10 disp('Deniz Dal'); i=i+1; end %for Döngüsü ile Çözüm for i=1:10 disp('Deniz Dal'); end

UYGULAMA 1 sayısı ile klavyeden girilen herhangi bir sayı arasındaki ardışık sayıların çarpımını while döngüsü kullanarak hesaplayan ve ekrana basan bir düzyazı MATLAB programı yazınız. Bu satır çözümden çıkarılırsa ne olur? n=input('Lütfen Bir Sayı Giriniz: '); carpim=1;%Çarpmada Etkisiz Eleman i=1;%sayaç while i<=n carpim=carpim*i; i=i+1; %fprintf('Çarpım= %d\n',carpim); end fprintf('Çarpım= %d\n',carpim); %Faktoriyel ?????? Komut penceresi kontrolünü kaybettiğinizde (mesela programınız sonsuz bir döngünün içerisine girdiyse) CTRL+C tuş kombinasyonunu kullanabilirsiniz.

UYGULAMA Asağıdaki while döngüsü kaç kere işletilir? devamEt=1; i=0;%sayaç while devamEt disp('Deniz Dal'); i=i+1; end Yandaki programı ekrana 10 kere “Deniz Dal” yazacak şekilde, mevcuda dokunmadan, sadece yeni eklemeler yaparak nasıl modifiye edersiniz??????