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

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Programlama Güz 2011
Advertisements

Bilgisayar Programlama Güz 2011
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
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.
BİLGİSAYAR PROGRAMLAMA Ders 2: Algoritma ve Akış Şemaları

Hatırlatma Ortogonal bazlar, ortogonal matrisler ve Gram-Schmidt yöntemi ile ortogonaleştirme vektörleri aşağıdaki özeliği sağlıyorsa ortonormaldir: ortogonallik.
Özdeğerler ve özvektörler
Determinant Bir kare matrisin tersinir olup olmadığına dair bilgi veriyor n- boyutlu uzayda matrisin satırlarından oluşmuş bir paralel kenarın hacmine.
% A10 B20 C30 D25 E15 Toplam100.  Aynı grafik türü (Column-Sütun) iki farklı veri grubu için de kullanılabilir. 1. Sınıflar2. Sınıflar A1015 B20 C3015.
Lojik Kapılar ve Lojik Devreler (Logic Gates And Logic Circuits)
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA MATLAB Yrd.Doç.Dr. Cengiz Tepe.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
Konum ve Dağılım Ölçüleri BBY252 Araştırma Yöntemleri Güleda Doğan.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
f:(a,b)==>R fonksiyonu i)  x 1,x 2  (a,b) ve x 1  x 2 içi f(x 1 )  f(x 2 ) ise f fonksiyonu (a,b) aralığında artandır. y a x 1 ==>x 2 b.
OLASILIK ve İSTATİSTİK
6. HAFTA Mart Mantıksal Operatörler & Ve | Veya ~ Değil / Bölme.
İleri Excel Formüller 2 Fuat TOSUN.
BİLGİSAYAR PROGRAMLAMA DERSİ
Excel 2007.
Fonksiyonel Programlama
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
BM-103 Programlamaya Giriş Güz 2016 (8. Sunu)
T- Testİ: ORTALAMALAR ARASI FARKLARIN TEST EDİLMESİ
Hatırlatma: Durum Denklemleri
Vize Sorusu Klavyeden girilen N adet sayıyı List1 nesnesinde gösteren ve bu sayıların toplamını ve ortalamasını Text1 ve Text2 nesnesinde yazdıran.
Problem Çözme ve Algoritmalar
1. Bernoulli Dağılımı Bernoulli dağılımı rassal bir deneyin sadece iyi- kötü, olumlu-olumsuz, başarılı-başarısız, kusurlu-kusursuz gibi sadece iki sonucu.
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
MODEL YETERSİZLİKLERİNİ DÜZELTMEK İÇİN DÖNÜŞÜMLER VE AĞIRLIKLANDIRMA
Yrd. Doç. Dr. Mustafa Akkol
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı
İleri Algoritma Analizi
TANIMLAYICI İSTATİSTİKLER
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
MATEMATİK ORAN ORANTI.
BM-103 Programlamaya Giriş Güz 2012 (6. Sunu)
KÜMELER HAZIRLAYAN : SELİM ACAR
PROBLEM ÇÖZME VE ALGORİTMALAR
BMS-301 Kabuk Programlama Güz 2017 (7. Sunu) (Yrd. Doç. Dr. Deniz Dal)
İSTATİSTİK Yrd. Doç. Dr. Cumhur TÜRK
3.hafta METODLAR.
Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
PARAMETRİK HİPOTEZ TESTLERİ
Teknoloji Fakültesi Mekatronik MTM326 Veri Toplama ve İşleme
BM-103 Programlamaya Giriş Güz 2016 (6. Sunu)
Benzetim 11. Ders İmalat Yönetimde Benzetim.
NİŞANTAŞI ÜNİVERSİTESİ
İleri Algoritma Analizi
DİJİTAL GÖRÜNTÜ İŞLEME Y. Doç. Dr. Esra Tunç Görmüş
Sonlu Özdevinirlere Giriş
Bilgisayar II 8 Mart Mart
NİŞANTAŞI ÜNİVERSİTESİ
Fonksiyonlar ve Alt Programlar
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Ölçme Sonuçları Üzerinde Test ve Madde İstatistiklerini Hesaplama
NİŞANTAŞI ÜNİVERSİTESİ
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
İleri Algoritma Analizi
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

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

BİR BİLGİSAYAR PROGRAMININ BİLEŞENLERİ Algoritma Veri Veri Yapısı (Data Structure)

