PROGRAMLAMANIN NESİ ZOR?
Bir çok bilgisayar kullanıcısı iyi bir programcı olmak isteğiyle yanıp tutuşur. "Şu Word'u geçecek bir kelime işlemci yaratsam" ya da "Quake'i ben programlasam daha güzel olurdu" gibi düşünceleri olan amatör programcılar az değildir. İyi bir programcı olmak için bir programlama dilini iyi bilmek yeterli midir? Size bir programın ya da oyunun "Credits" yani programı yaratanlar kısmına bakmanızı tavsiye ediyorum. Pek az programda "Credits" kısmında sadece bir programcı adı geçecektir. Hatta ek olarak bir çok isim geçecektir. Örneğin sıkıştırılmış boyutu ile sadece 4 MB yer kaplayan Eudora Light 3.0 adlı elektronik posta programını programlayan tam 6 kişidir. Tek başına onlarca MB'lık program yazanlarda var. Fakat bunlar "üstad" diyebileceğimiz, programlamaya senelerini vermiş tecrübeli kişilerdir. Bu tecrübeli programcılardan birine sormuşlar: "Bir programlama dilini iyi bir şekilde öğrenmek için nereden başlamalı?". Cevabı şu olmuş: "Programlama dilini boş verin, ilk önce programlama mantığını öğrenin."...
Programlama mantığını, biraz matematiksel mantığa benzetebiliriz. Her şey kesin açık ve nettir. Bazı kurallar ve komutlar dilden dile değişse bile, temelde programlama mantığı hiç değişmez. Örneğin ekrana bir yazı yazdırmak için her dilde farklı bir komut yazmak gerekir. Fakat değişmeyen bir yapı vardır:
Yazdırma Komutu "Yazdırmak İstediğimiz Mesaj"
Kullandığımız dil Pascal olsun, Basic olsun, hatta C olsun, program yazarken aynı temel kurulur. Değişen tek şey yapıyı inşa ederken kullanılan malzemelerdir. Üç farklı dili de kullanarak ekrana bir yazı yazdıralım.
Write("Ben ekrana yazılan bir mesajım."); Turbo Pascal
Print "Ben ekrana yazılan bir mesajım." Basic
Printf("Ben ekrana yazılan bir mesajım."); C++
Gördüğünüz gibi aradaki fark çok az. Demek ki, programlama mantığını ya da başka bir değişle programlamanın temellerini öğrenirsek, geriye komutları öğrenmek ve biraz tecrübe kazanmak kalıyor. Komutları öğrenmenin en basit yolu ise, bilgisayarın karşısına geçip, bir kitaptan ve bol örnek programdan destek alarak çaba harcamaktan geçiyor. Fakat her şeyden önce programlamayı sevmeli ve kendinizi biraz sıkmalısınız.
Dört Temel Yapı Taşı
Hangi dili öğrenmek istersek isteyelim, değişmeyen dört yapı taşı üzerine bir program kurulur. Bu yapı taşları iyi öğrenilirse, iyi bir programcı olmak için için önemli bir adım atılmış olur. Bu yapı taşları Komutlar, Değişkenler, Sabitler ve Mesajlardır. Şimdi bu yapı taşlarını tek tek inceleyelim.
Değişkenler
Değişkenler istediğimiz zaman başka bir değerle değiştirebildiğimiz bir bilgi taşır. Örneğin kullanıcının yaşını bir değişkene yerleştirebiliriz. Peki neden bu değeri bir değişkene yerleştiriyoruz? Çünkü bilgisayar ne yazık ki çok unutkandır. Ancak ona unutmamasını tenbih ederseniz unutmaz. Bir değişken, aslında bilgisayarın belleğinin belli bir bölümüdür. Değişkene bir değer yerleştirirsek, belleğin ufak bir kısmına bu değeri aktarmış oluruz. Böylece bilgisayara "şu yaşı hatırla bakalım" dediğimizde yapacağı tek iş belleğin belli bir bölümüne bakmaktır. Bir de her kullanıcı aynı yaşta mıdır? Adından da anladığınız gibi bu değişkenler rahatlıkla başka bir bilgiyi alabilirler. Eski değer silinir, yerine yenisi yerleştirilir. Böylece bilgi "değişmiş" olur.
Her değişkenin bir adı vardır, başka bir değişle belleğin belli bir bölümüne bir ad verebiliriz. Yukarıdaki örneğimize YAS adını verelim.
YAS=19
YAS=32
İlk önce YAS değişkenine 19 değerini yerleştirdik. Fakat hemen sonra bu değerin yerine 32 değerini koyduk, eski değer 19 silinmiş oldu. Ayrıca değişkenlerle çeşitli matematiksel ve mantıksal işlemlerde yapabiliriz.
YAS=2+2
Yukarıdaki örnekte YAS değişkenine hangi değeri yerleştirdik? 2+2'nin toplamını yani 4'ü. Başka bir değişle yukarıdaki ifade YAS=4 ifadesiyle aynıdır.
Sabitler
Sabitler değişkenlere çok benzerler. Yine belleğin belli bir bölümündeki bilgiyi ifade ederler. Sabitlerin de birer adı vardır. Doğrudan işleme sokulurlar ve program çalıştığı sürece değişmezler. İşte değişkenlerle aralarındaki fark buradadır, değişkenler ise program çalıştığı sürece sık sık değişebilirler. Sabitler programı yazan kişi tarafından belirlenir. Diyelim ki elektrikli ev aletlerinin harcadığı gücü bulan bir program yazıyoruz. Şehir şebekesi 220 volt elektrik verir. İşte bu değer programımız için sabittir. Çünkü ülkemizde her yerde şehir şebekesi 200 volttur.
V=220
P=V.I
Program çalıştığı sürece V sabiti 220 değerini taşır. Hemen altındaki P ise bir değişkendir. Çünkü I değerinin değişmesiyle P 'de değişir. Kullanıcı I değişkenine ne değer verirse, P 'de ona göre değişecektir. Peki I niye bir değişkendir? Kullanıcı istediği gibi değiştirebildiği için I 'da bir değişkendir.
Değişkenler ve sabitler sadece sayı içermezler. Ayrıca tırnak içerisine yazacağımız her türlü bilgiyi de alabilirler. Fakat tırnak içerisine konulan bilgiler ile aritmetik işlem yapılmaz. Bu yüzden daha çok harflerinde yer aldığı bilgiler tırnak içerisinde tanımlanır.
ADI="ALPER"
KOD="DB1331"
Komutlar
Komutlar kısaltılmış ya da tam İngilizce kelimelerden oluşurlar. Bir komut, bilgisayarın o an ne yapacağını belirten bir emirdir. Yukarıdaki örneklerimizde olduğu gibi, bilgisayar yazdırma komutunu gördüğü an ekrana bir şeyler yazacağını anlar. Yazdırma komutunu vermeden sadece mesajı yazsaydık, bilgisayar yüzü olsa bize aptal aptal bakacaktı, fakat yüzü olmadığından bize bir uyarı mesajı verir. Bilgisayar bu mesajı ne yapacağını bilemez. Bizden bir emir bekler. Mesajı ekrana mı yazacak, belleğe mi yazacak, yazıcıya mı basacak belirtmemizi ister.
Her dilin kendine özgü komuları vardır. Aslında bu komutların önemli bir kısmı her dilde aynıdır. Örneğin For...Next, If...Then...Else gibi komutlar her dilde hemen hemen aynı biçimde kullanılır. Farklar ise ilk örneğimizde olduğu gibi yazdırma gibi komutlarda görülebilir. Pascal'da Write, Basic'te Print olan yazdırma komutu, C 'de Printf olmuştur. Ama eğer biraz İngilizce bilginiz varsa üç komutunda hemen hemen aynı manaya geldiğini anlamışsınızdır.
Mesajlar
Mesajlar aslında birer sabittir. Çünkü programın çalıştığı sırada değişmezler. Mesajlar program ile kullanıcı arası iletişimi sağlar. Bu sebeple her kesimden kullanıcının anlayabileceği sade bir dille yazılmaya çalışılır. Ayrıca bu mesajlar mümkün olduğunca kısa tutulur. Çünkü mesajı uzatan bir harf bile bellekten yer çalar. Örneğin kullanıcıyı uyarmak için ekrana bir yazı yazdıracağız:
Yazdırma Komutu "Disket Dolu"
Bu ifadeyi tecrübesiz bir kullanıcı bile anlayabilir. Ayrıca mesaj sadece iki kelime. Yani yeterince kısa (Daha da kısaltabilen var mı?). Kullanıcıdan bir bilgi isterken, kullanıcıya yardımcı olacak bir bilgi verirken, kullanıcıdan bir seçim yapmasını kısacası kullanıcıyla iletişim kurarken mesajlar kullanırız.
Basit Bir Örnek Program
10 Print "Bu program yaşadığınız gün sayısını hesaplar"
20 Print "Lütfen yaşınızı giriniz:"
30 Input YAS
40 GUN=YAS*365
50 Print "Yaşadığınız gün sayısı:",GUN
Yukarıdaki Basic programındaki komutları, mesajları ve değişkenleri bulunuz. Acaba bu programda sabit değer var mıdır? Bir sonraki yazıda programlama mantığımızı daha da geliştirmek umuduyla...
Alper Coşkun
Geri Dön