ALGORİTMALARIN SUNUMU (SÖZDE-KODLAR)

Şimdilik, Bilgisayarlar için geliştirilen biçimsel programlama dillerini bir kenara bırakarak, anlaşılması ve üretmesi daha kolay olan bir sistem olan sözde-kod’u inceleyeceğiz. . Sözde kod, algoritma geliştirirken fikirleri ifade etmede kullanılan bir notrasyon sistemidir. Sözde kod elde etmek için kullanılan en basit yöntem biçimsel (formal) programlama dillerinin kurallarını gevşetmektir. İş böyle olunca da nihayetinde kullanılacak olan programlama dili ne ise sözde-kodu, o dili gevşeterek yada basitleştirerek elde ederiz. Böyle geliştirilen bir sözde kodda da sözdizim ve anlam bilgileri mevcuttur. Ama kurallar biçimsel bir dilde olduğundan çok az sayıda ve esnektirler.[4]

Algoritmayı yazarken farklı anlamlar taşıyan değişik şekildeki kutulardan yararlanılır. Yine aynı amaç için kullanılan programlama diline yakın bir (sözde kod = pseudo code ) dil , bu kendimize özgü de olabilir. İşte basit komutları ifade edecek sözde kod ve formatların yapıları belirtmekle başlayalım.[2]

 

1.Herhangi bir şarta bağlı aktiviteler: Aşağıdaki cümleleri inceleyelim ve bunlar için genel bir sözde kod geliştirelim.

 

Yağmur yağarsa bahçeyi sulama, aksi taktirde sula.

            Paran yeterse süt, ekmek ve gazete al. Yetmese sadece ekmek al.

            Burnu uzamışsa yalan söylemiş demektir. Yoksa hep doğruyu söyler.

 

Bu ifadeleri sözde kod kullanmak istersen şu şekilde yazabiliriz:

 

Eğer (yağmur yağar) ise (sulama)

Değilse (sula)

 

Eğer (paran yeter) ise (ekmek, süt ve gazete al)

Değilse (gazete al)

 

Eğer (Burnu uzamış) ise (yalan söylemiş)

Değilse (zaten doğru söyler)

 

Yukarıdaki yapıyı, benzeri tipindeki cümleler için genelleyebiliriz.

 

Eğer (koşul) ise (eylem)

Değilse (eylem)
daha öncede belittiğimiz gibi, sözde kodlar bir programlama dilinin katı kurallarını gevşeterek elde edilirler. Ama bilindiği gibi tüm programlama dilleri İngilizceyi esas aldıkları için, bu diller ile ilgili sözde kodlarda İngilizce kelimelerden oluşurlar. Yukarıda, Türkçe bir algoritmaya Türkçe bir sözde kod uydurduk. Ama Türkçe bir programlama dili olamadığı için, bu sözde kodu Türkçe yazmanın bir anlamı yoktur. Öte yandan Türkçe bir algoritmayı İngilizce bir kodla anlatmak demek her şeyi İngilizceye çevirmek anlamına gelecektir. Biz yarı Türkçe yarı İngilizce olacak şekilde sozde kod kullanacağız. Yani “eğer” yerine “if”, “ise” yerine “then”, ve “değilse”, yerine “else” sözcüklerini kullanacağız. Parantez içindeki kelimeleri ise Türkçe bırakacağız. Bu taktirde yukarıda yazılan tüm sözde kodları şu şekilde genelleyebiliriz.[4]

İf (koşul) then (eylem)
else (eylem)

 

Örnek:

Eğer saat 15’den erkense

Yaz”Günaydın”

değilse

yaz”İyi akşamlar”

 

[İf (15 den erken) then (günaydın)
else (iyi akşamlar)]

 

 

<%

If Hour(Now) <15 Then

            Response.Write “Günaydın! “

Else Hour(Now) >= 15 Then

            Response.Write “İyi akşamlar! “

End If<br>

Response.Write “bu bir denemedir “

%>

[3]

Çıktı:

 

2. Koşul sürdükçe devam eden eylemler: İlk olarak aşağıdaki örneklere göz atalım.

Hava güzel olduğu sürece yürüyüş yapmaya devam et.

Ateşin olduğu sürece aspirin al.

Baleye devam ederken futbol oynama.

 

Şimdide yukarıdaki ifadeler için sözde kod geliştirelim.

 

Sürece (hava güzel) yap (yürüyüş)

Sürece (ateş) yap (aspirin al)

Sürece (bale yap) yap (futbol oynama)

Yukarıda belirttiğimiz yaklaşımla da sözde kodlarımızdaki komutların İngilizce karşılıklarını kullanarak “serece” yerine “while”, “yap” yerine “do” komutlarını kullanacağız.böylece sözde kodumuzu aşağıdaki şekilde ifade edeceğiz.[4]

 

While (koşul) do (eylem)

 

Örnek:

Sayac=0

 

Eğer sayaç <5 ise

Yaz “bu bir denemedir”

Alt satıra geç

Sayacı 1 arttır

Basa dön

 

<%

sayac=0

While sayac <= 5

            Response.Write “bu bir denemedir”

            Response.Write “<BR>”

sayac = sayac + 1

Wend

%>

Burada çıktı olarak alt alta 6 defa “bu bir denemedir” yazacaktır.

 

 