DİZİLER Dizi (array), en temel veri yapısıdır ve kabaca birbirleri ile ilişkili nümerik veya metinsel değerler topluluğudur. Değişkenler içerisinde yalnız bir tek bilgi depolarken dizileri kullanarak aynı türden birden fazla bilgiyi saklayabiliriz. Programımız içerisinde kullanacağımız 100 adet tam sayıyı 100 farklı değişken içinde saklamak yerine bu amaçla içinde 100 tam sayı saklı bir dizi kullanmak daha mantıklıdır. Dizi elemanlarına ulaşmak için indis dediğimiz yapılardan ve parantezlerden faydalanırız.

DİZİ KULLANIMINA ÖRNEKLER Bu sınıftaki öğrencilerin BM103 dersi final sınavı notlarını saklamak ve üzerinde işlem yapmak (ortalama, sapma vs.), Yerel seçimde bu binada oy kullanacak kişilerin isimlerini saklamak, Hızlı erişim için Fibonacci serisinin ilk 10 terimini saklamak gibi işlemlerde dizilerden faydalanabiliriz.

MATLAB’DE DİZİLER Bir dizi vektör veya matris olabilir. nx1 veya 1xm dizisi bir vektör gösterir. Bu çerçevede nx1dizisi sütun vektörü ve 1xm dizisi ise satır vektörü olarak da düşünülebilir. mxn veya nxm dizisi bir matris gösterir. Bir dizinin eleman sayısı dizinin satır sayısı ile sütun sayısının çarpımıdır.

MATLAB’DE TEK BOYUTLU DİZİLER (SATIR VEKTÖRLERİ) VE length Fonksiyonu B(length(B)) hangi amaçla kullanılabilir?

MATLAB’DE TEK BOYUTLU DİZİLER (SÜTUN VEKTÖRLERİ) VE length Fonksiyonu

İPUCU Bir satır veya sütun vektörü içerisinde tek bir for döngüsü kullanılarak kolaylıkla gezilebilir. Eğer bu amaçla oluşturulacak bir for döngüsü i adında bir döngü değişkeni ile kontrol edilirse, bu i aynı zamanda dizinin indislerini de temsil etmiş olur. for i=1:length(A) fprintf('A(%d)=%d\n',i,A(i)); end

İPUCU Kendisine A adlı bir satır veya sütun vektörünü parametre olarak alan bir fonksiyon m-dosyası vektörün boyutuyla ilgili bir işlem yapıyorsa length(A) fonksiyonunu muhakkak kullanmak zorundadır. (Bu fonksiyona komut penceresinden nasıl bir vektörün parametre olarak verileceği peşinen bilinemez çünkü.)

SATIR VEKTÖRLERİNİN İÇERİSİNİN OTOMATİK OLARAK SAYILARLA DOLDURULMASI satirVektoru=ilkDeger:artımMiktarı:sonDeger artimMiktarı belirtilmezse ilkDeger den sonra 1’er artım olacağı anlaşılır.

for DÖNGÜSÜNÜN BİR BAŞKA KULLANILIŞ ŞEKLİ for i=[4 6 8 10 12 14 -1 7] fprintf('%d\n',i); end

DizininMaksimumunuBul.m UYGULAMA Kendisine parametre olarak aldığı bir A satır vektörünün en büyük elemanını bularak geriye döndüren bir MATLAB fonksiyonunu DizininMaksimumunuBul.m adında bir fonksiyon m-dosyasının içerisine yazınız. DizininMaksimumunuBul.m function enBuyuk=DizininMaksimumunuBul(A) enBuyuk=A(1); %Dizinin İlk Elemanı En Büyük Olsun for i=2:length(A) %Kaç Elemanlı Bir Vektör Acaba? if A(i)>enBuyuk enBuyuk=A(i); end KOMUT PENCERESİ >>B= [2, 4, -5, 6, 7, 99, -132, 126]; >>DizininMaksimumunuBul(B) ans= 126 >>DizininMaksimumunuBul( [2, 4, -5, 6, 7, 99, -132, 126] )

SORULAR… Bir A satır vektörünün elemanlarının toplamı Bir A satır vektörünün aritmetik ortalaması Bir A satır vektörünün standart sapması Bir A satır vektörünün aritmetik ortalamaya en yakın elemanı Bir A satır vektörünün elemanlarının çarpımı Bir A satır vektörünün geometrik ortalaması Bir A satır vektörünün harmonik ortalaması Bir A satır vektörünün içerisindeki çift sayıların adedi

