Algoritma, bir işin hangi etaplardan geçilerek yapılacağını gösteren çalışma planıdır. Algoritma bir programlama dili değildir. Programlama dillerine yol gösteren bir yöntem dizisidir. Her dilde algoritma yazılıp uygulanabilir. Örneğin bir cep telefonunun el kitapçığında yazan, rehber kaydı girmek için izlenecek yollar, o işin algoritmasıdır.
Algoritma yazarken, programın çalışması için kullanılan kaynakların, yapılması gereken kontrollerin veya işlemlerin açıkça ifade edilmesi gerekir. Ayrıca iyi bir algoritmanın, tüm ihtimalleri kontrol edip istenmeyen durumlarda ne yapılması gerektiğini de belirtmesi gerekir.
Örneğin, bir e-ticaret uygulamasında ürün satış algoritması çıkarılır. Satın alınacak ürün seçildikten sonra, kullanıcıdan adet miktarı bilgisi alınır. Uygulama yazılırken, bu değerin Int32 veri tipinde olacağına karar verildiği düşünülürse; kullanıcının girdiği adet miktarı bu değişkene atanmadan önce kontrol edilmelidir. Eğer Int32 veri tipinin tutamayacağı bir değer girilmişse, çalışma anında uygulamanın beklenmedik şekilde durduğu ya da istenmeyen sonuçların üretildiği gözlemlenir. Ayrıca sistemin verdiği hata, kullanıcının anlamayacağı bir mesaj içereceği için, uygulamanın imajını da kötü yönde etkiler.
NOT: En çok kullanılan sayısal veri tipi 32 bitlik Int32'dir. 1 bayt = 8 bit olduğu için bu değer hafızada 4 bayt olarak yer kaplar.
Bilmeyenler için kısa bilgiler geçelim...
Int32
Nedir?
CTS (Common Type System) standardında 32 bit işaretli tamsayı verisi taşıyabilen basit veri yapısıdır. (-2147483648) ile (2177483647) arasında değer alabilir. CLR (Common Language Runtime) da alias'ı int'tir.
CLI ( Common Language Infrastructure ) Nedir?
Programlama dillerinin ortak dil altyapısı standatlarıdır.
CTS ( Common Type System ) Nedir?
Ortak dil altyapısı CLI (Common Language Infrastructure) standardına uyumlu implementasyonların veri tanımlama ve veri taşıma için uymak zorunda oldukları standartlardır.
CLS ( Common Language Specification ) Nedir?
Ortak dil spesifikasyonu bünyesinde barındırdığı bir takım yapıları ve kısıtları ile kütüphane (library) ve derleyici (compiler) yazabilmek için rehberlik yapmaktadır.
CLR ( Common Language Runtime ) Nedir?
Programlama dilleri ile üretilmiş kodların sistem üzerinde çalıştırılmasını sağlayan mekanizmadır.
Anlayacağınız üzere, konu derine indikçe biraz uzun ve karmaşık hale gelebiliyor. Bu nedenle anlayamıyoruz yada üstüne düşmeyerek anlamaktan vazgeçiyoruz. Aslında bu karmaşık olaylara yüzeysel bakabilirsek bir şeylerin yerli yerine oturacağına eminim.
Kısaca Algoritma;
- İşin yapılma sırasının belirlenmesidir.
- İş, en küçük etaplara ayrılır.
- Olası tüm hataların tespit edilmesi, gerekli kontrollerin yapılması gerekir.
- Algoritmanın yönü belirlenmelidir. ( Veri girişi, Kararlar ve İşlemler )
Algoritma Yönü Belirleme
- Veri girişi: Çalışma zamanında çoğu kez, işleyişin tamamlanması için dışarıdan bir bilgi girilmesi gerekir. Algoritmanın çalışması için ihtiyaç duyduğu veriler, işlemi başlatan kişiden veya belirtilen bir kaynaktan alınabilir. Bu bilgiler sağlanmadan işlem devam etmez.
- Kararlar: Karar ve kontrol yapıları algoritmanın akışını yönlendiren en önemli kavramlardır. Girilen veya işlem sonucunda elde edilen veriler, işlemin amacına göre kontrol edilir ve sonuca göre algoritma akışı istenen yere yönlendirilir.
- İşlemler: Algoritmanın akışı boyunca veriler üzerinde değişiklikler, yeni değer atamaları gibi işlemlere ihtiyaç duyulur. Algoritmalar kurulurken, yapılan işlemlerin yalın halde, tek tek yazılması okunabilirliği artırır. Algoritmalar adım sırası ile çalışır ve karar yapıları sonucunda farklı bir yere yönlendirilmediği müddetçe, bir sonraki adım ile işlemeye devam eder.
Örnek: Telefon kulübesinden telefon açmak için örnek bir algoritma
1. Telefon kulübesine git.
2. Telefon kartı al.
3. Telefon sırasında kaç kişi olduğuna bak.
4. Kişi sayısı sıfırdan fazlaysa 3’e dön.
5. Kapı kapalıysa kapıyı aç.
6. İçeri gir, kapıyı kapat.
7. Telefon kartını telefona yerleştir.
8. Ahizeyi kaldır.
9. Numarayı çevir.
10. Konuşmanın bitip bitmediğine bak.
11. Konuşma bittiyse kartı al, bitmediyse 10’a dön.
12. Bir daha konuşma yapılacaksa 7’ye dön.
13. Kapıyı aç, dışarı çık.
Bu algoritmanın işlemesi için, her ihtimal gözden geçirilerek, algoritma akışı gerekli yerlere yönlendirilir. Örneğin, kapının kapalı olması durumunda kapıyı açmak için gerekli komutlar verilmelidir. Bu algoritmanın ihtiyaç duyduğu veriler ya kullanıcı tarafından verilir ya da işlem başlamadan önce belirlidir. Sıradaki kişi sayısı, telefon kartı gibi veriler kullanıcı tarafından sağlanmış; çevrilecek numara, algoritma başlamadan önce belirlenmiştir. Algoritmada adımlara yönelik işlem yapmanın önemli olduğunu belirtmiş olalım. Algoritma kurulurken esas alınacak noktaları da böylelikle öğrenmiş olduk.
Saygılar sunar, esenlikler dilerim. #MS
Yorumlar
Yorum Gönder
Please do not enter any spam link in the comment box.