Algoritma Nedir?

Matematik, bilgisayar bilimleri, dil bilimi ve ilgili disiplinlerde hesaplama ve veri işleme işlemlerini yapmak için tanımlanan, bir başlangıç durumundan başlandığında, açıkça belirlenmiş bir son durumda sonlanan, sonlu işlemler(adımlar) kümesidir.

Algoritma için en basit örnek olarak “ayran” tarifini verebiliriz. Ayran yapmak için:

-Yoğurdu bir kaba koy.

-Karıştır.

-Aynı miktarda su ilave et.

-Biraz tuz ekle.

-Tekrar karıştırın.

Bir algoritma şu özellikleri içerir:

1)İyi tanımlanmış sonlu işlemler.

2)Her işlem sonucunda oluşacak durumlar.

3)Başlangıç durumu.

4)Açıkça belirlenmiş sonlanma durumu.

5)İşlemleri etkin bir şekilde gerçekleştirebilme yeteneği.

Algoritmayı ifade etmenin bir kaç yolu vardır:

1)Doğal dil ile

2)Yalancı kod ile(SPARKS…)

3)Akış diyagramları ile

SPARKS

SPARKS bizim algoritma yazarken kullanacağımız bir dildir.

Şimdi bu dildeki temel kavramları öğrenelim:

1)DEĞİŞKEN: Karakter/karakter dizisi(string), doğruluk değerleri( boolean variables), sayısal değerlerini( integers) tutan yapılardır.Bir değişkene değer vermek için,o değişkene atama yapmamız gerekir.

x<-5; x, 5 sayısal değerini( integer) alır.

y<-“ali”; y, ali string degerini alır.

z<-true; t<-false;

2)MANTIKSAL ve İLİŞKİSEL OPERATÖRLER: Temel mantıksal operatorlerimiz “and”, “or” ve “not” dır.Yukarıdaki z ve t değişkenleriyle mantıksal bir işlem yaparsak;

k<-z and t;

k false değerini alır.

İlişkisel operatörlerimiz ise “<“, “<=”, “!<“, “=”, “!=”, “!>”, “=>”,”>” dir.Örnek verecek olursak;

if (x=5) then topla(x,5)

else cıkart(x,5);

Deyimin açıklaması: Eğer x, 5’e eşitse x ile 5 değeri toplanır,değilse cıkartma işlemi yapılır.

3)KOŞUL DEYİMİ: Bir işlemin gerçeklerşmesi, herhangi bir koşula bağlı olduğu zaman koşul deyimlerini kullanırız. Yukarıdaki örnekte x, 5 değerini eşitse toplama işlemi gerçekleşecek; x, 5’ten farklıysa
cıkartma işlemi yapılır.

if koşul1 then işlem1

else if koşul2 then işlem2

else işlemN

4)İTERASYON DEYİMİ: Eğer bir işlem belli bir şart sağlanıncaya kadar ya da belli sayıda tekrarlanması gerekiyorsa iterasyon(döngü) deyimleri kullanılır.

while koşul

do

işlem ya da işlemler

end

Deyimin açıklaması: Koşul değişkeni doğru(true) olduğu sürece (while deyiminin içinde kalırız) işlem ya da işlemler yapılır. Koşul değişkeninin değeri yanlış(false) olursa while deyiminden çıkılr.

repeat

işlem ya da işlemler

until koşul

Deyimin açıklaması: koşul değişkeni sağlanana kadar işlem ya da işlemler yapılır.

loop

işlem ya da işlemler

forever

Deyimin açıklaması:Sonsuza kadar bu işlem yapılır.

for baslangıç değeri to bitiş değeri by artış miktarı

do

işlem ya da işlemler

end

Deyimin açıklaması: Başlangış değerinden başlayarak, artış miktarı kadar bitiş değerine kadar sayılır. Her bir sayma işlemi sırasında doend arasındaki işlem ya da işlemler gerçekleştirilir.

Bir de dallanma 🙂 deyiminden bahsedelim.

go to label

Deyimin açıklaması: Bu deyim çalıştığında algoritmanın akışı label’a akar. Burada label bir algoritma parçasının adresini belirtir.

5)ALTERNATİF SEÇMEK: Birden fazla alternatif ve her alternatife ait bir işlem varsa case yapısı kullanılır.

case

:koşuk1:işlem1

:koşul2:işlem2

:koşulN:işlemN

end

Deyimin açıklaması: Case deyimine girdiğimiz zaman, bizim koşulumuz hangi alternatifi gerçekliyorsa, ilgili işlem çalıştırılır.

6)FONKSİYON TANIMLAMAK: Fonksiyonlar belli girdileri/girdiyi alıp, bir sonuc/sonuclar üreten birimlerdir.

procedure fonksiyon ismi(girdi listesi)

işlem ya da işlemler

return değer

end

Programın herhangi bir yerinde bu yazdığımız fonksiyonu çağırmak için CALL deyimi kullanılır.

Teorik olarak, bu temel yapılarla, bir algoritmayı idealar dünyasından bilgisayar dünyasına indirgeyebiliriz. Bir sonraki yazımızda bu temel yapıları kullanarak algoritma tasarlayacağız.

Advertisements

Tags: ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: