20 Ocak 2013 Pazar

Algoritmalar

Bilgisayar mühendisliği okuyacaksınız veya Teknik lisenin bilişim bölümünü düşünüyorsanız, algoritmalarla büyük ihtimalle karşılaşacaksınız. Çünkü algoritmalar programı yazmadan önce yaptığımız plandır. Planlar önemlidir. Bir önce ki yazımda da belirttiğim gibi, klavyeyle saatlerce uğraştığımız şeyi kalemle dakikalar içerisinde çözebilirsiniz. Ben acemi olmama rağmen bu durumla sıkça karşılaşıyorum. Algoritmalar bir kural dahilinde basamak basamak yapılması gerekenler yazılır. Bizim okulda öğrendiğimiz algoritma kuralları ile şu an program yazabileceğimizi düşünmüyorum. Çünkü normal bir programda yaptıklarımızı atlayıp çok basit terimlere kullandık. Açıkçası ben kurallara pek uymadan çizimler yaparak kodları yazıyorum. Adım adım yazmanın zaman kaybı olduğunu düşünüyorum. Size örnek olarak basit bir algoritma yazacağım.



İki sayıyı toplayan algoritma:
A1. Gir, Sayı1
A2. Gir, Sayı2
A3. toplam = Sayı1 + Sayı2
A4. Yaz, toplam

Şimdi adım adım açıklayalım: Adım1 ve Adım2'de Sayı1 ve Sayı2 adlı değişkenlerin klavyeden girişini yaptırdık. Adım3'te klavyeden girilen bu sayıları toplattık ve toplam adlı değişkenin içine kaydettik. Ardından sonucu ekrana yazdırmasını söyledik. Bu algoritmayı yazana kadar programı iki defa yazabilirdik. Bu yüzden algoritmayı kendiniz yazarken, kendi taktiklerinizi kullanarak yazın. Bkz:(*pic*) Ayrıca algoritmaların yanında bilmemiz gerek bir kaç tane daha programcılık kuralları var. Bunlardan biri değişken isimlerinin yazılışlarıdır. NOT: Değişkenlere şimdilik sayılarda diyebilirsiniz. Ama illa ki değişken nedir diye sorarsanız: "Teknik açıdan, değişken, ana bellekte belli bir veri tipine ait değerlerin girileceği adrestir."[1] Değişken yazılışlarının doğrulukları:

Doğru | Hatalı değil ancak kullanılmamalı | Hatalı / Kullanılamaz
Sayı | Sayı1 | Sayı 1 | 1Sayı | 1.Sayı | Sayı1. | 1_Sayı | Sayı_1




Aynı şekilde başlarda çok kullanacağımız aritmetik işlemlerinde bazı kuralları var. İşaretler bildiğimiz işaret değiller. Onların kuralı ise şöyle:

Çarpma: *         Bölüme: /        Çıkarma: -        Toplama: +        Mod(Bölümünden Kalan): %



Bu yazdıklarımı kod yazarken bol bol kullanacağız. O yüzden kod defterinize bunları not almanız yararınıza olacaktır. Boş zamanlarınızda çalışabilirsiniz. Gerçi bir çoğunu hesap makinelerinden vs. biliyorsunuzdur. Ama değişen isimleri hem kurallı hemde yasaklı olduğu için biraz kafa yormanızı gerektirebilir. Algoritmalara dönersek dediğim gibi program yazmadan önce sadece ne yapacağınızı bilin. Uzun ve yorucu karalamalar yerine düşünmenizi kolaylaştıracak şeyler yapın. Hatta ne yapmak istediğinizi birine anlatırmış gibi sesli olarak konuşun. Bu taktikle bu gün  çok büyük bi ödevimi yaptım. Yani bu yöntem ile o filmlerde duyduğunuz "Az önce ne dedin sen?" tarzında bi sevince kapılabilirsiniz. Ancak unutmayın! Kalemsiz deftersiz zor programlar yazılmaz. Esenle Kalın..


Kaynakça:
[1] Karaçay T. (2012). Java ile Nesne Programlama. Ankara

Hiç yorum yok:

Yorum Gönder