BİR SATIR VEKTÖRÜNÜN BİLGİ DEPOLAMAK AMACIYLA KULLANILMASI A=[ ]; %Başlangıçta Boş 1. METOD A=[A x]; %A=[x] A=[A y]; %A=[x y] 2. METOD A(1)=x; %A=[x] A(2)=y; %A=[x y] Başlangıçta boş olan bir satır vektörünün içine sırasıyla x ve y elemanları ekleniyor.

İKİ RESİM ARASINDAKİ 10 FARKI BULUNUZ  A=[ ]; %Baslangıçta Boş 1. RESİM A=[A x]; %A=[x] A=[A y]; %A=[x y] Son eklenen dizi elemanı dizinin son elemanı oluyor. 2. RESİM A=[x A]; %A=[x] A=[y A]; %A=[y x] Son eklenen dizi elemanı dizinin ilk elemanı oluyor. Bu iki farklı türdeki depolama stratejisinin ne tür uygulamalar için uygun olabileceği üzerinde dikkatlice düşününüz.

>>A=[ ] >>A=[A 1] >>A=[A 2] >>A=[3 A]

UYGULAMA Kendisine parametre olarak aldığı bir alt limit ile bir üst limit arasındaki çift sayıları bularak bir satır vektörü içerisinde geriye döndüren bir MATLAB fonksiyonunu AraliktakiCiftleriBul.m adındaki fonksiyon m-dosyasının içerisine yazınız. (1,10) ve (10,1) şeklindeki parametre aktarımlarının her ikisinde de aynı sonucu üretecek fonksiyonu nasıl yazardınız? Programın çalışabilmesi için bu alt fonksiyonun çalışma dizini altında tanımlı olması (mevcut olması) gereklidir. function depoVektor=AraliktakiCiftleriBul(altLimit,ustLimit) depoVektor=[ ];%Başlangıçta Boş Bir Satır Vektörü for i=altLimit:ustLimit if CiftSayiMi(i)%Geriye 1 veya 0 Döndüren Alt Fonksiyon depoVektor=[depoVektor i];%Depo Vektörün Sonuna Ekle %depoVektor=[i depoVektor]; end KOMUT PENCERESİ >>AraliktakiCiftleriBul(1,10) ans= 2 4 6 8 10 >>AraliktakiCiftleriBul(10,1) [ ]

Aksine Örnek Bulma Yöntemi ile İspat 2016 yılı itibariyle dünya üzerinde dinozor olmadığı iddiasında bulunan birisinin bu tezini, onun karşısına bir dinozor çıkararak çürütebilirsiniz. Veya bir matrisin sıfır matrisi olup olmadığını araştırıyorsanız matrisin sıfır matrisi olduğu kabulüyle yola çıkarsınız ve matris içerisinde değeri sıfırdan farklı en az bir matris elemanı bulmaya çalışırsınız. Kabulünüzün aksini işaret eden böyle bir matris elemanı bulamazsanız eğer başlangıçta yaptığınız kabulün doğru olduğu ortaya çıkar. Bu ispat yöntemi özellikle dizi uygulamalarında sıklıkla kullanılır.

UYGULAMA Kendisine parametre olarak aldığı bir B satır vektörünün her bir elemanı 1 değerine sahipse geriye 1 aksi takdirde geriye 0 döndüren bir MATLAB fonksiyonunu DiziSadeceBirlerMiIceriyor.m adındaki fonksiyon m-dosyasının içerisine yazınız.

ÇALIŞMAYAN ÇÖZÜM KOMUT PENCERESİ function sonuc=DiziSadeceBirlerMiIceriyor(B) for i=1:length(B) if B(i)==1 sonuc=1; else sonuc=0; end KOMUT PENCERESİ >>DiziSadeceBirlerMiIceriyor([-8 4 6 25 1]) ans= 1

ÇALIŞAN ÇÖZÜM KOMUT PENCERESİ Dizideki 1’lerin sayısı dizinin eleman sayısına eşit midir kontrolü yapan algoritma da kullanılabilir mi? function sonuc=DiziSadeceBirlerMiIceriyor(B) sonuc=1;%Dizinin Sadece 1 Değeri İçerdiğini Kabul Et for i=1:length(B) if B(i)~=1%En Az 1 Adet Aksi Örnek Mevcutsa sonuc=0;%Kabulü Değiştir break;%return Komutu da Kullanılabilir end KOMUT PENCERESİ >>DiziSadeceBirlerMiIceriyor(ones(1,10)) ans= 1 >>DiziSadeceBirlerMiIceriyor([1 1 1 25 1])

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