9 Eylül 2010 Perşembe

Algoritma 2-a: Sabit ve değişkenlerin tipleri

Sabit ve değişkenler için  birbaşka önemli nokta ise tipleridir. Bir sabit değerine, bir değişkende içerebileceği veya içerdiği değere göre tiplenir. Örneğin 5 tam sayı tipindedir, 6,34 ise ondalıklı sayı tipindedir. Mesela bir kişinin ismini veya adresini kafamızda tuttuğumuzda bu değişkenin tipi yazısal veya metin türünde olacaktır.

Şimdi genel anlamda tiplere bir göz atalım:

1. Sayısal tipler:

Farklı kapasitelere sahip sayı tipleri programlama dillerince kullanılmaktadır. Sayısal tipler üzerlerinde matematiksel işlemler yapabileceğimiz değerleri barındırırlar. bu yüzden sayısal tiplerde 2 temel tip karşımıza çıkar.

a) Tam sayılar

b) Ondalıklı sayılar

2.  Metin veya yazısal tipler:

Bir isim veya adres gibi yazısal değerleri ifade eder. İçinde küçük ve büyük harfler, rakamlar ve özel işaretleri barındırabilir. Ayrıca metin tipleri birden fazla alfabeninde harflerini içerebilir. Bir metin elemanı içinde yer alabilecek bütün harf, sayı ve özel işaretlere kısaca karakter denir.  Bu tiplerde yapılabilen işlemler şunlar olabilir:

a) iki metin toplanabilir, ki bu iki metnin arka arkaya eklenmesi anlamına gelir. Burada mesela on ile beşi topladığımızda sonuç onbeş olacaktır. Eğer bir yazısal değer içinde rakamlar içeriyorsa bu değerin benzer bir değerle toplanması matematiksel olarak yapılmaz. Örneğin : 10 + 5 = 105 olur. Bu sebeple böyle bir durumda matematiksel işlem yapabilmek için metin tiplerini sayısal tipe çevirmek gerekir.

b) Metnin içinde bir karakter kümesini arayabilirsiniz.

c) Metnin bir karakter kümesi ile başladığını veya bittiğini kontrol edebilirsiniz.

d) Ve dilden dile değişiklik gösteren daha birçok işlem yapılabilir.

 

Diğer Tipleride bir sonraki yazımda anlatacağım.

7 Eylül 2010 Salı

Algoritma 2: Sabitler ve Değişkenler

Sabitler:

Hayatımızın her noktasında yaptıklarımızı belli süreçlere göre yaparız. Bazı işler artık o kadar otomatikleşmiştir ki üzerinde düşünmemizede gerek yoktur. Ancak her noktada karşımıza temel olarak 2 kavram çıkar.  Sabitler ve değişkenler. Sabitler bir işlemde bizim için değişmez olan değerlerdir. Mesela 2+2 dediğimizde buradaki 2'ler sabittir.

Bazı sabitler ise matematik veya diğer bilim dallarında kabul görmüştürler. Mesela pi sayısı veya avagado sayısı gibi. Bunların değişmeleri düşünülemez.

Birde bizim yaptığımız kabullerle veya prensiplerimize göre belirlenen sabitler vardır. Mesela arabama benden başka 4 kişi daha binebilir, 1 ocak 2011'e kadar yazılarıma devam edeceğim gibi. Bu sabitler belli zamanlarda değişebilir, ancak bizim herhangi bir uygulamamızın yazımı boyunca sabit kalacaktır.

Böylece sabitlere bir göz atmış olduk. Özetlersek; sabit belli bir zaman aralığı boyunca değişmeyen değerdir. Bu zaman aralığı uygulamanın çalıştığı süre olabileceği gibi, evrensel sabitlerde olduğu gibi çok daha uzun bir süre de olabilir.

Sabitleri değeri açık olarak yazarak kullanabileceğimiz gibi, sabiti önce isimlendirip, sonra bu isimide kullanabiliriz. Örnekler:
1. 23+35
2. pi=3,1415
Alan = pi * 4 * 4

Değişkenler :
Hayatımızın her aşamasında değişken değerlerle karşılaşırız. Örneğin günlük döviz kurları, hava durumu gibi, veya bizim değişken değerlerle çalışmamız gerekir. Elimizdeki listedeki fiyatları toplarken ara işlemlerde toplam değerini kafamızda tutarız mesela, ya da sekreter müdüre telefon bağlarken telefondaki kişinin ismini bir süreliğine aklında tutar diğer bir kişi aradığında bu adı aklında tutar.

Gördüğünüz gibi işlerimizi yaparken biz bile içsel olarak değişkenleri kullanırız. Aynı durum doğal olarak bilgisayar için yazdığımız programlarda da geçerli olmalıdır. Şimdi iki sayıyı toplama örneğine tekrar bakalım:

1. İlk sayıyı sorarım
2. Bu sayıyı a değişkenine atarım
3. İkinci sayıyı sorarım
4. Bu sayıyı b değişkenine atarım
5. a ve b değişkenlerinin değerlerini toplarım
6. Sonucu c değişkenine atarım
7. c değişkeninin değerini söylerim.

Gördüğünüz gibi bu işin içinde de değişken kullanmışım. Sanırım bu sizi şaşırtmadı.

3 Eylül 2010 Cuma

Algoritma 1: Algoritmaya Giriş

Algoritma, bir işin yapım aşamalarının çıkarılması anlamına gelmektedir. Mesela evden işe gitme algoritması, kek veya yemek yapma algoritması gibi. Sonuçta bilgisayar gibi düşünemeyen bir aygıt ile uğraştığımız için ona herşeyi tek tek söylememiz lazım. Ancak bu şekilde tam olarak ne yapması gerektiğini bilir ve ona göre çalışabilir.

Bu noktada olay bize dönüyor. Biz bilgisayara ne istediğimizi tam ve doğru olarak söyleyebilmeliyiz. Belkide algoritmayı insanın programlama dili olarak tanımlayabiliriz. Sonrada beynimizdeki derleyiciler onu programlama diline çevirip, bilgisayara aktarırlar.

Gerçekten de programlama önce kafada başlar. Yapılması gereken işi önce kafada bitirmemiz gerekir. Programlamada belli bir düzeye ulaşıldığında önce projenin tamamını kafanızda görürsünüz, sonrada sırayla detaylara inersiniz. Böylece önce kafanızda programı tam olarak bitirir sonra bunu koda dökersiniz.

Bu gerçek anlamda bir yazılım projesinde de olması gereken bir özelliktir.

Özetle, algoritma ile işi yapmak için gerekli bütün adımları tek tek yazarız. Sonrada bu adımları kullandığımız programlama dilinin komutları haline getiririz.

Örnek olarak iki sayının toplamına bakalım. Şimdi tek basamlı iki sayıyı nasıl toplarız. İlk anda durakladık değil mi? Çünkü bu işlem bize ilk okulda öğretilmişti. O zamandan beride bunu kullanıyoruz. Ancak çoğunlukla ezberden, veya otomatik işleri yapan beyincik tarafından bu işlem yapıldığı için üzerinde düşünmüyoruz. Sadece yapılması gerekir dediğimizde hemen oluveriyor. İşte tam bu noktada artık düşünmemiz gerekiyor. Biz bu işi nasıl yaparız.

1. ilk sayıyı alırım
2. İkinci sayıyı alırım
3. İlk sayının üstüne ikinci sayıyı eklerim
4. Sonucu söylerim

Tabi daha detaylı yazabilmek mümkün. Ama bu olayı anlatıyor. Tam olarak bunu bilgisayara bu şekilde söylememiz gerekiyor. Yoksa tam olarak ne yapacağını bilmez. Bilgisayarı bu noktada ustanın yanında işe başlayan bir çömez çırağa benzetebiliriz. Bu çırak maalesef ki hiç bir zaman çıraklıktan kurtulamayacak.

Bu yazı dizisi boyunca kod yazmayacağız. tek yapacağımız düşünmek ve adımları yazmak olacak.

1 Eylül 2010 Çarşamba

Algoritma Yazı Dizisi

Algoritma programlamanın temelidir. Biz esasında programı geliştirirken arkada algoritmasını geliştiriyoruz. Sonrada bu algoritmayı programlama dili sayesinde bilgisayara aktarıyoruz. Bu yüzden algoritma programlama dillerinin üzerinde bir yerde duruyor. Aslında algoritmayı sadece bir beyin aktivitesi olarak görmekte mümkün, ancak sadece bu boyutta kalırsa çalışması düşünülemez. O zamanda devreye programlama dilleri giriyor.

Benim sizlerle bu yazı dizisinde paylaşmak istediğim ise programlama dilinden bağımsız, düşünce düzeyindeki algoritma. Yazı dizisi boyunca sadece düşüneceğiz. Bu benim 18 yıllık deneyim sonucunda öğrendiğim ve geliştirdiğim düşünce etkinliğimi sizinle paylaşmak olacak. Yararlı olmasını diliyorum.

Tam olarak bir plan yapmamış olsamda, yazının gidişatındaki konu başlıkları şöyle olacak:

1. Algoritmaya giriş

2. Sabitler ve Değişkenler

3. Karar Yapıları

4. Döngü Yapıları

5. Diziler

6. Alt yordamlar

7. Nesneye Yönelimli Programlamanın Temelleri

23 Ocak 2008 Çarşamba

Derste yaptığımız demoları kendiniz nasıl çalıştırabilirsiniz.

Derste hazırladığımız demoları sonra üzerinde çalışabilmeniz için sizlere email yoluyla ulaştırıyorum. Bu yönteme ilave bir yöntem olarak artık bu dosyalarıda internete (en çok kullanılan paylaşım ortamı Rapidshare'e) yollayacağım. isterseniz buradanda indirme şansına sahip olabileceksiniz.

ama bu dosyaları aldığınızda ne yapacaksınız. işte bu yazıda bunu size kısaca anlatmak istiyorum. eğer bunları okumak zor gelirse görüntülü anlatımada bir göz atabilirsiniz.

Görüntülü Anlatım

eğer dosyaları email yoluyla alıyorsanız bu dosyaları öncelikle diskinize kaydetmeniz gerekir. bu dosyalarda dikkat ettiyseniz dosya uzantıları zi olmuştur. bunun sebebi gmail'in zip uzantılı dosyalara müsade etmemesidir. bu yüzden zip uzantılarını zi ye çevirerek sizlere gönderdim.

İndirdiğiniz bu dosyaları bilgisayarınıza kaydettikten sonra bu dosyaları açmanız gerekir. Dosyaları Belgelerinizin altındaki Visual Studio 2005 veya Visual Studio 2008 dizinlerinin altındaki projects dizinine açmanız iyi olur.

Sonrada visual studio yu open project diyeceksiniz. sonrada açtığınız proje dizininin içine gerip sln uzantılı dosyayı seçeceksiniz. işte hepsi bu kadar.

Tekrar görüşmek üzere...

14 Ocak 2008 Pazartesi

a. Programlamaya Giriş

Slayt2

Bilgisayar bir işlemin nasıl yapılacağını program sayesinde bilir. Yani Program bilgisayara ne yapacağını anlatan komutların tamamına verilen isimdir.

 

Slayt3

Bilgisayarlar sadece kendi anlayabilecekleri ve 1 ve 0 lardan oluşan makina dili ile çalışmaktadırlar. Biz insanlar için bu dilin öğrenimi ve kullanımı güçtür. Bu sebeple insanların kullanımına daha yakın programları geliştirilmiştir.

 

Slayt4

Programlama dilleri konuşma diline yakınlıklarına göre seviyelendirilmektedirler.

 

Slayt5  

Geliştirilmiş olan dillerin bilgisayarların anlayabileceği dile dönüştürülmesine DERLEME adı verilmektedir.

Programlamaya Giriş ve Algoritma

Konu Başlıkları

  1. Programlamaya Giriş
  2. Bilgisayarda İşlemler
  3. Algoritma Hazırlama
  4. İş Akış Diyagramları
    Slayt1