Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Algoritma ve Akış Diyagramları

Benzer bir sunumlar


... konulu sunumlar: "Algoritma ve Akış Diyagramları"— Sunum transkripti:

1 Algoritma ve Akış Diyagramları
Öğr. Gör. Arif DAŞ Atatürk Üniversitesi Erzurum Meslek Yüksek Okulu Bilgisayar Programcılığı

2 Giriş İnsanlar her zaman düşünür ve problem çözerler. Birçok problem, az ya da hiç düşünülmeden çözülebilir. Her gün evden çıkarken; Ne giysem acaba? Sorusunu sorarız. Bu o an için bize problem gibi gelir. Bunun için muhtemelen pencereden dışarıya bakar, hava durumuna göre uygun kıyafetler tercih ederiz. Hava yağmurlu ise mevsim gereklerine göre giyinmenin yani sıra dışarıya çıkarken bir de şemsiye almanın mantıklı olacağını düşünürüz. Peki Hava güneşli ve sıcak ise o takdirde daha ince giyinilerek dışarıya çıkarız. Günlük hayatımızdaki basit ama en çok karşılaştığımız problemin çözümü kendiliğinden ortaya çıkmıştır. Yukarıdaki basit örnekte yapılan iş, önce problemin belirlenmesi ve sonra problemin tanımından yola çıkarak çözüm için değişik alternatiflerin değerlendirilmesidir.

3 Algoritma Nedir? Algoritma, herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade edilir. 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ır.

4 Peki çözüme nasıl ulaşırız?
Önce problemin tanımı yapılır. Sorun nedir? Sorunun kaynağı nedir? Çözüm için yapılması gereken adımlar düşünülür. Bu adımlar işlenirken oluşacak olası aksaklıklar belirlenir. Yeni durumlara karşı alternatif çözümler sunulur. Bütün bunlar yazı veya sembollerle görselleştirilir.

5 Algoritma Yazımı Yandaki labirenti örnek alsak
Bu labirentin tek bir doğru yolu olmasına karşın Pek çok yanlış yolu bulunmaktadır. Bunun için doğru yoldan gitmek için gerekli olan adımlar belirlenmelidir. Bitir Başla

6 Algoritma nasıl yazılır?
Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatılmasına algoritma denilir. Algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline ise "akış şemaları" veya FLOWCHART adı verilir. 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.

7 Bir algortimada neler olmalı?
Bir algoritma kısaca aşağıdaki özellikleri barındırmalıdır; Başlangıcı olmalı Basit olmalı Problemin çözümünü, mümkün olan en az adım ile en kısa sürede gerçekleştirmeli Sonu olmalı

8 Fareyi peynire götür! Algoritma
Problem; farenin peynirden uzak olması. Çözüm; bu ikisini birleştirme. Peynir fareye gidebilir mi? – Hayır O zaman fare peynire gidecektir. Peki nasıl? Adım 1. Başla Adım 12. Sağa Dön Adım 2. Sola dön Adım 13. İleri 100 birim git Adım 3. İleri 50 birim git Adım 11. Bitir. Adım 4. Sağa dön Adım 5. İleri 30 birim git Adım 6. Sola dön Adım 7. İleri 30 birim git Adım 8. Sola dön Adım 9. İleri 30 birim git Adım 10. Sağa dön Adım 11. İleri 30 birim git Algoritma

9 Fareyi peynire götür! Akış Diyagramı Başla Bitir Sağa Dön
İleri 100 birim git Sola Dön İleri 30 birim git Bitir Akış Diyagramı İleri 50 birim git Sağa Dön Sağa Dön İleri 30 birim git İleri 30 birim git Sola Dön Sola dön İleri 30 birim git

10 Algortima ve Akış şeması?
Örneklerde de görüldüğü gibi ; Algoritma; yapılacak eylemlerin adım adım sözle veya yazı ile aktarılması işlemidir. Algoritmada yapılacak işlemleri sırası belli olsun diye sayısal veya sözel değerlerle hiyerarşik bir yapıya büründürülür. Akış diyagramı; ise bu adımların belirli semboller ile görselleştirilmesi temeline dayalıdır. **Aslında ikisi de işlemlerin nasıl ve ne zaman yapılacağını anlatmaktadır.

11 Akış şemasındaki semboller ne anlama geliyor?
Akış diyagramı (flow chart), bir algoritmanın adımlarının mantıksal sırasını, adımların birbiri ile bağlantısını, bir işlemden diğerine nasıl gidileceğini belirten kontrol mekanizmalarını, özel bazı şekil ve sembollerle anlatan bir ifade biçimidir. Aşağıda bu semboller görülmektedir: Programın başlangıç ve bitişi için kullanılır. Aktarma, aritmetik hesaplama, işlem Bilgi giriş çıkışı için kullanılır. Yön çizgileri, İşlemin akış yönünü gösterir. Karar alma için kullanılır. Döngü Yazdır Bağlantı

12 Programlar nasıl çalışır? Kuşu Kurbağa ’ya ulaştırın
Programlar tetikleyici adı verilen bir olay ile başlar. Tıklandığında, dokununca, konuşunca, hareket olunca, vb. Satır satır ve sırayla çalışır.

13 Peki bu uygulamada verilecek komutlar nelerdir? Kendinizi deneyin!

14 Sabit Nedir? Not: Sabitler program akışında asla değer değiştirmezler.
Günlük hayatta kullanılan bazı değerler hep aynıdır. Her ne olursa olsun bu değerler değişmez. Bu tür değerler programlama dillerinde bir takma isim eşliğinde kullanılır. Bu takma isimlere sabit denir. Bir örnek ile açıklayalım; Suyun kaynayana kadar deriz mesela burada kastettiğimiz suyun 100 0C sıcaklığa ulaşmasıdır. Suyun donması içinde 0 0C düşünülür. Pi sayısı dendiğinde akla 3,14 gelir. İşte bunlar sabit değerlerdir. Her defasında bu değerleri yazmak kolay gibi gelebilir. Fakat Avogadro sayısı ve Pi sayısının orjinali gibi kompleks bir değeri her defasında yazmak ister misiniz? Avogadro sayısı : x1023 Pi sayısı : … (devamı var) Bu sebepten bu sayılara birer isim verip bu isimlere de değer olarak sayıların değerini veriyoruz. Kullanmak istediğimizde ise artık sayıyı değil sayının takma ismini kullanıyoruz. Çemberin çevresi= 2 x pi x 5; Not: Sabitler program akışında asla değer değiştirmezler. Yarıçap:5

15 Değişken Nedir Hayatımızda bazı verilerde sürekli değişiklik gösterir ve biz o değerlerden söz ederken takma isimler kullanırız. Örneğin döviz kuru, hava durumu gibi yapılar sürekli değişir; Havanın sıcaklığından bahsederken Erzurum bugün 13 0C deriz. Döviz kurunda ise dolar 2.56 ₺, Altın ₺ deriz. Burada Dolar ve Erzurum aslında takma isimlerdir.

16 Değişken Nedir Biraz daha açarsak değişkenler boş bir kutudur ve biz bu boş kutuya bir isim veririz. Daha sonra bu boş kutunun içerisine değerler koyarız ve kullanmak istediğimizde bu değerleri değil de değişkenin adını söyleriz. Değişken denmesinin sebebi program çalışırken içerdiği değerin değişebilmesinden gelmektedir. Tıpkı döviz kurunun veya hava durumunun gün içerisinde değişmesi gibi. Değişkende içerisinde bulunan değerleri bize bildirir. Örneğin yandaki boş kutuya bakalım üzerinde Aletler yazıyor. Bu ifade onun içerisinde bir takım tamir hırdavat olduğu fikrini verir bize. Peki bunun içerisinde gerçekte ne var? Aletler

17 Değişken Nedir Göründüğü gibi yandaki aletler değişkeni içerisinden iplikler çıkmıştır. Bunun sebebi ismi aletler olmasına karşın değişken içeriği neyse o değeri bize bildirir. O sebeple değişken tanımlarken; İçeriğe yönelik isimler kullanılmalı Türkçe karakter kullanılmamalı Değişken ismi harf ile başlamalıdır. İsimlendirmede boşluk kullanılmamalıdır. Kullanılan programlama dilinde özel anlam taşıyan komut veya tanımlama değimleri kullanılmamalıdır. Değişken ismi 255 karakterden fazla olmamalıdır. İsimlendirmede özel karakter kullanılmamalıdır. Aletler

18 Değişken Nedir Değişkenler kullanım alanlarına göre 2’ye ayrılır.
Değişkenler program içerisinde ulaşılabilirlikleri ve kullanılabilirlikleri açısından 2 farklı türde tanımlanabilir. Değişken (Genel) Global (Yerel) Local Local (Yerel) değişken: Sadece program bünyesinde belirli yapılar tarafından tanınır. Okul müdürü bir local değişkendir. Okulu müdürünün yetkisi sadece o okulda çalışan öğretmen ve personeli kapsar. Global(Genel) değişken: Programın tamamı tarafından tanınır. İl Milli Eğitim müdürü bir ise global değişkendir. Okulu müdürünün yetkisi sadece o okulda çalışan öğretmen ve personeli kapsar.

19 Veri türleri Değişkenler ve sabitler içerdikleri verinin türüne göre de türlere ayrılır. Bir değişkende ne tür bir veri saklanacaksa değişken o veri ile aynı türden olmalıdır. Aşağıdaki resimleri birer değişken veya sabit olarak düşünelim. Su taşımak için en ideali hangisidir? Değişken tanımlarken aşağıdaki gibi en ideal olan değişkeni seçmemiz lazım. Değişken için ne demiştik boş bir kab. İçerisine ne koyarsak onu taşır ve bize istendiğinde bu değer verilir. Evet sorumuzun cevabı kova. Neden kova çünkü karton kutu erir, elek deliklidir, şişe ise taşıma işlemi için çok küçük. Kova Elek Karton Kutu Şişe

20 Veri Türleri Nelerdir? Char String (Sözel) Boolean
Tek karakterlik bilgilerin bellekte saklanması gerektiğinde kullanılabilen veri türüdür. String (Sözel) Sayısal olmayan işlemler için tanımlanan karakter özellikli veri türüdür. Boolean Daha çok True veya False, doğru veya yanlış gibi değerleri alabilen iki durumlu veri türüdür. A,b,1,*,+,? vb. değerler alır. Arif, 1234, erzurum25, TR, *-*--, vb değerler alır. True - false, doğru - yanlış, gibi ikili değerler alır.

21 Veri Türleri Nelerdir? Integer( Tam Sayı) Double (Reel Sayılar)
İçerisinde tam sayı değerleri taşıyabilen, yani kesir kısmı bulunmayan sayısal veri türüdür. Double (Reel Sayılar) Ondalık veya tam sayı fark etmez bütün sayısal değerleri destekleyen veri türüdür. DateTime (Tarih Saat) Tarih ve zaman bilgilerini taşıyabilen veri türüdür. 1, 25, 1453, 1923, 1071, vb. değerler alabilir. 12.5, 25, vb değerler alabilir. , , 15:00 gibi tarih ve saat değeri alabilir.

22 Tekrar eden bir yapı varsa ne yapılır?
Algortimada tekrar eden işlemler varsa ve bu işlemler, bu işlemlerin yazımı size hem zaman hem de emek kaybı yaşatacaktır. Ayrıca sürekli aynı işlemleri yazmak bile bazen istenmedik hatalara sebep olabilir. Bu yüzden işlemlerin tekrarını her defasında yeni verilerle yapabilecek kapasite olan bir yapı ile yaptırmak daha mantıklı olacaktır. Bu tarz işlemlerde döngü yapıları kullanılmaktadır.

23 Döngü Nedir? Döngü Sayısı Bilinen Döngüler Şarta Bağlı Döngüler Şart Sağlandıkça Çalışan Döngüler Şart Sağlanana dek Çalışan döngüler Döngüler tekrar edilmesi gereken işlemlerin belli verileri değiştirerek her defasında yeni verilerle tekrar çalıştırılmasını sağlar. Akış şemasında sembolü ile gösterilir. İşleyişine göre iki türe ayrılır.

24 Sayısı Bilinen Döngüler
Sayısı bilinen döngüler belirlenen işlemleri belirli sayıda tekrar eder. Aşağıdaki yürüyen adamı ele alırsak. Bu adamın kapıya ulaşmak için atması gereken adım sayısı belli. 10 adım

25 Sayısı bilinen döngülerin akışı
Döngü ile; Başla sayac değişkeni tanımla sayac=sayac+1 Adım at Sayac =10 ise 7. adıma git 3. adıma git Bitir. Sıradan Algoritma ile; Başla Adım at Adım at Adım at Adım at Adım at Adım at Adım at Adım at Bitir Adım at BAŞLA sayac Adım at Sayac’ı 1 artır Sayac 1’den 10’a kadar Sayac < 10 Sayac = 10 Bitir Burada işlem(adım atma) 10 defa idi ve sadece 4 işlem adımı kar ettik peki ya 1000 defa olsaydı.

26 Şarta bağlı döngüler Şarta bağlı döngüler
Bu tarz döngülerde ise işlemler belirli şartlara bağlı olarak tekrarlanır. Şarta bağlı döngüler Sart Sağlandıkça Çalışan Döngüler Şart sağlanan kadar çalışan döngüler

27 Şart Sağlandıkça Çalışan Döngüler
Sart sağlandıkça çalışan döngülerde; önce şart sorgulanır ve daha sonra eylem tekrarlanır. Buna örnek olarak bir araçtaki yakıtı ele alalım. Şart: araçta yakıt varsa gez. Bu durumda önce araçta yakıt olup olmadığı kontrol edilir, Şart sağlanıyorsa yani yakıt varsa gezme eylemi uygulanır. Bir başka örnekte ise; dışarda oyun oynamak isteyen çocuğa annesinin verdiği cevabı ele alalım. Şart: Gökyüzü aydınlıkken oyna. Bu durumda önce havanın aydınlık durumuna bakılır, Gökyüzü aydınlık mı değil mi? Aydınlıksa yani şart sağlanıyorsa çocuk oyun oynama işlemini sürdürür.

28 Şart Sağlanıncaya Kadar Çalışan Döngüler
Biraz önceki örneklere şimdide şart sağlanıncaya kadar çalışan döngü mantığı ile bakalım. Araçtaki yakıtı ele alalım. Şart: Araçtaki yakıt bitene dek gez. Bu durumda araçta yakıt olduğu bilinmektedir. Ama yakıtın miktarı bilinmemektedir. Şart sağlanmamışsa yani yakıt bitmemişse gezme eylemi sürdürülür. Bir başka örnekte ise; dışarda oyun oynamak isteyen çocuğa annesinin verdiği cevabı ele alalım. Şart: Gökyüzü kararana kadar oyna. Bu durumda önce havanın aydınlık olduğu biliniyor. Yine ne zaman kararacağı bilinmiyor. Gökyüzü karadı mı? Aydınlıksa yani şart sağlanmıyorsa çocuk oyun oynama işlemini sürdürür.

29 Şarta Bağlı Döngülerin Farkları
Bu döngülerde iki tür vardı bu türlerin farkları şunlardır; Şart Sağlandıkça Çalışan döngü Şart Sağlanana Kadar Çalışan Döngü Önce şartı sorgular. Sonra eylemi yapar Önce eylemi uygular. Sonra şartı sorgular. Şartın Sağlanıp sağlanmadığı bilinmemektedir. Şartın en az bir kez sağlandığı düşünülmektedir. Şart sağlanmıyorsa hiç çalışmaz. Şart sağlansa da sağlanmasa da en az bir defa çalışır.

30 Karar Yapıları Şart Hayır Evet Günlük hayatta farkında olmadan sürekli bir şeyler için kararlar veririz. Akış şemasında yandaki sembolü ile gösterilir. Yolculuk yapacağımızda; uçakla mı gitsem otobüsle mi? Hangi filme gidelim; gerilim mi aksiyon mu? Kıyafet seçerken; gömlek mi giysem kazak mı? Gibi sorulara sürekli bir karar mekanizmasını kullanarak cevap veririz. Burada karar mekanizmasında bir şartı sorgularız ve bu şarta göre karar veririz. Uçak mı yoksa otobüs mü? Sorusunu ele alalım eğer uçak bileti 100 ₺’den az ise Uçakla yolculuk yap Değilse Otobüsle yolculuk yap < Evet Hayır

31 Operatörler Operatörler Sayısal Operatörler + Toplama - Çıkarma *
Çarpma / Bölme \ Tam sayı Bölme ^ Kuvvet Alma = Atama Sözel Operatörler + veya & Birleştirme « » Değer girişi Mantıksal Operatörler AND Ve (şartların hepsi) OR Veya (şartların en az birisi) NOT Değil (olmayan) Karşılaştırma Operatörleri < küçük > büyük <> farklı == eşit <= Küçük eşit >= Büyük eşit


"Algoritma ve Akış Diyagramları" indir ppt

Benzer bir sunumlar


Google Reklamları