BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi.

Slides:



Advertisements
Benzer bir sunumlar
Yığınlama Sıralaması (Heap Sort)
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Ayrık Yapılar Algoritma Analizi.
MATLAB Bilgisayar Programlama Yrd.Doç. Dr. Aslıhan KURNUÇ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Makine Müh. & Jeoloji Müh.
Bilgisayar Programlama Güz 2011
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
5 EKSENLİ ROBOT KOLUNUN YÖRÜNGE PLANLAMASI ve DENEYSEL UYGULAMA
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Asansör Simülatörünün Ürettiği Sonuçlar Üzerinde Yapılan K-means++ Kümeleme Çalışması ile Trafik Türünün Tahmini M. Fatih ADAK Bilgisayar Mühendisliği.
Bölüm 2: Program Denetimi
17. MEKANİKSEL SİSTEMLER VE TRANSFER FONKSİYONLARI
Dizi (array) değişkenleri
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
MATLAB’ de Programlama
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Fonksiyonlar ve Alt Programlar
Özyineli Sıralama Algoritmaları
Çerez(Cookie) Kullanımı Oturum Yönetimi
Dizi (ARRAY) Diziler grup halindeki değişkenler olarak tanımlanabilir. Dizi içersinde yüzlerce değişken olabilir. Dizi elemanları index adı verilen sıra.
MATLAB’ de Programlama XII Hafta 12 Matlab Ders Notları.
İ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,
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
Görsel C# ile Windows Programlama
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
TBF - Genel Matematik I DERS – 8 : Grafik Çizimi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
İŞLEM TANIM: A boş olmayan bir küme olmak üzere,A×A nın bir R alt kümesinden A ya tanımlanan her fonksiyona, işlem denir.İşlemi tanımlarken,’’
SINIFLANDIRMA VE REGRASYON AĞAÇLARI
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
HIZLI SIRALAMA ALGORİTMALARI(QUICK SORT)
C PROGRAMLAMA DİZİLER (ARRAYS).
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
SONLU ELEMANLARA GİRİŞ DERSİ
MATLAB’ de Programlama
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2015 – 2016 Güz Dönemi Kredi : 3+1
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 8:DİZİ (VEKTÖR) KAVRAMI
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
MKM 311 Sistem Dinamiği ve Kontrol
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
Algoritma Analizi Algoritma Algoritma bir problemi çözmek için izlenen komutlar kümesidir. Verilen bir problemin birden fazla çözümü dolayısıyla.
3. HAFTA 03 Mart MATEMATİKSEL İŞLEMLER Aritmetik Islemlerde Öncelik Durumu.
PHP ve HTML İnternet Programlama - 2. Koşullu İfadeler ve Döngüler Döngü ya da çevirim diyebileceğimiz, belli şart ve koşullarda istenilen değerleri yapabilmemizi.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
BİLGİSAYAR PROGRAMLAMA DERSİ 7. DERS NOTU Konu: Dosya Yönetim.
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.
C Programlama Dili Bilgisayar Mühendisliği.
Algoritmalar II Ders 1: Alan zaman takası yöntemi.
Insertion Sort Fikir: Oyun kartlarını sıralamaya benzer.
C Sharp 9. hafta - dIZILER.
İleri Algoritma Analizi
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
NİŞANTAŞI ÜNİVERSİTESİ
YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Fonksiyonlar-2.
MTM216 GÖRSEL PROGRAMLAMA
4. HAFTA.
Sunum transkripti:

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi

Bu hafta? İki değişken değerinin yer değiştirilmesi (swapping) selection sort sıralama algoritması bubble sort sıralama algoritması Kullanıcı tanımlı fonksiyonlar

İki değişken değerinin yer değiştirilmesi (swapping) deal komutuyla yapılabilir.

İki değişken değerinin yer değiştirilmesi (swapping) Veya geçici değişken tanımlayarak yapılabilir.

İki değişken değerinin yer değiştirilmesi (swapping) veya a([1 5])=a([5 1])

Selection sort Önce dizideki en küçük eleman bulunur ve dizinin ilk elemanı ile yer değiştirilir. Sonraki aşamada sıralanmamış parça içindeki en küçük eleman bulunur ve ikinci elemanla yer değiştirilir. Bu işlemi N defa N eleman için yaptığımızda dizi sıralanmış olacaktır 2. Mantık: Uygulanan her adımda eldeki dizinin en küçük elemanı bulunuyor ve en başa atılıyor. Bu işlem her seferinde tekrarlanıyor. Dizinin sonuna gelindiğinde dizimiz küçükten büyüğe sıralanmış oluyor.

Selection sort

