Merhaba, yazılım öğrenmeye yeni başlayan hemen herkes, tabiri caizse "kod yazmak için yanıp tutuşur". Algoritma-yazılım ikilisinin nasıl uyumla çalışması gerektiğini kavrayan biri için sırada kod yazmaya geçmek var tabii ama benden öyle kolay kurtulamazsınız. wink Bir önceki yazımda algoritmanın öneminden bahsetmiştim, bunu bir programlama diline bağımlı kalmadan anlayabilmeye yardımcı olacak flow chart visual programming kullanımını sade bir şekilde göstermek istiyorum.

Programı buradan indirebilirsiniz. Rardan çıkardığınızda ister kurabilir, ister direk support dizini altındaki exe dosyasından çalıştırabilirsiniz. Yalnız eğer kurmadan çalıştırırsanız içindeki örnekleri doğru görüntüleyebilmek için "Yönetici olarak çalıştır" demeyi unutmayın. Programımızın ana ekranı aşağıdaki gibi.

flow-chart-visual-programming-home-screen

Üst menüdeki bilindik ibareler dışında, sol taraftaki çubukta şemayı oluştururken asıl işimize yarayacak nesneler bulunmaktadır. Bu nesnelerin şekilleri birebir olmasa da büyük çoğunluğu algoritma sembollerinden alınmıştır. Daha birçok farklı sembolü olsa da programı kullandıkça algoritma görsellerine olan göz aşinalığınız da artacaktır.

flow-chart-visual-programming-start

Her algoritmanın bir başlangıç ve bitiş noktası olmak zorundadır. Yani tahmin ettiğiniz gibi başlangıç noktamız.

flow-chart-visual-programming-action

Action, algoritmadaki işlem sembolüdür. Yaptırmak istediğimiz aritmetik hesaplama işlemlerini gireceğimiz bölümdür. Yukarıdaki örnekte "a değişkenine 1 değerini atama" işlemi yapılmıştır. Adı hiç önemli değil. Mesela 'donguBaslangici' da yapabilirdik. Yalnız burada "Değişken nedir, atama da neyin nesi, matematikteki bildiğimiz eşittir o işte" gibi sorular aklınıza gelebilir. Bunlara şimdilik takılmayın, temel veri tipleri ve değişkenler dil öğrenmenin başındaki konulardır. Sonraki yazılarım bunlarla ilgili olacak.

flow-chart-visual-programming-input

Input, algoritmadaki veri giriş-çıkış sembolünün aynıdır. Yukarıdaki örnekte direk veri çıkışı almaktayız.

flow-chart-visual-programming-output

Output, algoritmadaki yine veri giriş-çıkış sembolünün aynıdır. Yukarıdaki örnekte "çıkış" sembolümüzde ekrana çıktı olarak gelmesi istenen yazı girilmiştir.

flow-chart-visual-programming-junction

Conditional Junction, algoritmadaki karar sembolüdür. Karşılaştırma işlemlerini gösterir. Yukarıdaki işlem sembolünden farklı olarak, karar sembolünde iki ya da daha fazla çıkış çizgisi bulunur. Verdiğiniz şartın doğruluğu ya da yanlışlığına göre program akışına devam edecektir.

flow-chart-visual-programming-connection

Connection, algoritmadaki bağlantı sembolüdür. Aslında kullanımı zorunlu değildir ama oluşturduğumuz şemalarda görsel düzen açısından lazım olabilir. Bazen ekranı komple kaplayan öyle şemalar olur ki, varsın bağlantı sembolü de olmayıversin diyecek hale gelebilirsiniz. Kaldırdığınızda 90 ͦ lik açılar yerine çapraz oklar blokları takip edecektir.

flow-chart-visual-programming-function

Function, her ne kadar algoritmadaki döngü sembolüne benzese de içinde kullanıma hazır üs alma, logaritma, tarih ve metin işlemleri gibi hazır fonksiyonlar bulunur.

flow-chart-visual-programming-windows

Window, hazırlanan şemaya dışarıdan veri girişi yapılabilmesi için Textbox, Button ya da çeşitli görseller eklenebileceği gibi bunların çeşitli olay(event)larında gerçekleşmesini istediğiniz fonksyionları tanımlamamızı sağlar.

flow-chart-visual-programming-end

Her algoritmanın bir bitiş noktası olmak zorundadır. Yine tahmin ettiğiniz gibi bitiş noktamız.

flow-chart-visual-programming-delay

Şemadaki akış normalde çok hızlı gerçekleşmektedir. Bunu gözle takip edebilmek imkansızdır. Gözle takipi kolaylaştırmak açısından, milisaniye cinsinden hızı ayarlayabilmek için böyle bir kolaylık düşünülmüştür. Önceden .NET ile ilgilenenler Thread sınıfının Sleep metodunu bilirler. Aynı işlemi gerçekleştirmektedir.

Bu arada aşağıdaki butonlardan birbirine bağlı olan 2 nesneden birini silmeye çalıştığınızda hata mesajı vermesi gerekir ama boş bir ekran geliyor. Bu ekran önce aradaki bağlantıyı(çizgiyi) sildikten sonra nesneyi silebileceğinizi bildirir.