ALGORİTMA ve PROGRAMLAMA
description
Transcript of ALGORİTMA ve PROGRAMLAMA
![Page 1: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/1.jpg)
ALGORİTMA ve PROGRAMLAMA
Mustafa Özhan KALAÇ
![Page 2: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/2.jpg)
Algortima Nedir?
Algoritma,herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir.
![Page 3: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/3.jpg)
Programlama Açısından Algoritma
Algoritma verilerin bilgisayara hangi çevre biriminden girileceğinin, problemin nasıl çözüleceğinin,hangi basamaklardan geçirilerek sonuç alınacağının, sonucun nasıl ve nereye yazılacağının sözel olarak ifade edilmesi biçiminde tanımlanabilir.
![Page 4: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/4.jpg)
Algoritma hazırlanırken, çözüm için yapılması gerekli işlemler, öncelik sıraları göz önünde bulundurularak ayrıntılı bir biçimde tanımlanmalıdırlar.
![Page 5: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/5.jpg)
ÖRNEK :Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:
Algoritma Adım 1-Başla Adım 2-Birinci sayıyı oku Adım 3-İkinci sayıyı oku Adım 4-İki sayıyı topla Adım 5-Dur
![Page 6: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/6.jpg)
AKIŞ ŞEMALARI(DİYAGRAMLARI)
Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatıldığı algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline "akış şemaları" veya FLOWCHART adı verilir.
![Page 7: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/7.jpg)
Akış şemalarının algoritmadan farkı, adımların simgeler şeklinde kutular içine yazılmış olması ve adımlar arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir.
![Page 8: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/8.jpg)
Neden Akış Şeması Gereklidir?
Sorun çözümlenmesi sürecinin daha kolay anlaşılır biçime getirilmesi, iş akışının kontrol edilmesi ve programın kodlanmasının kolaylaştırılması gibi nedenlerle başvurulur.
![Page 9: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/9.jpg)
Uygulamada çoğunlukla, yazılacak programlar için önce programın ana adımlarını(bölümlerini) gösteren genel bir bakış akış şeması hazırlanır.
Daha sonra her adım için ayrıntılı akış şemalarının çizimi yapılır.
![Page 10: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/10.jpg)
Akış Şemasında Kullanılan Simgeler
Başlama, Bitiş ve Bağlantı işlemleriKlavye Aracılığıyla Giriş İşlemi
Yazıcıdan Çıkış İşlemleri Giriş ve Okuma İşlemleri
![Page 11: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/11.jpg)
Başlama, Bitiş ve Bağlantı işlemleriAtama ve Hesaplama İşlemleri
Karar ve Kontrol İşlemleri Diskten Okuma ya da diske yazma
![Page 12: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/12.jpg)
Değişken Kavramı
Bir problemin çözümünde tanımlanan bir bilgi alanı, farklı adımlarda farklı değerler alabiliyorsa bu bilgi alanına değişken adı verilir.
![Page 13: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/13.jpg)
Aktarma ve Atama İşlemleri
Bir değerin her hangi bir değişkene tanımlanmasına aktarma yada atama işlemi denir.
![Page 14: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/14.jpg)
Artırım İşlemleri
Herhangi bir değişkene kendisi ile birlikte farklı bir değeri atamaktır.– TOPLAM = TOPLAM + A
![Page 15: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/15.jpg)
![Page 16: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/16.jpg)
İş Akış Yönleri
Tekrarlanan İşler
![Page 17: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/17.jpg)
ÖRNEK: İki sayının çarpımının bulunmasıyla ilgili algoritma:
Değişkenler
A:Birinci sayıyı,
B:İkinci sayıyı,
C:İki sayının çarpımını(A*B)göstersin.
![Page 18: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/18.jpg)
Algoritma
Adım 1- Başla
Adım 2-A'yı oku
Adım 3-B'yi oku
Adım 4-C=A*B yi hesapla
Adım 5-C'yi yaz
Adım 6-Dur
![Page 19: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/19.jpg)
![Page 20: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/20.jpg)
Örnek : İki sayının farkını ve bölümünü bulup yazıcı ile yazan algoritma ve akış şeması
Değişkenler A:Birinci sayı B:İkinci sayı D:İki sayının farkını (A-B) E:İki sayının bölümünü(A-B)
![Page 21: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/21.jpg)
Algoritma
Adım 1- Başla Adım 2- A'yı oku Adım 3- B'yi oku Adım 4- D=A-B Adım 5- E=A/B Adım 6- D'yi yaz Adım 7- E'yi yaz Adım 8- Dur
![Page 22: ALGORİTMA ve PROGRAMLAMA](https://reader033.fdocument.pub/reader033/viewer/2022061605/5681433c550346895dafb045/html5/thumbnails/22.jpg)