260 likes | 641 Views
BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul. Dersin Amacı. Bir problemin bilgisayar ortamında çözülebilmesi için gerekli çözüm yönteminin geliştirilebilmesi;
E N D
BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul
Dersin Amacı • Bir problemin bilgisayar ortamında çözülebilmesi için gerekli çözüm yönteminin geliştirilebilmesi; • Bu yöntemin algoritma ve akış diyagramlarıyla ifade edebilmesi; • Yöntemin öğrenilen bir programlama dili ile kodlanıp varsa hatalarının giderilebilmesi hedeflenmiştir. Öğr. Gör. Bayram AKGÜL
Algoritma ve Programlamaya Giriş Genel konular • Problem çözümü ilke ve evreleri ,algoritma ve akış şemaları • Programlama ortamının kullanımı ve kod yazım kuralları • Değişkenler, kontrol deyimleri, döngüler, diziler, alt programlar... Öğr. Gör. Bayram AKGÜL
Program Nedir? • 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 • … Öğr. Gör. Bayram AKGÜL
Program • Bir program girdi olarak bazı verileri alır, onları işler ve sonucu çıktı olarak verir. PROGRAM (Algoritma) Girdi (Veri) Çıktı (Sonuç) Öğr. Gör. Bayram AKGÜL
Problem çözümü ilke ve evreleri • Gereklilik Analizi • Problem ve Girdi/Çıktıları anlama • Dizayn • Problemi çözecek algoritma (çözüm basamakları) oluşturma • Kodlama • Algoritmayı bir programlama dilinde kodlama • Biz bu derste C# dilini kullanacağız. • Test • Programın doğruluğunu kontrol etme Öğr. Gör. Bayram AKGÜL
Algoritma Nedir? • Algoritma; iyi tanımlanmış bir problemin çözümüne ulaşmak için uygulanması gerekli adımların açık, düzenli ve sıralı bir şekilde yazı ile ifade edilmesidir. • Diğer bir deyişle; • Problemin çözümünde izlenecek yola algoritma denir. • Programlama dillerine yol gösteren bir yöntem dizisidir. • Genellikle sonlu sayıda işlem sırası içerir. Öğr. Gör. Bayram AKGÜL
Problemi Anlama ve Çözüm Aşamaları • Her şeyden önce çözülmesi istenen problem tam olarak anlaşılmalıdır. • Problemin anlaşılmasında en ufak bir hata daha sonraki adımların yeni baştan yapılmasını gerektirebilir. • Problemin tanımı yapılırken var olan bilgiler, anlamları ve birbirleri ile ilişkileri tanımlanmalıdır. Öğr. Gör. Bayram AKGÜL Öğr. Gör. Bayram AKGÜL 8
Problemi Anlama ve Çözüm Aşamaları (devam) • Daha sonra istenilenler belirlenmeli ve bunların var olan bilgiler ile ilişkileri öğrenilmelidir. • Son olarak yapılacak işlemler ve çıkacak sonuçlar belirlenir. • Mümkün ise örnek veriler ile elde edilen sonuçlar değerlendirilmelidir. Öğr. Gör. Bayram AKGÜL Öğr. Gör. Bayram AKGÜL
Problemi Geliştirme • Problemin tanımını tam olarak yaptıktan sonra çözüm için yol aramak gerekir. • Genellikle bir problemin birden fazla çözüm yolu olabilir. • Bunlardan en uygunu seçilmeye çalışılır. • Problem karışık ve büyük olursa alt birimlere bölünmelidir. • Her birimin çözümü ayrı ayrı yapılır. • Alt birimler arası ilişki sürekli olarak korunmalıdır. Öğr. Gör. Bayram AKGÜL Öğr. Gör. Bayram AKGÜL
Ö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
Örnek-1: Sandviç Yapma (devam) • 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çi ye Öğr. Gör. Bayram AKGÜL
Örnek-1: Sandviç Yapma (devam) • Adım 1 : Girdilerdir • Adım 2-5:İşlemin nasıl yapılacağını açıklar • Adım 6:Çıktıdır. • Her adımı sırasıyla yapmalıyız • 5. adımı 3. adımdan önce yapmamalıyız yoksa sandviç pek çekici olmaz. Öğr. Gör. Bayram AKGÜL
Ö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
Örnek 2:Fahrenhayt’ı santigrada dönüştürme (devam) • Kullanıcıdan dönüştüreceğin Fahrenhayt dereceyi girmesini iste • santigrat = (fahrenhayt -32)/1.8 • Fahrenhayt ve Santigrat dereceleri ekrana yazdır. Öğr. Gör. Bayram AKGÜL
Ö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
Örnek-3: 2 sayının toplam, çarpım ve ortalamasını hesaplama • 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 Öğr. Gör. Bayram AKGÜL
Ö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
Örnek-4: bir çemberin çevresini ve alanını hesaplama • 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. Öğr. Gör. Bayram AKGÜL
Ö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ılar Öğr. Gör. Bayram AKGÜL
Örnek-5: 2 sayının küçük ve büyük olanını bulma (devam) • 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üçükvebüyük sayıları ekrana yazdır Öğr. Gör. Bayram AKGÜL
Ö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
Örnek-6: 3 sayının en küçük olanını bulma (devam) • 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 Öğr. Gör. Bayram AKGÜL
Örnek-7: 3 sayının en küçük olanını bulma (2. algoritma) • 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 Öğr. Gör. Bayram AKGÜL
Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL