ALGORTMA VE PROGRAMLAMAYA GR retim Grevlisi smail KARAMAN

  • Slides: 27
Download presentation
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Öğretim Görevlisi İsmail KARAMAN

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Öğretim Görevlisi İsmail KARAMAN

Hafta 2 Algoritma Oluşturma Yöntemleri Ve Algoritma Oluşturma Çankırı Karatekin Üniversitesi - 2014

Hafta 2 Algoritma Oluşturma Yöntemleri Ve Algoritma Oluşturma Çankırı Karatekin Üniversitesi - 2014

Ders Konusunun Hedefleri Bu sunumda, • Algoritma oluşturabilmek için bilinmesi gereken kavramlar • Aritmetiksel

Ders Konusunun Hedefleri Bu sunumda, • Algoritma oluşturabilmek için bilinmesi gereken kavramlar • Aritmetiksel ve Mantıksal Operatörler • Satır Algoritmaları Yöntemi • Akış Diyagramları Yöntemi Hakkında bilgi verilecektir. Çankırı Karatekin Üniversitesi - 2014

Bu Derste İşlenecek Konular • Algoritmanın Temel Ögeleri • Operatör Kavramı, Aritmetiksel ve Mantıksal

Bu Derste İşlenecek Konular • Algoritmanın Temel Ögeleri • Operatör Kavramı, Aritmetiksel ve Mantıksal Operatörler • Satır Algoritmaları Yöntemi • Akış Diyagramları Yöntemi Çankırı Karatekin Üniversitesi - 2014

ALGORİTMA OLUŞTURMA Herhangi bir problemi çözmek üzere algoritma geliştiriliyor ise satır algoritmaları yada akış

ALGORİTMA OLUŞTURMA Herhangi bir problemi çözmek üzere algoritma geliştiriliyor ise satır algoritmaları yada akış diyagramları tercih edilir. Böylelikle programlamaya geçmeden önce, problemin çözümü net bir şekilde ifade edilmiş olur. Algoritma oluştururken kullanılacak yöntem ne olursa olsun algoritma içerisinde kullanılan ifadelerin anlaşılır ve sade tanımlamalar olması gerekir. Çankırı Karatekin Üniversitesi - 2014

ALGORİTMA OLUŞTURMA Algoritma içerisinde kullanılan temel ögeler şunlardır. • Tanımlayıcı : Değişken, sabit ,

ALGORİTMA OLUŞTURMA Algoritma içerisinde kullanılan temel ögeler şunlardır. • Tanımlayıcı : Değişken, sabit , alt yordam gibi programlama birimlerine yazılımcı tarafından verilmiş isimlere tanımlayıcı adı verilir. • Değişken : Programın akışı içinde farklı değerleri tutmak üzere ayrılmış bellek bölümlerine değişken adı verilir. • Sabit : Program her çalıştırıldığında ve programın içinde herhangi bir abda hep aynı değeri döndüren tanımlayıcılara sabit adı verilir. • Gömülü değer : Kod içinde yazılmış olan metinsel, sayısal yada diğer veri tiplerindeki sabit değerlere denir. Çankırı Karatekin Üniversitesi - 2014

ALGORİTMA OLUŞTURMA Aritmetiksel İşlemler; Programlamadaki en temel işlemlerdir. Aritmetik işlemler için kullanılan işleçlere operatör

ALGORİTMA OLUŞTURMA Aritmetiksel İşlemler; Programlamadaki en temel işlemlerdir. Aritmetik işlemler için kullanılan işleçlere operatör adı verilir. Aritmetiksel Operatörler Çankırı Karatekin Üniversitesi - 2014

ALGORİTMA OLUŞTURMA Mantıksal İşlemler; Bir programın akışı içerisinde, belirli bir koşula bağlı olarak akışın

ALGORİTMA OLUŞTURMA Mantıksal İşlemler; Bir programın akışı içerisinde, belirli bir koşula bağlı olarak akışın hangi yönde ilerleyeceğine karar vermede mantıksal operatörler kullanılır. Bu operatörler karşılaştırma işlemlerinde kullanıldıklarında sonuç olarak sadece true(doğru) yada false(yanlış) değerleri üretilir. true false Çankırı Karatekin Üniversitesi - 2014

ALGORİTMA OLUŞTURMA TEKNİKLERİ Algoritma Yazımı; Problem çözmenin 3. adımı algoritma geliştirmektir. Geliştirilen algoritma kağıt