Örnek:

 

Sayı =1

Eğer sayı 10 dan küçük yada eşitse devam et değilse atla

Yaz “(sayı değeri) çarpı 2 = (sayı değeri)*2

Alt satıra geç

Sayıyı bir arttır

Başa dön

 

            <?php

$sayi = 1;

while ($sayi <=10) {

echo “$sayi çarpı 2 = “ .($sayi*2). “<br>”;

$sayi++;

}

?>

Bu programın çıktısı

 

 

Yine while do döngüsüne benzeyen Do while döngüsü vardır. Bu döngünün while do döngüsünden farkı önce eylemi gerçekleştirir daha sonra şartı kontrol eder.While do döngüsünde ise önce şartı kontrol eder daha sonra eylemi gerçekleştirir [3]

 

Örnek:

Num = 1

Ekrena num değerini yaz

Alt satıra geç

Num değerini bir arttır

Eğer num değeri <200 ise döngüye devam et

 

<?php

$num = 1;

do {

echo “sayı : $num<br>”;

$num++;

}while($num<200);

?>

 

 

3. Anlamlı isme bir değer vermek: Çoğu zaman bazı nümerik değerle, ya da formüllere anlamlı ve açıklayıcı isimler vermek isteyebiliriz. Örneğin;

 

bir malzememin fiyatı, maliyet, kar ve vergiyi toplayarak bulunur.

 

Şimdi Türkçe kodları bir tarafa bırakıp yakarıdaki yaklaşımı kullanarak bu işlemi bir sözde kod ile şöyle ifade edebiliriz.

 

Assign  (toplam) value (maliyet+kar+vergi)

 

Yukarıdaki sözde kodda “assign” sözcüğü “toplam” değişkenine maliyer+kar+vergi değerini (“value”) atar.[4]

 

4. satırları farklı marjinlerden başlamak (indentation): Bir programın kolay anlaşılabilmesi sağlamak için karşık algoritmalardaki komutlar farklı marjinlerde yazılırlar. [4]

Örneğin;

 

Eğer yağmur yağmıyorsa bahçeyi sulama. Ama ozamn git çeşmeyi aç.

            Su akmıyorsa; önce git vanayı aç, sonra bahçeyi sula.

 

Bunun için şu sözde kodları kullana biliriz:

 

İf  (yağmur)

Then (bahçeyi sulama)

Else {çeşmeyi aç;

            İf  (su akıyor)

            Then  (bahçeyi sula)

            Else (vanayı aç;

Bahçeyi sula)}

 

Örnek:

 

Mood = sad

Eğer mood “happy” a eşitse

Yaz”çok mutluyum”

Değilse ve “sad” a eşitse

Yaz”mutlu değilim”

Oda değilse

Yaz “bilmiyorum”

 

 

 

 

<?php

$mood = “sad”;

if ($mood == “happy”) {

            echo “çok mutluyum”;

} else if ($mood== “sad”) {

            echo “mutlu değilim”;

} else {echo “bilmiyorum”;

}?>

 

Çıktı:

Mutlu değilim

 

5. Yordamlar (procedures): Sözde kodlar bir çok uygulama alanında kullanılabilecek aktiviteleri sunmak için gerekli soyut araçlardır. Sözde kodun hazırlanmasında, algoritmanın belirli bir görevini ifade etmek için program daha küçük programcıklara bölünür. Böylece program sıradüzenli bir yapıda sunulmuş olur. Bu yöntem sayesinde hem programın bütünlüğü bozulmaz hem de daha kolay anlaşılması sağlanır.

Bilgisayar bilimlerinde algoritmaları sözde kodlarla sunmak veya bir programlama diline çevirmek için kullanılan program birimlerine alt program, altyordam, modül, fonksiyon, yordam gibi bir çok adlar verilir. Bu adların hepsi değişik anlam ve içerik içermekle birlikte, hepside geliştirilen sözde koda başlık vermek için kullanılır. Biz burada sözde kodlarımıza başlık olarak “yordam” yada ingilizcesi olan “procedure” kelimesini kullanacağız . [4]

 

Procedure yordam ismi şeklinde başlayacağız.

 

Bu açıklayıcı girişten sonra ise adım adım yapılacak işleri belirteceğiz. Örneğin, önce sunduğumuz bahçe sulama talimatnamesine birde başlık ekleyerek algoritmayı elde edeceğiz.

Procedure bahçe

İf  (yağmur)

Then (bahçeyi sulama)

Else {çeşmeyi aç;

                        İf  (su akıyor)

                        Then  (bahçeyi sula)

                        Else (vanayı aç;

Bahçeyi sula)}

 

Eğer sözde kodumuzun herhangi bir yerinde bizim daha önceden belirtmiş olduğumuz bir yordam varsa onu sadece ismi ile çağırabiliyoruz.

Örnek:

İlk yordamımız bir toplama işlemi yapan bir fonksiyon olsun.

 

<?php

function addnums($firstnum , $secondnum) {

$result = $firstnum + $secondnum;

return $result;

}

echo “sonuç=”

echo addnums(3,5);

 

?>

Bu programın çıktısı “sonuç=8 olacaktır.

ayıncılık, 2000,    Ankara.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close
Join me: