Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "Algoritma ve Akış Diyagramları Öğr. Gör. Arif DAŞ Atatürk Üniversitesi Erzurum Meslek Yüksek Okulu Bilgisayar Programcılığı."— 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. Başla Bitir

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; 1.Başlangıcı olmalı 2.Basit olmalı 3.Problemin çözümünü, mümkün olan en az adım ile en kısa sürede gerçekleştirmeli 4.Sonu olmalı

8 Fareyi peynire götür!  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şlaAdım 12. Sağa Dön Adım 2. Sola dönAdım 13. İleri 100 birim git Adım 3. İleri 50 birim gitAdı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! Başla Sola Dön İleri 50 birim git Sağa Dön İleri 30 birim git Sola dönİleri 30 birim git Sola Dön İleri 30 birim git Sağa Dön İleri 30 birim git Sağa Dönİleri 100 birim git Bitir Akış Diyagramı

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. Bilgi giriş çıkışı için kullanılır. Aktarma, aritmetik hesaplama, işlem Karar alma için kullanılır. Döngü Yön çizgileri, İşlemin akış yönünü gösterir. 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?  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 C sıcaklığa ulaşmasıdır.  Suyun donması içinde 0 0 C 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ı: x10 23  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 0 C 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; 1.İçeriğe yönelik isimler kullanılmalı 2.Türkçe karakter kullanılmamalı 3.Değişken ismi harf ile başlamalıdır. 4.İsimlendirmede boşluk kullanılmamalıdır. 5.Kullanılan programlama dilinde özel anlam taşıyan komut veya tanımlama değimleri kullanılmamalıdır. 6.Değişken ismi 255 karakterden fazla olmamalıdır. 7.İ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 Global (Genel) Local (Yerel) 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. KovaElekKarton KutuŞişe

20 Veri Türleri Nelerdir?  Char  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ı)  İç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, 42.5 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ü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. 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

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ışı  Sıradan Algoritma ile; 1.Başla7. Adım at 2.Adım at8. Adım at 3.Adım at 9. Adım at 4.Adım at 10. Adım at 5.Adım at 11. Bitir 6.Adım at  Döngü ile; 1.Başla 2.sayac değişkeni tanımla 3.sayac=sayac+1 4.Adım at 5.Sayac =10 ise 7. adıma git 6.3. adıma git 7.Bitir. Burada işlem(adım atma) 10 defa idi ve sadece 4 işlem adımı kar ettik peki ya 1000 defa olsaydı. BAŞLA sayac Adım at Sayac 1’den 10’a kadar Sayac’ı 1 artır Bitir Sayac < 10 Sayac = 10

26 Ş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  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. Sart sağlandıkça çalışan döngülerde; önce şart sorgulanır ve daha sonra eylem tekrarlanı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  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. Biraz önceki örneklere şimdide şart sağlanıncaya kadar çalışan döngü mantığı ile bakalım.  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ı  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 Şart Evet Hayır

31 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ı Öğr. Gör. Arif DAŞ Atatürk Üniversitesi Erzurum Meslek Yüksek Okulu Bilgisayar Programcılığı." indir ppt

Benzer bir sunumlar


Google Reklamları