-0- ALGORİTMA -0-
9.Yüzyılda bizim coğrafyamız sayılacak olan bölgede kendi kanımızdan hatta uzak akrabamız sayılan Türkistanlı bir bilim adamı olan Ebu Abdullah Muhammed bin Musa el Harezmî tarafından bilim âlemine hediye edilmiştir. Bir program değildir unutmayalım bunu. Programlama dillerine kılavuzluk yapar.
Nasıl hediye edilmiş_?
Avrupa da çok ilgi gören kitabın ismi ve âlimin ismi Avrupalılar tarafından telaffuz edilemediği için algorizm sözcüğününü kullanmışlardır. Algorizm Arap sayıları kullanarak problemleri çözmek anlamına gelir. Zamanla algorizm algoritmaya dönüşmüştür.Tabi benim için bunlar işin felsefesi, Abi adamlar ne zaman bizi doğru düzgün insan yerine koymuş da ismimizi düzgün telafüz etmiş. Neyse dağıtmayalım ama bastian schweinsteiger bu ismi bile doğru telafüz eden nesile böyle muamele yapılmaz.
Neden algoritma hayatımızda var_?
Eğer herhangi bir cihaz ya da malzeme alıyorsak ve yanında kullanma kılavuzu veriliyorsa işte size verilen kılavuz tam olarak algoritmanın kendisi. Çünkü size nasıl kullanmanız gerektiğini hangi menülerden nerelere ulaşacağınızı tek tek açıklıyor. Yani kısaca demek gerekirse, bu sabah kalkıp kendine saat 9 da kahvaltı yapayım 11 de dışarı çıkayım aylaklık yapayım diyorsan işte senin algoritman da tam olarak budur.Algoritma bence planlama demek
Algoritma bence önsezi demek
Algoritma bence sadeleştirmek demek
Algoritma yöntem demek
Kısaca çözümsüzlükleri çözmede kullanacağımız yol demek.
Dünyada ki her problemin bir çözümü vardır. %80-85 arasında doğa kendi problemini yaratır ve çözer. Diğer %15-20 arasında da insanlar var olan problemleri çözer ya da kendi pisliklerini temizlemeye uğraşırlar. Bu iş de kolay bir iş değil, planlama gerekli, önsezi gerekli, problemi tanıyıp mümkün olduğunca kolay ve karmaşık olmayan çözümler üretilmeli ki bu sorunları aşalım. Elbette sorunun bir başlangıcı ve bir de sonu olacaktır. Hatta bazen bu sorun devamlı kendini yenileyecektir. Doğadaki grip gibi düşünebiliriz. Hiç kaybolmuyor lanet şey.
Algoritma yani problemin çözümünün bazı temel noktaları da var.
Değişken: Adı üstünde değişken, problemin her döngüsünde başka bir değer alabilen kısımlardır. Bunu biz tanımlarız. Örneğin deniz dalgasının her saniyedeki yüksekliği değişkendir. Bir dalga analizi yapacaksak yükseklik değerini değişken belirlememiz gerekli.
Sabitler: Problemde sorun da çözülecek her neyse değişkenler olduğu kadar sabitler de vardır. Bu sabitler kaç defa döngü olursa olsun değişmez. Her defasında aynı değerleri alarak döngü içindeki yerleri en kararlı değerlerdir. Sanıyorum ki sabiti bir defa yakalarsak problem çözümünü de kolayca çıkarabiliriz. Örnek vermek gerekirse, sürtünmeden dolayı yapılan iş formülü
Ws = Fs x (X2-X1)
Ws : sürtünmenin yaptığı iş
Fs : sürtünme kuvveti
X: yol
Bu formülde gidilen yol daima sabittir. Ancak değişken olan farklı yolların uyguladığı sürtünme direnci farklıdır yani değişkendir.
Akış diyagramı: Her problem 3le 2yi topla gibi küçük değil elbette dolayısıyla karmaşık ve rakamlarla içinde bulunmanın zor olduğu problemler için de akış şemaları çizerek işimizi kolaylaştırır ve çözümün daha akıcı ve kalıcı olmasını sağlayabiliriz.
Her algoritma aşağıdaki kriterleri sağlamalıdır.
1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.
2. Çıktı: En azından bir değer üretilmeli.
3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.
4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.
5. Etkinlik: Her komut kişinin kalem ve kâğıt ile yürütebileceği kadar basit olmalıdır.
Not:4. özellik işletim sistemleri gibi sonsuz döngülere sahip sistemlerde bitmez bitmemeli
Örneğin bir problemle ilgileniyoruz nereden başlayacağız_?
Bu 5 yolu uygulayacağız 1. Problemin farkına varmak,
2. Problemi analiz etmek,
3. Çözüm yolları düşünmek,
4. İyi çözüm yolları seçip algoritma oluşturmak,
5. Akış diyagramı çizmek.
Size çok basit bir örnekle akış şemasını da göstereyim neye benzediğini bilelim en azından.
diktörgen alan hesabı
A1=> a kenarı
A2=> 2
A3=> b kenarı
A4=> 4
A5=> axb
A6=> 8
A7=> doğru sonuç
A1 :a değerini gir
A2 :a<0 ise 1. adımı tekrarla
A3 :b değerini gir
A4 : b<0 ise 3. adımı tekrarla
A5 :Alan = a*b
A6 :Alan değerini yaz
A7 :Bitir
Preperty sağlıcakla sunar
Lütfen eleştirin... kiii öğrenmemize faydanız olsun
Moderatör tarafında düzenlendi: