1 / 32

BPR151 ALGORİTMA VE PROGRAMLAMA - I

BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul. Pseudo-code (yalancı kod) & Akış şemaları. Pseudo-code (yalancı kod) & Akış şemaları. Algoritmalar genelde anlaşılır dillerle yazılır

Download Presentation

BPR151 ALGORİTMA VE PROGRAMLAMA - I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul

  2. Pseudo-code(yalancı kod)& Akış şemaları

  3. Pseudo-code(yalancı kod) & Akış şemaları • Algoritmalar genelde anlaşılır dillerle yazılır • Bu algoritma stilleri pseudo-code(yalancı kod) olarak adlandırılır • Yalancı kodlar genellikle çözüme başlamak için iyi bir yoldur. • Bununla beraber, program akışı bu tür yalancı kodlarla her zaman çok açık olmayabilir! • Bunun için, kontrol akışını daha açık ifade etmek için Akış şemaları kullanılır. Öğr. Gör. Bayram AKGÜL

  4. Akış Şemaları • Bir Akış şeması yapılandırılmış bir harita gibi algoritma adımlarını gösterir. • Aşağıdaki şekiller bir akış diyagramı içinde kontrol akışını ifade etmek için kullanılır Deltoitlerkoşul durumunda karar verme adımını gösterir Dikdörtgenler işlem adımlarını gösterir Paralel kenar girdi adımlarını gösterir Altı yamuk dörtgenler çıktı adımlarını gösterir Başla Bitir Oklar Akış yönünü gösterir Algoritmanın başlangıç ve bitişini gösterir Çember bağlantı noktasını gösterir Öğr. Gör. Bayram AKGÜL

  5. Program • Bir program tanımlanmış bir problemi çözmek için hazırlanmış bir yapıdır. Örnek problemler: • 1 den N sayısına kadar olan sayıların toplamı • N tane sayının en büyük ve en küçük olanını bulma • Sayıları sıralama • Sınıfın not ortalamasını hesaplama • … PROGRAM (Algoritma) Girdi (Veri) Çıktı (Sonuç) • Bir program girdi olarak bazı verileri alır, onları işler ve sonucu çıktı olarak verir. Öğr. Gör. Bayram AKGÜL

  6. Örnek-1: Sandviç Yapma • Problem:Fıstık ezmeli ve reçelli sandviç yapmak için bir algoritma yazalım. • Girdiler • Ekmek (En az 2 dilim) • Fıstık ezmesi • Reçel • Bıçak • Sandviçi koymak için tabak • Çıktı • Bir sandviç Öğr. Gör. Bayram AKGÜL

  7. Örnek-1: Sandviç Yapma (devam) • Başla • Ekmeği, fıstık ezmesini, reçeli, bıçağı ve tabağı çalışacağın yere koy • İki dilim ekmeği tabağa koy • Fıstık ezmesini bir ekmeğe sür, sürmek için bıçağı kullan • Diğer ekmeğe reçeli sür, sürmek için bıçağı kullan • Reçel ve fıstık ezmesi içeriye gelecek şekilde iki dilimi bir biri üstüne koy • Sandviç hazır! • Bitir Öğr. Gör. Bayram AKGÜL

  8. Örnek 1 için Akış Şeması: Sandviç yapma Başla Ekmeği, fıstık ezmesini, reçeli, bıçağı ve tabağı al 2 dilim ekmeği masaya koy Fıstık ezmesini bir dilime sür Reçeli diğer dilime sür iki dilimi bir biri üstüne koy Sandviç hazır! Bitir

  9. Örnek 2:Fahrenhayt’ı santigrada dönüştürme • Problem:Fahrenhayt sıcaklık birimini santigrat derece birimine dönüştürecek bir algoritma yazalım. • Girdi (Input) • Fahrenhayt derece (°F) sıcaklık • Çıktı(Output) • Santigrat derece (°C) sıcaklık Öğr. Gör. Bayram AKGÜL

  10. Örnek 2:Fahrenhayt’ı santigrada dönüştürme (devam) • Başla • Kullanıcıdan dönüştüreceğin Fahrenhayt dereceyi girmesini iste • santigrat = (fahrenhayt -32)/1.8 • Fahrenhayt ve Santigrat dereceleri ekrana yazdır. • Bitir Öğr. Gör. Bayram AKGÜL

  11. Örnek 2 için Akış Şeması: Fahrenhayt’ı santigrada dönüştürme Başla Kullanıcıdan dönüştüreceğin Fahrenhayt dereceyi girmesini iste santigrat = (fahrenhayt -32)/1.8 Fahrenhayt ve Santigrat dereceleri ekrana yazdır. Bitir

  12. Örnek-3: 2 sayının toplam, çarpım ve ortalamasını hesaplama • Problem:2 sayının toplam, çarpım ve ortalamasını hesaplayacak algoritma yazalım. • Girdi • 2 sayı • Çıktılar • Sayıların toplam çarpım ve ortalamaları toplam sayı1 program çarpım sayı2 ortalama Öğr. Gör. Bayram AKGÜL

  13. Örnek-3: 2 sayının toplam, çarpım ve ortalamasını hesaplama • Başla • Kullanıcıdan sayı1 ve sayı2 yi girmelerini iste • toplam = sayı1 + sayı2 • çarpım = sayı1 * sayı2; • ortalama = toplam / 2; • toplam, çarpım ve ortalamayı ekrana yaz • Bitir Öğr. Gör. Bayram AKGÜL

  14. Örnek 3 için Akış Şeması: 2 sayının toplam, çarpım ve ortalamasını hesaplama Başla Kullanıcıdan sayı1 ve sayı2 yi girmelerini iste toplam = sayı1 + sayı2 çarpım = sayı1 * sayı2 ortalama =toplam/2 toplam, çarpım ve ortalamayı ekrana yaz Bitir

  15. Örnek-4: bir çemberin çevresini ve alanını hesaplama • Problem:bir çemberin çevresini ve alanını hesaplayan bir algoritma yazalım. • Girdi • Çemberin yarı çapı • Çıktı • Çemberin çevresi ve alanı Öğr. Gör. Bayram AKGÜL

  16. Örnek-4: bir çemberin çevresini ve alanını hesaplama • Başla • Kullanıcıdan çemberin yarıçapını girmesini iste • çevre = 2 * 3.14 * yarıçap; • alan = 3.14 * yarıçap * yarıçap; • Çevre ve alanı ekrana yazdır. • Bitir Öğr. Gör. Bayram AKGÜL

  17. Örnek 4 için Akış Şeması: çemberin çevresi ve alanını hesaplama Başla Kullanıcıdançemberin yarıçapınıgirmesiniiste çevre = 2*3.14*yarıçap Alan = 3.14* yarıçap * yarıçap; Çevre ve alanı ekranayazdır Bitir

  18. Örnek-5: 2 sayının küçük ve büyük olanını bulma • Problem:2 sayının küçük ve büyük olanını bulan bir algoritma yazalım. • Girdi • 2 sayı • Çıktı • Küçük ve büyük sayı Öğr. Gör. Bayram AKGÜL

  19. Örnek-5: 2 sayının küçük ve büyük olanını bulma • Başla • Kullanıcıdan sayı1 ve sayı2’yi girmelerini iste • eğer (sayı1 < sayı2) • 2.1. küçük = sayı1; • 2.2. büyük = sayı2; • değilse (yani sayı1 >= sayı2) • 3.1. küçük = sayı2; • 3.2. büyük = sayı1; • Küçük ve büyük sayıları ekrana yazdır • Bitir Öğr. Gör. Bayram AKGÜL

  20. Örnek 5 için Akış Şeması: 2 sayının büyük ve küçük olanını bulma Başla Kullanıcıdan sayı1 vesayı2’yigirmeleriniiste sayı1 < sayı2 ? evet Hayır küçük= sayı1 küçük= sayı2 büyük= sayı2 büyük= sayı1 Küçük ve büyük sayılarıyazdır Bitiş

  21. Örnek-6: 3 sayının en küçük olanını bulma • Problem:3 sayının en küçük olanını bulacak bir algoritma yazalım • Girdi • 3 sayı • Çıktı • Sayılardan en küçük olanı Öğr. Gör. Bayram AKGÜL

  22. Örnek-6: 3 sayının en küçük olanını bulma (devam) • Başla • Kullanıcıdan sayı1, sayı2 ve sayı3 ü girmelerini iste • eğer (sayı1 < sayı2) • 2.1. eğer (sayı1 < sayı3) iseküçük = sayı1; • 2.2. değilse (yani, sayı3 <= sayı1) küçük = sayı3; • değilse (yani, sayı1 >= sayı2) • 3.1. eğer (sayı2 < sayı3) küçük = sayı2; • 3.2. değilse (yani, sayı3 <= sayı2) küçük = sayı3; • Küçük sayısını ekrana yaz • Bitir Öğr. Gör. Bayram AKGÜL

  23. Örnek 6 için Akış Şeması: 3 sayıdan küçük olanını bulma Başla Kullanıcıdan sayı1, sayı2 ve Sayı3’ü girmeleriniiste sayı1 < sayı2 ? evet hayır sayı2 < sayı3 ? evet sayı1 < sayı3 ? evet hayır hayır küçük= sayı3 küçük= sayı3 küçük= sayı2 küçük= sayı1 küçüksayısınıyazdır Öğr. Gör. Bayram AKGÜL Bitir

  24. Örnek-7: 3 sayının en küçük olanını bulma (2. algoritma) • Başla • Kullanıcıdan sayı1, sayı2 ve sayı3 ü girmelerini iste • küçük = sayı1; (sayı1 in en küçük olduğunu farzedelim) • eğer (sayı2 < küçük) küçük = sayı2; • eğer (sayı3 < küçük) küçük = sayı3; • küçük sayısını ekrana yaz • Bitir Öğr. Gör. Bayram AKGÜL

  25. Örnek 7 için Akış Şeması: 3 sayıdan küçük olanını bulma Başla Kullanıcıdan sayı1, sayı2 ve Sayı3’ü girmeleriniiste küçük= sayı1 evet sayı2 < küçük ? küçük= sayı2 hayır evet sayı3 < küçük ? küçük= sayı3 hayır küçüksayısını ekranayazdır Bitir

  26. Örnek-8: Kenar uzunlukları verilen bir dikdörtgenin alanının hesaplanması • Problem:Kenar uzunlukları verilen bir dikdörtgenin alanını hesaplayalım. • Girdi • Kısa ve uzun kenar • Çıktı • Dikdörtgenin alanı Öğr. Gör. Bayram AKGÜL

  27. Örnek-8: Kenar uzunlukları verilen bir dikdörtgenin alanının hesaplanması (devam) • Başla • Kullanıcıdan dikdörtgenin uzun ve kısa kenarlarının girmesini iste • alan = uzunkenar * kısakenar; • alanı ekrana yazdır. • Bitir Öğr. Gör. Bayram AKGÜL

  28. Örnek-8: Kenar uzunlukları verilen bir dikdörtgenin alanının hesaplanması (devam) Başla Kullanıcıdandikdörtgenin uzun ve kısa kenarlarınıngirilmesiniiste Alan = uzunKenar*kısaKenar alanıekranayazdır Bitir

  29. Örnek-8: Kenar uzunlukları verilen bir dikdörtgenin alanının hesaplanması (devam) • Uyarı: kullanıcı uzun veya kısa kenar için 0 veya negatif bir değer girerse ne olur? • Negatif veya 0 alan olabilir mi? • Ne Yapmalıyız? • Kontrol Öğr. Gör. Bayram AKGÜL

  30. Örnek-8: Kenar uzunlukları verilen bir dikdörtgenin alanının hesaplanması (devam) • Başla • Kullanıcıdan dikdörtgenin uzun kenarını girmesini iste • Eğer (uzun kenar <= 0 ) ise 1. adıma git • Kullanıcıdan dikdörtgenin kısa kenarını girmesini iste • Eğer (kısa kenar <= 0 ) ise 3. adıma git • alan = uzunkenar * kısakenar; • alanı ekrana yazdır. • Bitir Öğr. Gör. Bayram AKGÜL

  31. Örnek-8: Kenar uzunlukları verilen bir dikdörtgenin alanının hesaplanması (devam) Başla Kullanıcıdandikdörtgenin uzun kenarınıngirilmesiniiste evet Alan = Uzun Kenar* Kısa Kenar Uzun Kenar <=0 ? hayır alanıekranayazdır Kullanıcıdandikdörtgenin kısa kenarınıngirilmesiniiste hayır evet Bitir Kısa Kenar <=0 ?

  32. Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL

More Related