Bubble sort sayılarından oluşan bir kümemiz olsun. Kabarcık algoritması şu şekilde işleyecektir. İlk olarak 23 sayısı 11 ile karşılaştırılır. 23 > 11 olduğundan swap uygulanır ve yeni görünüm olacaktır. Akabinde aynı işlemler devam eder. 23 > 9 olduğundan bir yer değiştirme işlemi daha olur Devamında, 23 < 44 olduğundan 23 sayısı olduğu yerde kalır ve elemanlarda yer değişikliği olmaz Daha sonra sıra 44 dedir. 44 > 10 olduğundan tekrar değişiklik olacaktır ve ilk tarama bakım sonrasında elemanlarımızın görünüm değerleri şu şekilde olur Görüldüğü üzere en büyük eleman listemizde en sona ulaşmış oldu ! Algoritmanın çalışması gereği işlem tekrardan ilk elemana döner. Yani 11 ile işlem tekrar başlatılır. Aynı mantıkla 11 > 9 olduğu için takas gerçekleşecektir Daha sonra olduğu için tekrar transfer gerçekleşir Bu süzgeçleme adımının son kısmında (23 < 44) durumundan dolayı Swap gerçekleşmez. İşlem tekrar 9 dan itibaren tekrar başlayacaktır. Yukarıda anlatılan aynı mantıkla işlemler gerçekleşecek ve algoritmanın son durumunda görünüm tahmin edebileceğiniz gibi, olacaktır.

Bubble sort Örnek 1: adım  (34>26) 2. adım  (34>10) 3. adım  (34>1) 4. adım  (34>-4) //Bu adımdan sonra en büyük eleman sona ulaşır. 5. adım  (26>10) //tekrar başa dönüldü ve yer değiştirdi. 6. adım  (26>1) 7. adım  (26>-4) 8. adım  (26<34) // değişme olmayacaktır. 9. adım  (10>1) //başa dönüldü ve 1-10 yer değiştirdi. 10. adım  (10<26) // değişme olmayacaktır. 11. adım  (26<34) // değişme olmayacaktır. 12. adım  (-4<1) //başa dönüldü ve 1 ve -4 yer değiştirdi.

Bubble sort Örnek 1: adım  (1<10) // değişme olmayacaktır. 14. adım  (10<26) // değişme olmayacaktır. 15. adım  (26<34) // değişme olmayacaktır. Bubble sort algoritmasıda selection sort algoritması gibi daha karmaşık elemanlı dizilerde veya başka veri yapılarında kullanışlı değildir.

Bubble sort Örnek 2: 9, 5, 8, 3, 1. rakamlarının azalan şekilde sıralanmasını kabarcık algoritmasıyla gerçekleştirelim. 1. tur 1. tur tamamlandığında en büyük eleman olan 9 en sona yerleşmiş olur ve bir daha karşılaştırmaya gerek yoktur.

Bubble sort 2. tur 3. tur 4.tur

Bubble sort

Kullanıcı tanımlı fonksiyonlar Matlab’da hazır tanımlı çok sayıda fonksiyon mevcuttur; sin, sqrt, sum vs.. Şayet çeşitli Matlab komutlarını sıklıkla kullanıyorsanız, bu komutları bir fonksiyon haline getirebilirsiniz. Bu fonksiyonlar Matlab’da tanımlı fonksiyonlar gibi çalıştırılabilir.

Kullanıcı tanımlı fonksiyonlar Yazım metodu: function [out1, out2,...] = funname(in1, in2,...) funname isimli bir fonksiyon oluşturur. in1, in2 gibi giriş ifadelerini alır ve out1, out2 gibi çıkış ifadelerini üretir. Kullanıcı tanımlı fonksiyon üretmek için: 1.İlk satır aşağıdaki gibi olmalıdır: function [output variables] = function_name(input variables); 2.m-dosyası’nın adı, " function_name " ile aynı olmak zorundadır; 3.kullanıcı tanımlı fonksiyonlar, m-dosyasının adıyla çağrılırlar.

Kullanıcı tanımlı fonksiyonlar Örnek 1: Serbest düşen bir cismin son hızını hesaplayan bir Matlab fonksiyonunu yazınız. m_file (ana program) fonksiyon dosyası (sonhiz.m) (alt program)

Kullanıcı tanımlı fonksiyonlar Örnek 2: Bir dairenin alan ve çevresini hesaplayan bir Matlab fonksiyonu yazınız. m_file (ana program) fonksiyon dosyası (daire.m) (alt program)

Kullanıcı tanımlı fonksiyonlar Örnek 3: İki nokta arası mesafeyi hesaplayan bir fonksiyon yazınız. x1= birinci noktanın x koordinatı; x2= ikinci noktanın x koordinatı y1= birinci noktanın y koordinatı; y2= ikinci noktanın y koordinatı m_file (ana program) fonksiyon dosyası (mesafe.m) (alt program)

Kullanıcı tanımlı fonksiyonlar