ALGORİTMA OLUŞTURMA TEKNİKLERİ Algoritma Yazımı; Problem çözmenin 3. adımı algoritma geliştirmektir. Geliştirilen algoritma kağıt yada bilgisayar ortamında yazılı hale getirilmelidir. Algoritmayı yazılı hale getirebilmek için 3 yöntem kullanılır. • Satır Algoritma Yöntemi • Akış Diyagramları Yöntemi • Sözde Kodlar Yöntemi Satır algoritma ile Akış diyagramı yöntemleri matematik, inşaat, vb. herhangi bir konuda problem çözülürken kullanılabilir. Ancak sözde kod tamamen programlamaya yönelik bir gösterimdir. Ve kodlamaya çok yakın bir yöntemdir. Çankırı Karatekin Üniversitesi - 2014

SATIR ALGORİTMALARI Satır Algoritmaları; Satır Algoritmalar, problem çözümünü günlük yazı konuşma diliyle ifade ederek

SATIR ALGORİTMALARI Satır Algoritmaları; Satır Algoritmalar, problem çözümünü günlük yazı konuşma diliyle ifade ederek sıra numarasıyla yazılarak oluşturulur. Konuşma diline çok yakın olmasından dolayı bir algoritmayı ifade etmenin en basit yoludur. Satır Algoritmaları Yöntemi ile algoritma oluşturur iken bazı kurallara uyulması gerekir. Bunlar; 1. Algoritmanın ilk adımı daima Başla ve son adımı daima Dur olması gerekir. 2. Algoritmanın her bir adımı sıra numarası ile belirtilmelidir. 3. Oluşturulan algoritma mutlaka bir işlem sırasına göre devam etmek zorundadır. Çankırı Karatekin Üniversitesi - 2014

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran algoritmayı tasarlayın. Çözüm : 1. 2. 3. 4. 5. Başla Oku (Sayı 1, Sayı 2) Sonuç=Sayı 1 + Sayı 2 Sonucu Ekrana Yaz Dur Not: Burada Sayı 1 ve Sayı 2 değişkenleri girdi, Sonuç değişkeni çıktı olarak kullanılmıştır. Yani programın iki girdisi ve bir çıktısı vardır. Çankırı Karatekin Üniversitesi - 2014

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını hesaplayarak

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını hesaplayarak ekrana yazdıran algoritmayı tasarlayın. Çözüm: 1. 2. 3. 4. 5. 6. 7. Başla Oku (Kenar) Çevre=kenar * 4 Alan=kenar * kenar Çevreyi ekrana yaz Alanı ekrana yaz Dur Not : Burada kenar bilgisi girdi, çevre ve alan değerleri ise değişken olarak kullanılmıştır. Burada kenar, çevre, alan değişken olarak tanımlanmıştır. Çankırı Karatekin Üniversitesi - 2014

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Klavyeden yol ve aracın hız bilgisi alınarak ne kadar

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Klavyeden yol ve aracın hız bilgisi alınarak ne kadar sürede yolun tamamlanacağını hesaplayan algoritmayı oluşturunuz. Çözüm; 1. 2. 3. 4. 5. 6. Başla Oku (Yol) Oku (Hız) Süre=Yol / Hız (Y=V * t den) Süreyi Ekrana Yaz Dur Çankırı Karatekin Üniversitesi - 2014

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz. Çözüm; 1. 2. 3. 4. Başla Oku (Sayı 1) Oku (Sayı 2) Eğer 5. 6. Enbüyüğü ekrana yaz Dur 1. (Sayı 1 > Sayı 2) Enbüyük=Sayı 1 2. Değilse Enbüyük=Sayı 2 Çankırı Karatekin Üniversitesi - 2014

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Klavyeden girilen sayının tek yada çift olup olmadığını ekrana

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Klavyeden girilen sayının tek yada çift olup olmadığını ekrana yazdıran algoritmayı oluşturunuz. Çözüm; 1. 2. 3. 4. Başla Oku (sayı) Eğer 1. ((Sayı % 2)==0) ise ekrana yaz ‘’çift’’ 2. Değilse ekrana yaz ‘’tek’’ Dur Not: Burada % operatörü ile Sayı değişkeni 2 ye bölünmüş ve kalan sonucun 0 yada 1 olması kontrol edilmiştir. Kalan değeri 1 ise sayının tek olduğunu 0 ise sayının çift olduğunu göstermektedir. Çankırı Karatekin Üniversitesi - 2014

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Kullanıcıdan bir sayı alıp 1 den başlayarak kullanıcıdan aldığı

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: Kullanıcıdan bir sayı alıp 1 den başlayarak kullanıcıdan aldığı sayıya kadar bir artırarak ekrana yazdıran algoritmayı oluşturunuz. Çözüm; 1. 2. 3. 4. 5. 6. 7. 8. 9. Başla Sayac=0, Toplam=0 Oku (Sayı) Eğer (Sayac >= Sayı), Adım 8 e git Toplam = Toplam + Sayac = Sayac + 1 Adım 4 e git Toplamı Ekrana Yaz Dur Çankırı Karatekin Üniversitesi - 2014

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: 1 den 100 e kadar olan sayılardan 8 e

