1
Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2
Algoritma : «Belirli bir problemin çözümünde kullanılabilen yöntem» WEBSTER «İyi tanımlanmış kuralların ve işlemlerin adım adım uygulanmasıyla bir sorunun giderilmesi veya sonuca en hızlı biçimde ulaşılması işlemi» TDK 3
4
5
Algoritmanın Özellikleri 1. Etkinlik 2. Sonluluk 3. Kesinlik 4. Giriş / Çıkış Bilgisi 5. Başarım ( Performans) Değerlendirmeleri 6
Algoritma Yazım Kuralları 7
Algoritma Yazım Kuralları 8
Algoritma Yazım Kuralları 1. Algoritma İsmi 2. Algoritmanın Yaptığı İşlem 3. İşlem Adımları 4. Açıklama 9
Akış Şeması Simgeleri Ödev : Sparks Algoritma Dili nedir? Başka benzer diller nelerdir? 10
1. Atama İfadeleri Atama ifadesi sola kullanılarak yapılır 1.1 Değişkene Tek Değer Atama Ebe A [1] 1.2 Değişkene Atanması Bir İfade Sonucunun Değişken İfade A 13+ x 11
1.3 Değişkene Sabit Değer Atanması Deg1 Bugün hava çok güzel Deg1 Bugün hava sıcaklığı 35 derecedir Deg1 15 1.4 Değişken Değerlerin Karşılıklı Değiştirilmesi Eğer iki değişkenin değerlerinin yer değiştirilmesi isteniyor ise o zaman gösterim olarak çift yönlü ok kullanılır 12
1.4 Değişken Değerlerinin Karşılıklı Değiştirilmesi A B 5 10 A B Gecici 5 10 5 A B Gecici 10 10 5 A B Gecici 10 5 5 Gecici 13
2. Koşullu İfadeler 2.1 Tek Koşullu İfadeler 14
2.2 Alternatif Koşullu İfade 15
2.3 Yuvalı İfade 16
2.3 Yuvalı İfade 17
2.4 Durum İfadesi 18
3. Döngüler ve Tekrarlı İfadeler 19
3.1 Döngü Özellikleri 3.1.1 Döngü Bloklarına Döngü Dışından girilmesi 20
3.1 Döngü Özellikleri 3.1.1 Döngü Bloklarına Döngü Dışından girilmesi 21
3.1 Döngü Özellikleri 3.1.1 Döngü Bloklarına Döngü Dışından girilmesi 22
3.1 Döngü Özellikleri 3.1.1 Döngü Bloklarına Döngü Dışından girilmesi 23
3.1. Döngü Özellikleri 3.1.1 Döngü Bloklarına Döngü Dışından girilmesi 24
3.1 Döngü Özellikleri 3.1.2 Döngü Bloklarından Döngü Dışından Çıkılması 25
3.2 Döngü Çeşitleri 3.2.1 Repeat Döngüsü Repeat İfadeler1 İfadeler2 İfadeler3 İfadeler4 İfadeler5.. Until Koşul 26
27
28
3.2 Döngü Çeşitleri 3.2.2 While Döngüsü While Koşul DO İfade(i) Repeat 29
3.2 Döngü Çeşitleri 3.2.2 While Döngüsü 30
31
3.2 Döngü Çeşitleri 3.2.3 For Döngüsü For deşikken BaşlangıçDeğeri TO BitişDeğeri BY ArtışMiktarı DO ifade Repeat 32
3.2. Döngü Çeşitleri 3.2.3 For Döngüsü 33
3.2. Döngü Çeşitleri 3.2.4 Sonsuz Döngüsü X - 20 X 30 a X X+2 Repeat if X > 0 then goto b X X+1 Goto a UNTIL X 10 b Yaz (X) 34
Değişken İsimleri Değişkenler algoritmada kullanılacak değerleri tutan veri yapılarıdır. Değişkenler; İşlevlerine göre isimlendirilmeli, Birden fazla kelime var ise ilk harfleri büyük olsun, Örnekler: Sayi, Dogal_Sayi, Kara_Tahta, 35
Veri Yapıları Veri yapısı, 1 ve 0 lardan oluşan verinin bilgi olması için anlamlı bir şekilde bellekte veya disk, CD gibi saklama birimlerinde tutulması, saklanması şeklini gösterir. Veri, ancak onun yapısının, diğer bir deyişle formatının bilinmesiyle bilgiye dönüşebilir; aynı veri, yapısının değiştirilmesiyle farklı bilgilere karşılık düşebilir. Veri modeli ise, verilerin birbirleriyle ilişkisel veya sırasal durumunu gösterir. Bu derste, genel olarak programlama dillerinde olan temel veri yapıları ve yeni veri yapıların oluşturulmasına imkan veren tanımlamalı veri yapıları ele alınmıştır. Bir yazılım tasarımcısı herşeyden önce kullandığı programlama dilinin veya aracının temel veri yapılarını bilmeli ve yeni veri yapılarının nasıl oluşturulacağını iyice kavramalıdır. Çünkü problemlerin optimum çözümde bunlara her zaman gereksinim duyulur. 36
Veri Yapıları Diziler : Yazılacak algoritmalarda dizileri tanımı Dizi[Dim1, Dim2,.. Dimn ] şeklinde yapılacaktır. Buradaki Dizi sözcüğü tanımlanan dizinin adı oluyor. Dizi isimleri programcı tarafından seçilmeli ve değişken isimler kurallarına uyulmalıdır. Dim1, Dim2,.. Dimn ise dizinin uzunluğunu göstermekte ve dizinin uzunluğunu tutan değerler büyük parantezler ile kapatılmaktadır. 37
Veri Yapıları Dinamik Bellek : dinamik bellek kullanımında kullanıma alınan bellek büyüklüklerine «düğüm» adı verilir. Düğümlerde bir adres alanı bir de veri alanı var. Adres alanındaki değer bir sonraki düğümü işaret ederken veri alanındaki değer ise kullanıcının bellekte saklamak istediği değerlerdir. Düğüm Düğüm Veri Bağ SağBağ Veri SolBağ 38
Aritmetik İşlemler ve İfadeler Aritmetik Operatörler Mantıksal Operatörler İlişkisel Operatörler 39
Katar ve Katar İşlemleri Katar ifadelerle aritmetik işlemler yapılamaz. Bu ifadeler ya alfabetik karakterlerden veya alfabetik ve nümerik karakterlerle birlikte veya nümerik karakterleri içine alınmasıyla oluşurlar. G G G G abncgd 234 Bugün hava çok güzel 40
Girdi ve Çıktılar Algoritma dilinde girdiler Oku (Değişken_adı) formatında alınır Algoritma dilinde formatında alınır çıktılar Yaz (Değişken_adı) 41
Alt Algoritmalar Fonksiyonlar Procedure lar 42