ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında olmadığımız fakat çözdüğümüz bir çok problem vardır. Ağzımızdan büyük olan bir ekmek parçasını ağzımıza götürmeden önce bölmemiz, büyük bir tabaktaki çorbayı rahat bir şekilde içmek için kaşık kullanmamız bir çözümdür.
ALGORİTMA NEDİR? Algoritma bir problemin çözümünde izlenecek yol anlamına gelir. Genellikle programlama yapılmadan önce kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır.
ALGORİTMA HAZIRLANIRKEN NELERE DİKKAT ETMELİYİZ? Algoritmada çözüm tamamıyla ifade edilmelidir. Algoritma basit olmalıdır. Karışık olmamalıdır. Yapılmak istenenler belirgin ve açık olmalıdır. İşlemler yapılma sırasına göre baştan sona doğru sıralanmalıdır. İşlemler numaralandırılmalıdır.
Günlük Hayatta Algoritma Problem: Masa lambanızın elektrik düğmesini açtığınızda lambanın yanmadığını gördüğünüz zaman nasıl bir yol izlersiniz?
Günlük Hayatta Algoritma Çözüm: 1. Lamba çalışmıyor. 2. Lambanın fişi takılı değilse fişi tak 3. Takılıysa Ampül patlak mı kontrol et 4. Patlaksa değiştir. 5. Patlak değilse elektrik kesik mi kontrol et 6. Kesikse elektriğin gelmesini bekle 7. Kesik değilse lamba arızalıdır.
Günlük Hayatta Algoritma Problem: Bakkaldan bir cips satın aldınız ve cipsin tadının normal olmadığını fark ettiğinizde nasıl bir yol izlersiniz?
Programlamada Algoritma Algoritma Genellikle programlamada bir işi yapmak için tanımlanan, belli bir başlangıcı ve sonu olan, açıkça belirlenmiş basamaklardır. Programlama için algoritma yazmaya başlamadan önce bilmemiz gereken kavramlar var.
TANIMLAR Değişken nedir? Değişkeni dışarıdan bilgi almamızı sağlayan boş bir kutu olarak düşünebiliriz. İstediğimiz kadar değişken oluşturabiliriz. Her değişkene kendine özel bir isim veririz ve türünü belirtiriz. Örneğin; Sayi A, Metin B gibi, Algoritma içinde bilgi girişini dışarıdan almadan kendimizde verebiliriz. Değişkenin görevi aldığı bilgiyi saklaması ve istediğimiz zaman bize vermesidir. Örneğin; Veresiye satan bir bakkalın defteri bir değişken olarak düşünülebilir. Borç bilgilerini bu deftere yazması da dışarıdan bilgi alımı olarak düşünülebilir.
TANIMLAR Eğer sorgusu nedir? Eğer ifadesi tıpkı günlük hayatta kullandığımız gibidir. Örneğin; Eğer yağmur yağmıyorsa pikniğe gideceğim. Yağmıyorsa evde oturacağım.
TANIMLAR Döngü nedir? Döngü algoritmamızda defalarca kez çalışmasını istediğimiz adımların bir şarta bağlı olarak çalışma sürecine denir. Örneğin; Akşam yemeği için bir börek hazırladınız ve fırına koydunuz. Böreğin pişip pişmediğini anlamanız için belli aralıklarla kontrol etmeniz gerekiyor. Ta ki börek tam olarak pişene kadar. Bu örnekte böreği kontrol etme işleminiz birden fazla ve böreğin pişme şartına göre değiştiği için bir döngü uygulamaktasınız.
TANIMLAR Döngü nedir? Programlama Algoritmalarında ki kullanımı da tıpkı börek örneğine benzemektedir. Örneğin; 1-100 arasındaki sayılardan hangilerinin çift olduğunu bulmaya çalışmamız. İlk sayımızı birden başlatırız ve 2’ye bölünüp bölünmediğini sorarız.Eğer bölünüyorsa o sayıyı ekrana yazdırırız ve ilk sayımızı bir arttırırız. Yeni sayımız 100 den büyükse döngümüzü sonlandırırız. Yani Döngü oluşturmak için bir sayaca ve bir şarta ihtiyacımız vardı. Çünkü sayaç kaçıncı defa yaptığımızı şart ise kaç defa yapılması gerektiğini söyler.
TANIMLAR Döngü nedir?
TANIMLAR Girdi nedir? Değişkenleri konusunda dışarıdan bilgi aldığını gördük. İşte dışarıdan alınan bu bilgiye biz programlama algoritmalarında girdi diyoruz. Çıktı nedir? Döngü örneklerinden sayının çift olup olmadığını bulan döngüde sayı çiftse Ekrana yaz diye bir adım vardı. İşte bu örnekte ki gibi algoritmamız sonucunda ortaya çıkan ürüne çıktı denir.
ALGORİTMA NASIL YAZILIR? Kullanıcıdan alınan iki sayının toplamını ekrana yazdıran programın algoritması; Algoritmanın ilk adımı başla son adımı son kelimesidir. Çünkü Algoritma başlangıcı ve sonu belli olan bir yapıdır. Kullanıcıdan iki sayı aldığımız için bize iki adet dışarıdan bilgi alabileceğimiz değişken lazımdır. Bunları da A ve B olarak isimlendirdik. Toplam isminde bir değişkenimiz daha var bu değişkenin amacı ise A ve B sayılarının toplam bilgisini tutmak. 6.adımda ise çıktımız olan toplam değişkenini yazdırdık.
Algoritma örnekleri Örnek 1; Klavyeden girilen sayının pozitif, negatif, nötr olduğunu ekrana yazan programın algoritmasını yazınız. Bir sayının negatif mi pozitif mi nötr olduğunu anlamamız için 0 dan büyük mü küçük mü yoksa eşit mi durumlarını kontrol etmemiz gerekiyor. Bu kontrollerin sonucunda sayının ne olduğu bilgisini ekrana yazdırabiliriz Bunun için öğrenmiş olduğumuz eğer sorgusundan yardım alacağız
Algoritma örnekleri Çözümü; İlk önce A isminde bir değişken oluşturduk. Değişkeni oluşturduğumuz anda kullanıcıdan sayımızı da aldık. Daha sonra 3.adımda Eğer sorgusu kullanıp 0 dan büyük mü? Diye kontrol ettik. Büyükse çıktımızı yaz ve son adıma gidip bitir dedik. 4.Adımda aynı işlemi 0 dan küçük mü durumuna göre yaptık. Doğruysa eğer çıktımızı yazıp bitirmesini istedik. Ama eğer yanlışsa 0’a eşit mi diye sormadan nötr yazıp bitirmesini istedik. Çünkü bir sayı 0’dan büyük değil ve aynı zaman da küçük değilse o sayı zaten 0’dır. Algoritmada git yazıp istediğimiz aşamadan devam edebiliriz.
Algoritma örnekleri Örnek 2; Ekrana 100 defa Algoritma öğreniyorum yazan programın algoritmasını yazınız. Aynı şeyi defalarca kez 100 olma şartına göre yapıyoruz sizce de döngü ile yapılması gerekmiyor mu?
Algoritma örnekleri Çözümü; Sayac isminde bir değişken oluşturduk. Sayacımızın görevi her çıktı yazdırdığımızda kaçıncı çıktıyı yazdırdığımızı bilmemizi sağlar ve 100 çıktıdan fazla yazılmasını engeller. Her yazdırma işleminden sonra sayac bir arttırılır. Sayac arttırıldığında 100 den küçük ve eşitse döngü devam eder. Eğer değilse Algoritma sonlandırılır.
AKIŞ DİYAGRAMI NEDİR? Akış diyagramı algoritmanın görsel halidir. Bir çok sembolde oluşur ve her sembolün bir manası vardır. Bu sembollerin içine algoritma adımlarımızı yazarız Bütün semboller oklar ile birbirine bağlanır. Bütün bunların sonucunda Akış diyagramı dediğimiz Algoritmanın görsel hali ortaya çıkar.
AKIŞ DİYAGRAMI SEMBOLLERİ
Akış Diyagramı örnekleri Örnek 1; Klavyeden girilen sayının pozitif, negatif, nötr olduğunu ekrana yazan programın akış diyagramını çiziniz.
Algoritma örnekleri Çözümü; Sayı A A oku Başla Çözümde Her şey açık ve net bir şekilde görülmektedir. Eğer sorgusu için kullanılan sembolün Doğruysa kısmı E harfi Değilse kısmı H harfi ile gösterilmektedir. Paralel kenarla girdi işlemi yapılabildiği gibi çıktı işlemi de yapılabilir. A>0 E Pozitif yaz H A<0 E Negatif yaz H Nötr yaz Bitir
Akış Diyagramı örnekleri Örnek 2; Ekrana 100 defa Algoritma öğreniyorum yazan programın algoritmasını yazınız.
Algoritma öğreniyorum yaz Algoritma örnekleri Çözümü; Başla Sayı Sayac=1 Bu akış diyagramında Sayac ve Şart ile bir döngü oluşturduk. Şart sağlandığı sürece döngü çalışmaya devam eder Algoritma öğreniyorum yaz Sayac=sayac+1 sayac<=100 E H Bitir