algoritmalar ve programlama -...

Download Algoritmalar ve Programlama - dosyalar.hyesilyayla.comdosyalar.hyesilyayla.com/.../ProgramlamaTemelleri/Algoritmalar.pdf · Algoritma Bir sorunu / problemi çözmek veya belirli bir

If you can't read please download the document

Upload: danganh

Post on 06-Feb-2018

242 views

Category:

Documents


7 download

TRANSCRIPT

  • Algoritmalar ve Programlama

    Algoritma

  • Algoritma

    Bir sorunu / problemi zmek veya belirli bir amaca ulamak iin gerekli olan sral mantksal admlarn tmne algoritma denir.

    Algoritma bir sorunun zm iin izlenecek yolun tanmdr. Ksaca algoritma mevcut bilgilerden istenilenlere erime yntemidir.

    Programlamann en nemli ksm problemin zm iin algoritma hazrlayabilmek / gelitirmektir.

    Hazrlanan algoritmann bir programlama dili ile kodlanmas iin basit ksmdr.

    Kullanlan dilin basic / pascal / c ya da baka bir programlama dili olmas bir eyi deitirmez.

    Yani burada Bu yzden kullanlan programlama dilinin eski yada yeni bir programlama dili olmas hi nemli deildir.

  • Algoritmadan Beklentiler

    Etkinlik: Bilgisayarlar dnemez. Bu yzden algoritmann her adm anlalr, basit ve kesin bir biimde ifade edilmi olmaldr. Yorum gerektirmemeli ve belirsiz ifadelere sahip olmamaldr. Gereksiz tekrarlarda bulunmayan dier algoritmalar ierisinde de kullanlabilir olmaldr.

    Sonluluk: Her algoritmann bir balang noktas, belirli ilem adm ve bir biti noktas iermelidir. Sonsuz dngye girmemelidir.

    Kesinlik: lem sonucu kesin olmal, ayn veri iin her yeni altrmada ayn sonucu retmelidir.

    Giri/k: Algoritma giri (zerinde ilem yaplacak deerler) ve k (yaplan ilemler neticesinde retilen sonu deerler) deerlerine sahip olmaldr.

    Baarm/Performans: Ama donanm gereksinimi (bellek kullanm gibi), alma sresi gibi performans kriterlerini dikkate alarak yksek baarml programlar yazmak olmaldr.

  • Algoritma fade ekilleri

    1. Algoritmann metin olarak yazlmas

    zlecek problem, adm adm metin olarak yazlr.

    Her satra numara verilir.

    Bala ile balayp son ile bitirilir

  • Algoritma fade ekilleri

    Problem: Klavyeden girilen saynn karesini hesaplayarak ekrana yazdran programn algoritmasn yaznz?

    1) Bala

    2) Sayy (A) gir

    3) Saynn karesini hesapla (Kare = A*A ilemini yap)

    4) Sonucu (Kare) yaz

    5) Dur

  • Algoritma fade ekilleri

    Pseudo Code (Kaba Kod)

    Szde programlar, dorudan konuma dilinde ve programlama mant altnda, eer, iken gibi koul kelimeleri ve > = < gibi ifadeler ile beraber yazlr. yi bir biimde yazlm, szde koddan, programlama diline kolaylkla geilebilir.

  • Algoritma fade ekilleri

    Problem: Verilen bir scaklk derecesine gre suyun durumunu belirten bir szde program(pseudo kod) yaznz.

    stenilen programn Pseudo Kodu: 1. Program aklama mesaj yaz.

    2. Kullancn scakl girmesi iin bir uyar mesaj yaz.

    3. Girilen Scakl Oku.

    5. Eer Scaklk < 0 ise Durum=Buz

    6. Eer Scaklk>= 100 ise Durum=Buhar

    7. Deilse Durum =Su

    8. Sonucu Yaz.

  • Ak Diyagramlar (emalar)

    Algoritmann, grsel olarak simge ya da sembollerle ifade edilmi ekline ak emalar veya FLOWCHART ad verilir. Ak emalarnn algoritmadan fark, admlarn simgeler eklinde kutular iine yazlm olmas ve admlar arasndaki ilikilerin ve ynnn oklar ile gsterilmesidir.

  • Ak Diyagramlar (emalar)

    En basit ekliyle dikdrtgen kutulardan ve oklardan oluur. Ak emas sembolleri ANSI (American National Standards Institute) standard olarak belirlenmi ve tm dnyada kullanlmaktadr.

  • Ak Diyagramlar (emalar)

  • Ak Diyagramlar (emalar)

  • Ak Diyagramlar (emalar)

  • Ak Diyagramlar (emalar)

  • Ak Diyagramlar (emalar)

  • Algoritmalarda Kullanlan Operatrler

  • Algoritmalarda Kullanlan Terimler 1) Tanmlayc 2) Deiken 3) Sabit 4) Aktarma 5) Saya 6) Dng 7) Ardk Toplama 8) Ardk arpma 1) Tanmlayc

    Programc tarafndan oluturulur. Programdaki deikenleri, sabitleri, kayt alanlarn, zel bilgi tiplerini vb.

    adlandrmak iin kullanlan kelimeler Tanmlayclar, yerini tuttuklar ifadelere arm yapacak ekilde seilmelidir. ngiliz alfabesindeki A-Z veya a-z aras 26 harften 0-9 aras rakamlar kullanlabilir Sembollerden sadece alt izgi (_) kullanlabilir. Tanmlayc isimleri harfle veya alt izgiyle balayabilir. Tanmlayc ismi, rakamla balayamaz veya sadece rakamlardan oluamaz.

  • Algoritmalarda Kullanlan Terimler 2-)Deiken Programn her altrlmasnda, farkl deerler alan

    bilgi/bellek alanlardr. Deiken isimlendirilmeleri, yukarda saylan tanmlayc

    kurallarna uygun biimde yaplmaldr. rnein ;

    Bir ismin aktarld deiken ; ad Bir isim ve soy ismin aktarld deiken; adsoyad Ev telefon no sunun aktarld deiken; evtel Ev adresinin aktarld deiken; evadres adresinin aktarld deiken; isadres

    3-) Sabit Programdaki deeri deimeyen ifadelere sabit denir. simlendirme kurallarna uygun olarak oluturulan sabitlere, saysal veriler dorudan; alfa saysal veriler ise tek/ift trnak iinde aktarlr.

  • Algoritmalarda Kullanlan Terimler

  • Algoritmalarda Kullanlan Terimler 4-) Aktarma

  • Algoritmalarda Kullanlan Terimler 5-) Saya

  • Algoritmalarda Kullanlan Terimler

  • Algoritmalarda Kullanlan Terimler

    6-) Dng

    Bir ok programda baz ilemler, belirli ardk deerlerle gerekletirilmekte veya belirli sayda yaptrlmaktadr. Programlardaki belirli ilem bloklarn, verilen sayda gerekletiren ilem ak evrimlerine dng denir.

    rnein 1 ile 1000 arasndaki tek saylarn toplamn hesaplayan programda T=1+3+5 . yerine 1 ile 1000 arasnda ikier artan bir dng alr ve dng deikeni ardk toplanr.

  • Algoritmalarda Kullanlan Terimler

  • Algoritmalarda Kullanlan Terimler 7-) Ardk Toplama Programlarda, ayn deerin zerine yeni deerler eklemek iin kullanlr. Toplam deikeni=Toplam deikeni + Say rnek: Klavyeden girilen 5 saysnn ortalamasn bulan programn algoritmas.

    1. Bala 2. T=0 3. S=0 4. Eer S>4 ise git 9 5. S=S+1 6. Sayy (A) gir 7. T=T+A 8. Git 4 9. Ortalama=T/5 10. Yaz Ortalama 11. Dur

  • Algoritmalarda Kullanlan Terimler 8-) Ardk arpma Ardk veya ardl arpma ileminde; ayn deer, yeni deerlerle arplarak eskisinin zerine aktarlmaktadr. arpm deikeni=arpm deikeni * Say rnek: Klavyeden girilen N saysnn faktriyelini hesaplayan programn algoritmasn yaznz.

    1. Bala 2. N saysn gir 3. Fak=1 4. S=0 5. Eer S>N-1 ise git 9 6. S=S+1 7. Fak=Fak*S 8. Git 5 9. Yaz Fak 10. Dur

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

    Dng Yaps Bu yap kullanlrken, dng sayac, koul bilgisi ve sayacn artm bilgisi verilmelidir. Dng sayac kullanlmyorsa sadece dngye devam edebilmek iin gerekli olan koul bilgisi verilmelidir. Genel olarak ou programlama dilinin dng deyimleri ;

    While Do-while For

    gibi yaplar zerine kurulmutur. Farkl dillerde bu yaplara farkl alternatifler olsa da dnglerin alma mant genel olarak benzerdir.

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Ak Diyagramlarnda Kullanlan Temel ekiller

  • Matematiksel ilemler

  • Matematiksel ilemler

  • Matematiksel ilemler

  • Matematiksel ilemler

  • Karlatrma

  • Karlatrma

  • Mantksal lemler

  • Mantksal lemler

  • Mantksal lemler

  • Mantksal lemler

  • Mantksal lemler

  • Mantksal lemler

  • yi almalar