11 Nisan 2013 Perşembe

 Merhaba arkadaşlar;
 Bu yazımız da bir akış diyagramı göstermek istedim. Programlama adımlarının daha iyi anlaşılması açısından. Sizlerde yapacağınız programınız da bu şekilde, tabi ki sizler bu kadar basit olmayabilir belki sayfalar süren bir akış diyagramı hazırlamanız gerekebilir. Bu durum tamamen programın detaylarına bağlıdır. Bizim örneğimizde x'in y'den büyük olup olmama durumu ele alındı. Adımlara bakalım.
BAŞLA: Tamamen programın açılmasından ibaret bir kısımdır. Giriş aşamasında resim veya bekleme bölümleri yüzde gösterimi gibi gösterilebilir.
SAYILARI BELİRLE: Bu kısım da girdiler vardır. Bizim girdilerimiz x ve y'dir.
ŞART: Bu kısım da bir kontrol vardır. eper x y den küçük ise bunu çıktı olarak verir. Bu yanlış ise x in y den büyük olduğu bu da yanlış ise x in y ye eşit olduğu dönütünü versin deriz.
SON KISIM: Bu nokta da ise yine her program da olduğu gibi kapat kısmıdır.
  Bu seferlikte bu kadar. Sonraki yazıda görüşmek üzere...

4 Nisan 2013 Perşembe


Merhaba arkadaşlar bu hafta sizinle algoritma hakkın da tarihi bir bilgi paylaşmak istiyorum.
Mutlaka Al Harezmî’yi duyanlarınız vardır. İranlı MÜSLÜMAN yazar. Algoritmanın babası diyebiliriz. Algoritma Al Harezmî’nin Latince okunuşudur. Bu anekdotu sizinle paylaştıktan sonra bu yazıda asıl paylaşmak istediklerime geçiyorum. ALGORİTMA…
Farkındaysanız arkadaşlar her yazıda biraz daha işin içine giriyoruz. Bu seferde algoritmaya yazılım açısından ufak bir bakış atacağız. Algoritma bir probleme çözüm getiren adımlar dizisidir. bir probleme birden fazla çözüm yolları getirilebilir.
Ben aslında algoritmayı problem çözmeye benzetiyorum biraz da. Neden mi?
Problem çözerken ilkokulda veya lisede, bizim zamanımız da ilkokulda vardı, problem çözmenin yolu vardı. Verilenler ve istenenler şeklindeydi. Algoritma da buna benzer bir durum. Bakalım algoritmanın adımlarına neler vardı…
Bunlar;
Verilenler (Girdi); bir algoritma oluşması için en az verilen bir bilgi olması lazım.
İstenenler (Çıktı); En az bir istenilen durumu sağlaması lazım.
Açıklık; yazılan kodalar birden fazla şeyi ifade etmemeli. Bilgisayar açısından açık ve anlaşılır olmalı. Bu konuda bir herkesin anlam yükleyebileceği bir örnek verebiliriz aslında.
Yukarıda bilgisayarım ekranının adres çubuğundan bir görüntü. Burada bir yol yazılı. Bu yolda bir harf eksik olsa hedefe ulaşamayız veya “C’nin içinde bir dosya” diye bildiremeyiz bilgisayara. Bu şekilde yazdığımız kodalar da gayet açık olmalıdır.
Sonluluk; her olasılık için komutlar sonlandırılış olmalıdır.
Etkinlik; her komut kullanıcının rahatlıkla programı kullanabileceği kadar etkin olmalıdır.

26 Mart 2013 Salı

Problem Çözme

Merhaba arkadaşlar;
Ben problem çözme adına daha önce yazı yazmıştım birkaç yazı önce. Arkadaşlar problem çözmenin bazı adımları var. Bu adımları duruma göre çoğaltabilirsiniz. Ancak ben size bu konu da hoşuma giden Descartes’in bi kitabın da yazan 4 maddeyi öneriyorum. Bu maddeler problem çözme teknikleri ile alakalı.
1.       Doğruluğu kesin olmadıkça hiçbir şeyi doğru kabul etmeyin.
2.       Karşılaştığınız her güçlüğü mümkün olduğu kadar küçük parçalara ayırın.
3.       Düzenli bir biçimde düşünün. Anlaşılması en kolay olandan en zor olana doğru ilerleyin.
4.       Olaya bakış açınız mümkün olduğunca genel, çözüm listeniz ise hiçbir şeyi açıkta bırakmayacak kadar detaylı olsun.
Arkadaşlar bu yazı biraz kısa oldu. Bu haftalarda biraz yoğunum. Bir sonra ki yazıda buluşmak dileğiyle….

22 Mart 2013 Cuma

programlama adımları-3


Merhaba arkadaşlar;
Bu sefer artık ilk adımları bitireceğiz inşallah. Geriye kalan adımlarımız neler bunlara bir bakalım.
Programın kodlanması, programın çalışır hale getirilmesi son adım da belgeleme ve güncelleme.
Programın kodlanması isminden de anlaşılacağı üzere kod sayfasını açıp daha önceki adımlarda planladığımız aşamaları bir bir kodlamaktır. “En baba kodcu benim” diyen insan bile ki ben kodlamanın bir sonu olduğunu daha doğrusu kodlamanın insanın hayal gücünün ulaşabileceği bir sonu olduğunu sanmıyorum. Hele ki java siline hakim birisinin! Neyse konuyu fazla dağıtmaya gerek yok en baba kodcu bile yazım aşamasın da hatalar yapar. Hatta program tamamlanır kullanıma sunulur sonra yine hatalar çıkabilir. Hatırlarsanız microdoft Vista da baya bi eleştiri aldı. Microsoft yazılımcıları bile hata yapabiliyor demek ki.
İşte arkadaşlar kodları yazım aşamasın da ve sonrasın da defalarca deneme aşaması programın çalışır hale getirilmesi aşamasıdır. Ben programı yazdım kodlar da doğru F5’e bastım hiç hata vermedi deseniz bile tek hata kod hatası olmaz defalarca test edilmesi gerekir. Hata verebileceği urumlar ortadan kaldırılmalı en son haline bile hata ayıklayıcılar yerleştirilmelidir. İşte bu şekilde program çalışır hale getirilir.
Programı çalışır hale getirdik. Bitmedi güncelleme yapmak gerekir. Siz yazılımı geliştirdiniz kullanıma sundunuz. Ancak kullanıcı aradığını bulamıyor. Biz buna kullanıcı hatası diyoruz. Mutlaka bir yardım menüsü gerekli. Sonradan yaptığınız geliştirmeler ise güncellemeler ile ekleyebilirsiniz. İşte bu aşamada programlamanın son aşaması. Belgeleme ve güncelleme…

21 Mart 2013 Perşembe

Program Yazmanın adımları-2


Merhaba arkadaşlar;
Daha öce ki yazımız da bir stok takip programı örneği ile problemi belirlemeyi konuşmuştuk. Şimdi ise çözüm yönteminin belirlenmesi hakkında biraz konuşalım. Bu programlamanın ikinci adımıdır. Bu kısmı genel çözüm yaklaşımı şeklinde düşünelim. Temel adımlarını belirleyeceğiz. Tabiri caiz ise kavram haritasını çıkartacağız. Programın akış diyagramlarını belirleyeceğiz.
Önceki hafta verdiğimiz örnekten devam edelim. Stok takip programında temel girişler ve temel çıkışlar ne olabilir. Bun bi düşünelim. Bir adet veri tabanı şart tabi ki başka bir ürün girdi ve çıktı birimleri sonra ürünü sayısını takip edecek bir sistem vs. vs.
İşte bütün bunların bilinmesi bir başlangıç. Stok takip programı için temel bilgiler. Bu bilgileri bildik şimdi ne yapacağız? Hangi birimi nereye yazacağız? Veri tabanın da neler olmalı? Veri tabının şekli ne olmalı? Ara yüz de neler bulunacak? İşte bunların belirlenmesi de bir çözüm yöntemi belirleme için sorulması gereken sorular tabi bu sorular durumlara göre çoğaltılabilir.
Bu seferlikte bu kadar bir sonraki yazımız da buluşmak dileği ile…

17 Mart 2013 Pazar

Program Yazmanın Adımları-1


Merhaba arkadaşlar;

Bu yazımızda program yazmanın temel adımlarından bahsedeceğiz. Bir önce ki yazımızı okursanız veya okudunuzsa bir problem ve problem için çözüm önerisi sunmuştuk. Çözüm önerileri çoğaltılabilir veya farklılaşabilir. Bizim için önemli olan en ideal çözümdür.

Şimdi sizinle problem çözmenin yani program yazmanın temel adımlarından bahsedeceğim. Bu adımlardan birincisi problemdir. Öyle ya bir sorun problem olmadan program yazılmaz. Bir problem bulalım kendimize önce. Bu tanımlara dilerseniz kuru kuruya değil de bir örnek üzerinden devam edelim. Önce her adımın tanımını yapacağız ve sonra beraberce (bu noktada yorumlarınızla bizlere katkıda bulunabilirsiniz demek istiyorum.) problem ve çözüm belirleyeceğiz.

Problem normal konuşma veya yazma diliyle tanımlanan işlemdir. Bu aşama önemlidir çünkü problem ihtiyacı belirtir. Örneğin sizden birisi stok takip programı yazmanızı istedi ancak bu A şahsı aracı. Siz programı yazdınız sonradan asıl kişi bu kişi de B şahsı olsun sizden asıl istediğinin bir eklenti kendisinde var olan bir stok takip programı için bir alarm eklentisi istiyor. Yaptığınız çalışma tamamen boşuna gitti. Ne kadar sinir bozucu bir durum değil mi? Size tavsiyem arkadaşlar eğer bir program istediyse biri sizden ayrıntılı bir şekilde ne istediğini öğrenin. Siz kendiniz içinde bir program yazıyorsanız ihtiyaçlarınızı ayrıntılı bir şekilde yazın. İşte problemin belirlenmesi bu şekilde arkadaşlar.

Yazının fazla uzun olmaması için her yazıda bir adımdan bahsedeceğiz. Daha faydalı olabilmek açısından örneklendirerek yazıyorum. Umarım faydalı olur. Hayırlı çalışmalar diliyorum.

ganiturkan.com

15 Mart 2013 Cuma

İlk yazımız ALGORİTMA

   Merhaba arkadaşlar.İlk söyleyeceğimiz şey tabi ki algoritmanın ilk sözü olacaktır.  Algoritmanın tanım.
    Öğrenci olduğunuzu düşünelim. Final dönemi ve sınavlar bi kısmı dönem başın da bi kısmı dönem sonun da hangisine önce çalışırsınız? Ve ya gezi düzenliyorsunuz organizasyonsuz yolculuk yapmazsınız. İşte arkadaşlar algoritma düşünüp mantıklı yerde mantıklı işi yapacak kodları yazmaktır. Mantıklı iş ise bir program için en az kod, çünkü kod yükü programı yavaşlatır, ve en kullanışlı, kullanımı kolay olacak şekilde yazmaktır. Kod haritasını buna göre düzenlemektir. Yani algoritma YORUMLAMAKtır...