Merhaba Sevgili Okurlar,
Bu dersimizde kaldığımızdan yerdem son hızla Small Basic’e devam ediyoruz. İlk olarak sizlere değişkenleri ve değer atamalarını göstereceğim. Bir önce ki derste bir takım veri türlerini tanımıştık. Şimdi bunlarıda kullanarak program yazmaya devam edeceğiz. Açın Small Basic’i ve beraber kodlamaya başlayalım. Kodları bilerek buraya eklemiyorum.
Kopyala,yapıştır yapmayın diye bilerek resim halinde yayınlıyorum. Ne kadar çok yazarsanız o kadar hata yapmadan ve hızlı kodlama yapmayı öğrenirsiniz.
Şimdi ilk olarak değişkenleri anlatayım size ve bununla beraber operatörleride anlatacağım. İlk operatörümüz “=” yani eşittir operatörü. Bu operatör internette dolaşan bir sürü hatalı tanımın aksine yaptığı iş sağ taraftaki bellek bölgesini alıp sol tarafa KOPYALAMAKTIR! Taşımıyoruz burada dikkat edelim. Kopyalıyoruz. Bunu biraz daha açıklayalım. Mesela elimizde Hakan DAMAR ile Web Programlama Eğitimleri,23 ve 45.12 değerleri olsun. Bunları daha önceki bilgilerimizden yola çıkarak değerlendirirsek,
Hakan Damar ile Web Prog.. => String bir veri türüdür.
23 => İnteger(int) bir veri türüne sahiptir.
45.12 => ise Double veri türüdür.
Şimdi biz programdaki bu datalara farklı yerlerde ve değiştirerek erişmek isteyebiliriz. Örneğin ileride göreceğiniz karar,kontrol mekanizmalarında bir string’in bizim verdiğimiz değere eşit olup olmadığını kontrol etmek isteyeceğiz. Bu durumda elimizdeki ilk string değerin hepsini yazıp bu eşit midir? sorusunu sormak daha kolay yoksa onu temsil edecek “hkn” isminde bir değişken oluşturup onu mu? yazmak daha kolay? Tabiki hkn olarak ifade etmek daha kolaydır. Bunun yanında ileride programımız büyüdüğünde artık değişkenlerin taşıdığı değerleri bilsek bile veri türlerinden emin olamayız. Yani Sayi3 isminde ve “Atilla Efe” değerine sahip bir değişken olabilir. Bu string’dir ama Sayi3 ismi verilirse biz bunu ileride bir sayi olarak değerlendirmeye çalışacağız ve programımız çökecektir. Bu sebeble değişkenleri adlandırırken taşıyacağı veri türüne ve veriye uygun bir isim yazmamız gerekmektedir. Örneğin;
Yas = 7
Adi = “Hakan”
Soyadi = “DAMAR”
Meslek = “Yazılım Uzmanı”
Maas = 5.650 gibi değişken tanımlamaları yaparsak ileride Maas değişkenini gördüğümüzde bunun int veya double olabileceğini tahmin etmemiz daha kolay olacaktır. Şimdi bu tablodanda anlaşılacağı gibi değişkenler şu şekilde tanımlanmaktadır.
<DegiskenAdi> = <DegiskenDegeri> şeklinde tanımlanmaktadır. Daha önceden de bahsettiğim gibi = operatörü bu durumda sol taraftaki veriyi alıp sağ taraftaki bellek bölgesine kopyalayacak ve artık sağ taraftaki bellek bölgesi sol tarafı ifade edebilir şekilde olacaktır. Hemen SB üzerinde birkaç değişken tanımlayıp. Ekran çıktısına beraberce bakalım.

Gördüğünüz gibi değişkenlerimizi eşittir operatöründen yararlanarak tanımladık ve doğru tanımladığımız değişkenler hemen SB Editörümüzün kod tamamlama özelliğine dahil edildi. Böylece ileri bir değişkene ihtiyacımız olduğunda editörümüz bize hatırlatmaktadır. Buda hatalı kod yazma oranımızı ciddi şekilde düşürmektedir. Programımızı çalıştırdığımızda Ekrana 405870138 yazacaktır.
Biliyorum siyah ekran üzerinde çalışmaktan pek hoşlanmıyorsunuz ama kodlara yoğunlaşabilmeniz adına şimdilik bu gereklidir ama kodlarımıza biraz renk katabiliriz.
Şimdi programı aşağıdaki şekilde yazarak tekrar çalıştırınız.

Burada ilk defa karşılaştığınız iki tane nokta var birincisi TextWindow.ForegroundColor diğeride “+” artı operatörü. Operatörler farklı yerlerde kullanıldığında farklı davranırlar. Şimdiye kadar bir tane operatör öğrendiğimizden eşittir üzerinden örnek verelim. Eşittir normalde yukarıda da dediğimiz gibi sol taraftaki data’yı alıp sağ tarafa atamamıza yarıyordu ama ileride göreceğimiz karar kontrol mekanizmalarından IF…Then..EndIF yapılarında karşılaştırma işleminde de kullanılmaktadır.Dikkat edelim burada karşılaştırma yapmıyor sadece kullanılıyor. Karşılaştırma işlemini IF ifadesi yapmaktadır. Bunu ileride anlatacağımdan şuan girmiyorum. Bunun gibi “+” artı operatörü’de string değerler ile beraber kullanılırsa birleştirme operatörü işlevini görür. Sayılsa ifadeler arasında kullanılırsada toplama işlevini sağlamaktadır. ForegroundColor ise ekrana bastırılacak datanın hangi renkte olacağını belirlemektedir. Alabildiği renk türleri bu versiyonda aşağıdaki gibidir.
- Black
- Blue
- Cyan
- Gray
- Green
- Magenta
- Red
- White
- Yellow
- DarkBlue
- DarkCyan
- DarkGray
- DarkGreen
- DarkMagenta
- DarkRed
- DarkYellow
İleride tabiki bu renkler dahada çoğalacaktır. Eğer bu renk paletleri dışında bir renk yazarsanız SB otomatik olarak değeri White’a yani Beyaz’a çekmektedir. Bu yüzden hatalı bir renk verdiğinizden dolayı programınız çökmez ama verdiğiniz renk palette yoksa beyaz renkte gösterir. Bu yüzden eğer verdiğiniz renk çıkmıyorsa bu paleti kontrol ediniz.
Programımızı çalıştırdığımızda karşımızı şu şekilde birazda olsa renkli bir ekran çıkmaktadır.

Gördüğünüz gibi “+” (artı) operatörü ile string’leri birleştirdik ve burada dikkat etmeniz gereken bir nokta tırnak içerisinde verdiğiniz boşluklarda sayılmaktadır. Yani iki string ifade arasında boşluk bırakmak istiyorsanız kapatma tırnak işaretinden hemen önce bir kere space(boşluk) tuşuna basınız.
Şimdiye kadar hep yazdıkta, yazdık peki kullanıcıdan gelen verileri nasıl alacağız? Eğer, hatırlarsanız size TextWindow class’ını anlatırken okuma ve yazma yapar demiştim. Şimdiye kadar verileri yazdırdık. Şimdide sıra verileri okumakta. Ekrandan girilen verileri şu şekilde okuyabiliriz.

Şimdi burada açıklamam gereken ilk nokta TextWindow.Write() fonksiyonu ne işe yarıyor. Bu fonksiyonun WriteLine() fonksiyonundan tek farkı verilen datayı ekrana yazdıktan sonra bir satır aşağı geçmemesidir. Genelde ekrandan veri okutmak istediğimiz zamanlarda kullanırız. Bunun dışında Ms SB diğer bir çok programlama dilinde olduğu gibi kodların hepsini okumakta fakat satır,satır yorumlamaktadır. Bunun doğruluğunu bu kodlar üzerinden iki şekilde kontrol edebilirsiniz.
- Eğer kodların tümünü okuyup bir kerede hepsini yorumlasaydı. Hangi takımlısınız: yazısıda açık pembe olması gerekiyordu. Ama bizim programımızda 3. satırdan sonraki yazılar açık pembe olmuştur.
- Kodumuzun içerisinde Program.End() komutu var. Bildiğiniz üzere bu kod yorumlandığı anda program sonlandırılmaktaydı. Demek ki üst taraftaki satırlardaki kodların yorumlanma işlemlerinin tamamlanmasını beklemektedir. Yoksa çalıştırdıktan 3,5 saniye sonra programın kapanması gerekiyor. Programınızı açarak 5′e kadar sayabilir ve programınızın kapanmayacağını görebilirsiniz.
Bu programda direk TextWindow.WriteLine(Takim) ‘da diyebilirdik. O zaman ekrana sadece yazdığınız takımı açık pembe şeklinde yazacaktı. Fakat hemen bir önceki konuda öğrendiğimiz artı operatörünüde kullanarak bilgilerimizi daha da pekiştirmiş olduk. Böylece ekrandan okuduğumuz datanın başına,sonuna veya ortasına istediğimiz datayı yazdırabileceğimizi öğrendik.
Burada bir de değişken tanımlama işlemi yaptık fakat değer olarak bir class’ın bir metodunu verdik. Belki, diyebilirsiniz bu ne int nede string
ama ben size ilk başta bunu sorabileceğinizi düşünerek en temel açıklamalayı yapmıştım. Sağ taraftaki bellek bölgesini artık sol taraftaki data ifade etmektedir. Yani bizim için TextWindow.Read() artık bu program süresince Takim ‘dır. Şimdi bunuda daha iyi anlatmak için değişken kullanmadan programızı düzenleyip tekrar aşağıdaki şekilde yazarak çalıştıralım.

Programımızı çalıştırdığımızda ekran görüntüsü aşağıdaki şekilde olacaktır.

Gördüğünüz gibi aynı programı yazdık fakat daha uzun ve anlaşılması daha zor bir kod mimarisi ortaya çıktı. Burada Takim yerine direk TextWindow.Read() yazdık ve aynı işlemi yaptırdık. Burada bir bilgi daha vermek istiyorum. Yukarıdaki kod bloglarında bir yazı görmektesiniz bunu normalde programın içine yazarsanız derleme aşamasında hata alacaksınız. Ms Small Basic ile kodlama yaparken eğer bir yerde açıklama satırı yazmak isterseniz Tek tırnak işaretini kullanabilirsiniz. Böylece IDE başında Tırnak ” ‘ ” işareti olan satırı dikkate almadan yoluna devam edecektir.
Birazda sayılarla ve matematiksel işlemlerle uğraşalım değil mi?
Korkmayın basit işler yapacağız ve bizim yerimize hesaplama işlemlerini SB’e yaptıracağız
Tembelliğe devam yani…
Daha öncede bahsettiğim gibi artı operatörü ile sayılar arasında toplama işlemi yaptırabiliyorduk. Şimdi değişken kullanalım,kodlarımızı renklendirelim ve kullanıcıdan veri alalım. Bakalım neler yapacağız.

Programımızı çalıştırdığımızda şu şekilde bir ekran çıktısı üretecektir.

Şimdi burada diğer işlemlerin örneklerinide yayınlayarak makalenin boyutunu uzatmak istemiyorum. Bunun yerine Toplama,Çıkartma,Çarpma ve Bölme işlemlerini yaparak size makale bitimindeki kaynak kodları kısmında sunacağım. İndirerek inceleyebilirsiniz.
Bir sonraki dersimizde ekrandan sayı okuma ve işlem önceliği için parantez kullanmak gibi örnekler yaparak yeni metodlar öğreneceğiz. Hemen ardından artık karar kontrol mekanizmalarına geçerek, gelen verilere göre sürekli olarak cevaplar verebilecek daha akıllı programlar yazacağız.
Örnekleri iyice inceleyerek kendinizde örnekler üzerinde değişikler yaparak çalıştırınız. Ardından şimdiye kadar öğrendiğiniz tüm bilgilerinizi kullanarak kendiniz bir program yazmaya çalışınız.
Bundan sonraki derslerde artık daha da eğlenmeye başlayacağız. Güzel konular var sırada.
Buraya tıklayarak tüm kaynak kodları ve yazdığımız örnekleri indirebilirsiniz.
Saygılarımla,
Hakan DAMAR
burak06
19/03/2009 at 14:05
Ellerine sağlık böyle bi ders verdiğin için teşekkürler bende senin sayende inş program yazmayı öğrenicem.Kaç günde bir yeni ders update’liyosun?
burak06
19/03/2009 at 17:55
hocam msn adresini verebilirmisin ben bu yeni dersleri bekleyemicem
takıldıgım yerlerde sizden yardım almak istiyorum
JoJo
30/04/2009 at 17:34
Siteye yeni üye oldum çok güzel bi siteniz var. Siteye üye olma yerini bulmak gerçekten çok zor 1 haftadır çabalıyodum sonunda buldum
.
Ayrıca Burak06 arkadaşım için göndermek veya yüklemek kelimeleri varken update demen beni üzüyo dilimiz yozlaşıyo sonuçta
.
Bu konu geçen yılın sonlarına doğru yazıldığına göre …