Algoritma-Bölüm 2(Temel Özellikler)

Merhaba arkadaşlar,

Geçen makalemde genel olarak algoritmanın ne olduğundan bahsettikten sonra yeni makalemi yayınlıyorum. Bu makalemde algoritmanın genel özelliklerinden bahsedeceğim. Burada bahsedeceğim özellikler en temel 5 özellik olacak. Tabi ki bunları sayıca çoğaltmak mümkündür ancak genel olarak temel özellikler bunlardır.

Etkinlik
Sonluluk
Kesinlik
Giriş/Çıkış Bilgisi
Başarım/Performans Değerlendirmesi

1)Etkinlik

Yazılan algoritmalar etkin ve dolayısıyla gereksiz tekrarlardan uzak oluşturulmalıdır. Bu algoritmanın temel özelliklerinden birisidir. Ayrıca algoritmalar genel amaçlı yazılıp yapısal bir ana algoritma ve alt algoritmalardan oluşturulmalıdır. Böylece daha önce yazılmış bir algoritma daha sonra başka işlemler için de kullanılabilir. Buna örnek vermek gerekirse eğer elimizde, verilen n adet sayının ortalamasını bulmakta kullandığımız algoritma varsa bu algoritma, bir sınıfta öğrencilerin yaş ortalamasını bulan bir algoritma için de kullanılabilmelidir. Başka bir açıdan düşünürsek etkin bir şekilde yazılmış ve toplama, çıkarma, çarpma, bölme işlemlerini yapan algoritmalar bu dört işlemi yapan ana bir algoritma içinde kullanılabilmelidir.

2)Sonluluk

Yazılan algoritmalarda belli alt algoritmalar birbirini takip ederek işleme konulup, ana algoritma tarafından işleme çağrılırlar ve en son işlenen algoritma parçası sona erdiğinde algoritma da sona ermiş olur. Dolayısıyla her algoritmanın bir başlangıç ve bitiş noktası vardır.

3)Kesinlik

Gerçek hayatta her zaman sonuçlar kesin değildir. İnce ayrıntılar ve şüpheli durumlar olabilir. Ancak algoritmada böyle bir ihtimal yoktur. Her bilgi, her denklem, her önerme kesin olmalıdır.
Örneğin algoritmada,
Ay

4)Giriş/Çıkış Bilgisi

Algoritmalarda giriş ve çıkış bilgileri vardır. Giriş bilgileri dışarıdan gelen verilere denir. Bu veriler algoritmada işlenir ve çıkış bilgisini oluşturur. Çıktı bilgisi her algoritmada mutlaka vardır. Algoritmaların amacı zaten giriş bilgisini işleyerek çıkış bilgisi oluşturmaktır. Ancak her durumda bir algoritmanın çıkış bilgisi istenenleri tam olarak karşılayamaz. Böyle durumlarda ilk algoritmanın ürettiği çıkış bilgisi başka bir algoritmaya giriş bilgisi olarak gönderilir ve böylece kullanıcı istediği bilgiye sahip olmuş olur.

5)Performans Değerlendirmesi

Yazılan bir algoritma seçilen bir programlama dili ile kodlanmadan önce kontrol edilip gereksiz tekrarlar yok edilmelidir. Bir algoritmanın performans değerlendirmesinde

Veri Arama
Birim İşlem
Kıyaslama
Aktarma zamanları

göz önüne alınır. Gerektiği takdirde algoritmada adım ve blok yer değişimleri yapılarak işlem zamanı artırılabilir.

Bu makalemde genel olarak algoritmanın temel özelliklerinden bahsetmeye çalıştım. Diğer yazılarımda görüşmek üzere.

Continue reading » · Rating: · Written on: 08-31-08 · No Comments »

Algoritma-Bölüm 1(Algoritma Nedir?)

Günümüzde teknolojinin ve özellikle bilgisayar teknolojisinin durdurulamaz gelişimiyle programlara ve programlamaya duyulan ilgi gittikçe artmaya başladı. Programlamaya heveslenen kimileri bu işten erken yorulup bıraktılar kimileri ise pes etmeden devam ettiler. Devam eden grup içerisinden çok başarılı programcılar çıktı. Peki bu programcıların sırrı neydi? Nasıl başarılı oldular? Ben bu makalemde bunları açıklamaya çalışacağım.

1- Her şey tam ama ne eksik?

Programlamaya başlayan çoğu insan yaptığı araştırmalar sonucunda bir programlama dili seçer ve bu dil üzerinde kendini geliştirmeye başlar. Kendini geliştirmek için bazı uygulamalar yapar. Daha sonra ise kompleks uygulamalar yapmak hedef alanına girer. Ancak çok çabuk programlanan basit uygulamalar kompleksleştikçe programcı zorlanmaya başlar. Bunun sebebi çoğu programcının algoritma bilgisine sahip olmaması daha doğrusu algoritmayı çok önemli bir öge olarak görmemesidir. Şu an Google gibi bir devin oluşmasını algoritmasının güçlülüğü sağlıyorsa algortimanın önemi yadsınamaz.

2- Algoritma nedir?

Algoritma genel olarak yaşamın içinde bulunur. Yaptığımız herşey bir algoritma sonucudur. Ama genel olarak tanımlamak gerekirse algoritma “Bir problem çözülürken veya bir sonuca ulaşılmaya çalışırken uygulanan yöntemdir.” Algoritmaya günlük yaşamdan da örnekler verebiliriz. Örneğin bir araba tamircisi önce sorunu belirler, yapacağı işin adımlarını saptar, malzemeyi bulur ve sorunu çözer. Benzer bir şekilde bir programcı planını uygulayacağı zaman önce sonuca algoitma basamakları ile ulaşmalı sonra seçtiği dille bu algoritmayı programa çevirmelidir. Bunu uyguladığı takdirde programcı hem özgün hem de daha hızlı üretir.

3-Basit Bir Örnek
Burada çok basit bir örnek vereceğim. Zaten ilerki yazılarımda daha ayrıntıları olacak.
Örneğin bir toplama işlemi yapacaksak bunun algoritmasını;

Algoritma Toplama;
Oku(A);
Oku(B);
Toplam←A+B;
Yaz(Toplam);
Dur;

şeklinde yazarız. Bu algoritmada sırayla A değişkeni ile B değişkeninin okunmasını ve toplanıp sonucunun yazılmasını işlem belirterek yazmış oluruz. Sonra seçtiğimiz programa dili ile bunu programa dönüştürürüz.

Bu makalemde genel olarak algoritmanın ne olduğundan bahsetmeye çalıştım. İlerki yazılarımda algoritma özelliklerinden ve SPARKS algoritma dilinden bahsedeceğim.

Continue reading » · Rating: · Written on: 08-31-08 · No Comments »