ALGORİTMALAR İLE PROBLEM ÇÖZME Örnek: 1 den 100 e kadar olan sayılardan 8 e tam bölünebilen sayıları ekrana yazdıran algoritmayı oluşturunuz. Çözüm; 1. 2. 3. 4. 5. 6. Başla Sayı=0 Eğer 3. 1. (Sayı > 100) ise Adım 6 ya git 3. 2. Değilse Eğer 3. 2. 1. ((Sayı % 8)==0) ise Sayıyı ekrana yaz Sayı=Sayı + 1 Adım 3 e git Dur Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir. Daha önceden tanımlanmış

AKIŞ DİYAGRAMLARI Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir. Daha önceden tanımlanmış çeşitli geometrik şekiller ile algoritma satır algoritmalarında olduğu gibi başlangıç ve bitiş noktaları belirtilmiş ve işlemin akışına göre sıralı olmak zorundadır. Akış diyagramlarında algoritmanın her bir adımı bir geometrik şekil ile ifadelendirilir. Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Akış Diyagramları ile algoritma oluşturabilmek için kullanılan şekiller şunlardır. Çankırı Karatekin Üniversitesi

AKIŞ DİYAGRAMLARI Akış Diyagramları ile algoritma oluşturabilmek için kullanılan şekiller şunlardır. Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Örnek : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran

AKIŞ DİYAGRAMLARI Örnek : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran algoritmayı tasarlayın. Çözüm : 1. 2. 3. 4. 5. Başla Oku (Sayı 1, Sayı 2) Sonuç=Sayı 1 + Sayı 2 Sonucu Ekrana Yaz Dur Başla (Sayı 1, Sayı 2) Sonuç=Sayı 1 + Sayı 2 Yaz Sonuç Dur Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Örnek: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını hesaplayarak ekrana yazdıran

AKIŞ DİYAGRAMLARI Örnek: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını hesaplayarak ekrana yazdıran algoritmayı tasarlayın. Çözüm: Başla Yaz Çevre 1. 2. 3. 4. 5. 6. 7. Başla Oku (Kenar) Çevre=kenar * 4 Alan=kenar * kenar Çevreyi ekrana yaz Alanı ekrana yaz Dur Oku (Kenar) Yaz Alan Çevre = 4 * Kenar Dur Alan = Kenar * Kenar Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz.

AKIŞ DİYAGRAMLARI Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz. Çözüm; Başla Oku (Sayı 1) Oku (Sayı 2) True (E) Sayı 1>S ayı 2 Yaz Sayı 1 False (H) Yaz Sayı 2 Dur Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz.

AKIŞ DİYAGRAMLARI Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz. Çözüm: Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Örnek: Kullanıcıdan 100 adet sayı alarak, bu sayıların toplamını ekrana yazan algoritmayı

AKIŞ DİYAGRAMLARI Örnek: Kullanıcıdan 100 adet sayı alarak, bu sayıların toplamını ekrana yazan algoritmayı akış diyagramları ile oluşturunuz. Çankırı Karatekin Üniversitesi - 2014

AKIŞ DİYAGRAMLARI Örnek: Klavyeden girilen sayının faktöriyelini hesaplayan algoritmayı oluşturunuz. Çözüm: Çankırı Karatekin Üniversitesi

AKIŞ DİYAGRAMLARI Örnek: Klavyeden girilen sayının faktöriyelini hesaplayan algoritmayı oluşturunuz. Çözüm: Çankırı Karatekin Üniversitesi - 2014

Kaynaklar Kitaplar • Algoritma Yazar: Kemal Çamoğlu Yayınevi: KODLAB • Visual Studio 2010 ile

Kaynaklar Kitaplar • Algoritma Yazar: Kemal Çamoğlu Yayınevi: KODLAB • Visual Studio 2010 ile Her Yönüyle C# 5. 0 Yazar: Volkan Aktaş Yayınevi: KODLAB İnternet Kaynakları Akış diyagramları yöntemi ile algoritma oluşturabilmek için; • http: //sourceforge. net/projects/dia-installer/ • http: //social. msdn. microsoft. com/Forums/tr-TR/ • http: //www. microsoftvirtualacademy. com/ Çankırı Karatekin Üniversitesi - 2014