Small Basic ile programlamaya başlamak

Small Basic ile ilk programını yazmak için ekrana yazdırma, döngü, koşul, alt program ve dizi kavramlarını klavye alışkanlıklarıyla birlikte öğren.

Kodlama Yayın: 6 dk okuma

Programlamaya ilk kez başlayan biri için en zor kısım çoğu zaman kodun ne yaptığını görmeden sözdizimini ezberlemek gibi hissedilir. Small Basic bu sürtünmeyi azaltmak için tasarlanmış, İngilizce anahtar kelimeler kullanan basit bir dildir. Bu yazıda birkaç satırlık bir programdan başlayıp döngü, koşul, alt program ve diziye kadar ilerliyoruz. Her kavramın yanında kısa bir kod ve bir alıştırma var. Kod yazarken parantez, tırnak ve nokta gibi sembolleri de kullanacaksın. Bu da hem programlamaya hem de klavyene aynı anda hazırlık olur.

İlk programın: ekrana yazmak

Bir programın en basit hali, ekrana bir şey yazdırmaktır. Small Basic’te bunu TextWindow.WriteLine komutuyla yaparsın. Komut, metin penceresine bir satır yazar ve imleci bir sonraki satıra taşır.

TextWindow.WriteLine("Merhaba, dünya!")
TextWindow.WriteLine("Bugün klavyede pratik yapıyorum.")

Bu iki satırda üç şeye dikkat et. Yazdığın metin çift tırnak içinde durur. Komutun etrafında yuvarlak parantezler vardır. Satır sonuna noktalı virgül koymaya gerek yoktur. Türkçe Q klavyede ( Shift ile 8 tuşunda, ) ise Shift ile 9 tuşunda yazılır. Çift tırnak ise 1 tuşunun solundaki tuştadır. Bu üç sembolü birkaç kez yazdığında, hiçbirine bakmadan bulabilirsin.

Small Basic programları yukarıdan aşağıya doğru çalışır. Önce ilk satır, sonra ikinci satır çalışır ve böyle devam eder. Bu sıra, programın davranışını anlamanın en temel parçasıdır. İki satırın yerini değiştirdiğinde çıktının sırası da değişir. Bunu denemek, kodun akışını görmenin basit bir yoludur.

Alıştırma olarak ekrana kendi adını, sevdiğin bir rengi ve bir sayıyı yazdıran üç satır yaz. Her satırı kendin yazmaya çalış, kopyala-yapıştır yapma. Bir tırnak ya da parantez eksik kalırsa hatayı bulmak için satırı yavaşça ve sondan başa doğru oku. Bu alışkanlık, ileride daha uzun programlarda sana çok zaman kazandırır. Program kısa olduğunda bu okuma kolay görünür, ama satır sayısı arttıkça aynı dikkat bir sonraki hatayı yakalamanı sağlar.

Döngü: aynı işi tekrar etmek

Aynı satırı beş kez yazmak yerine döngü kullanırsın. Small Basic’te For ile başlayan bir döngü, EndFor ile biter. Aradaki satırlar, döngü her çalıştığında tekrar edilir.

For i = 1 To 5
  TextWindow.WriteLine("Satır " + i)
EndFor

Burada i bir sayaçtır. İlk turda 1, son turda 5 değerini alır. Sayacı ekrana yazmak için metinle birleştiriyoruz; + işareti metni ve sayıyı yan yana koyar. Döngünün içindeki satırı girintilemek kodu okumayı kolaylaştırır. Small Basic girintiyi zorunlu tutmaz, ama okunabilir kod yazmak için girinti kullanmak iyi bir alışkanlıktır.

Bu döngüyü 1’den 10’a kadar çalışacak şekilde değiştir. Sonra metni “Tur” olarak değiştir ve ekranda kaç satır olduğunu say. Sayıyla yapılan bu küçük değişiklikler, döngünün nasıl çalıştığını anlamanın en kolay yoludur. Sayaç değerini değiştirdiğinde çıktının neden değiştiğini kendine açıklamaya çalış.

Bir döngünün içinde başka bir döngü de kullanabilirsin. Ancak başlangıçta tek döngüyle yetin. İç içe döngüler, iki sayacın birbirini nasıl etkilediğini zihninde canlandırmanı gerektirir ve bu, tek döngü yeterince pekiştikten sonra çok daha kolay olur.

Koşul: karar vermek

Program bazen bir şarta göre farklı davranmalıdır. Bunun için If, Then, Else ve EndIf kelimelerini kullanırsın.

notum = 75
If notum >= 50 Then
  TextWindow.WriteLine("Geçtin.")
Else
  TextWindow.WriteLine("Bir daha dene.")
EndIf

Türkçe Q klavyede > işareti Shift ile < tuşuna, = işareti ise Shift ile 0 tuşuna basılarak yazılır. Yani >= yazmak iki ayrı Shift hareketi gerektirir. Bu küçük hareket ilk başta yavaş gelebilir. Her gün birkaç kez tekrarladığında, kodu düşünürken klavyeyle uğraşman azalır ve dikkatin mantığa kalır.

Alıştırma için notu 40 ya da 90 yap ve iki sonucu da dene. Sonra Else bölümünü silip yalnızca If ile çalışan bir program kur. Bu iki denemeden sonra, bir koşulun hangi durumda çalıştığını söyleyebilmelisin. Koşullarda bir de şunu düşün: >= ile > arasındaki fark sınır değerinde ortaya çıkar. Not tam 50 olduğunda >= geçmeyi sağlar, > ise sağlamaz. Bu tür sınır durumlarını birkaç değerle denemek, kodunun beklediğin gibi çalıştığını gösterir. Bunu yapabiliyorsan koşul kavramını anlamışsın demektir.

Alt program: tekrar eden işi bir kez yazmak

Aynı mesajı birçok yerde kullanacaksan onu bir alt program içine koyabilirsin. Alt program Sub ile başlar ve EndSub ile biter. Çağırmak için adının sonuna parantez koyarsın.

Sub MerhabaDe
  TextWindow.WriteLine("Merhaba!")
EndSub

MerhabaDe()
MerhabaDe()

Bu programda mesaj iki kez ekrana yazılıyor, ama mesajın kendisi yalnızca bir kez tanımlanmış durumda. Yarın mesajı değiştirmek istersen tek bir yeri düzenlemen yeterli olur. Alt program adlarında boşluk ya da Türkçe harf kullanmamaya dikkat et. MerhabaDe gibi düz bir ad, hem okunması hem yazılması kolay bir seçimdir.

Alıştırma olarak alt programa bir satır daha ekle ve onu üç kez çağır. Ekranda üç mesaj olup olmadığını kontrol et. Sonra alt programı tamamen silip çağırma satırlarını bırak ve hata mesajını oku. Böylece bir alt programın neden önce tanımlanması gerektiğini de görmüş olursun.

Dizi: birden çok değeri tutmak

Beş öğrencinin notunu ayrı değişkenlerle tutmak yerine bir dizi kullanabilirsin. Small Basic’te dizinin bir elemanına, köşeli parantez içinde bir numara vererek ulaşırsın. Dizi için önceden bir boyut tanımlamana gerek yoktur; bir elemana değer atadığında dizi oluşur.

notlar[1] = 80
notlar[2] = 65
notlar[3] = 90

toplam = notlar[1] + notlar[2] + notlar[3]
TextWindow.WriteLine("Toplam: " + toplam)

Köşeli parantezler Türkçe Q klavyede AltGr ile yazılır. [ için AltGr ile 8’e, ] için AltGr ile 9’a basarsın. AltGr, sağ Alt tuşudur ve sağ başparmağınla basılır. Bu iki sembolü ilk kez yazarken yavaş olmak normaldir. Birkaç gün boyunca her programda birkaç kez kullanınca el bu hareketi öğrenir.

Dizi elemanlarını bir döngüyle de okuyabilirsin. Döngü sayacı, dizinin indeksi olarak görev yapar:

For i = 1 To 3
  TextWindow.WriteLine("Not " + i + ": " + notlar[i])
EndFor

Bu kodda i her turda bir artar ve notlar[i] ile sıradaki notu alırsın. Döngüyü bu şekilde yazdığında, aynı yapıyı beş ya da on elemanlık bir dizide de kullanabilirsin; değişen tek şey döngünün sınırıdır.

Alıştırma olarak dizinin beş elemanı olsun ve ortalamayı hesapla. Önce toplamı bir değişkende tut, sonra toplamı beşe böl ve sonucu ekrana yazdır. Bu, diziye hem değer atamak hem de değerleri okumak için iyi bir pratiktir. Bir döngü ile tüm elemanları ekrana yazdırmayı da denemek istersen, döngü sayacını dizinin indeksi olarak kullan.

Metin uzunluğunu ölçmek

Metinlerle çalışırken bazen karakter sayısını bilmek gerekir. Text.GetLength komutu, bir metnin uzunluğunu verir. Kullanıcıdan alınan bir metnin belirli bir sınırı geçip geçmediğini kontrol etmek için bu komut işine yarar.

ad = "klavye"
uzunluk = Text.GetLength(ad)
TextWindow.WriteLine("Harf sayısı: " + uzunluk)

Bu program 6 yazar, çünkü klavye kelimesinde altı karakter vardır. Boşluklar da karakter sayılır. Örneğin "on parmak" metninde boşluk dahil dokuz karakter bulunur. Alıştırma olarak kendi adını ve soyadını bir değişkende birleştir, aralarına bir boşluk koy ve toplam uzunluğu yazdır.

Küçük bir proje: selamlama ve tekrar

Şimdi öğrendiğin parçaları bir araya getirelim. Aşağıdaki program bir alt program, bir döngü ve metin birleştirme kullanıyor.

Sub Selamla
  TextWindow.WriteLine("Hoş geldin!")
EndSub

Selamla()

For i = 1 To 3
  TextWindow.WriteLine("Tur " + i)
EndFor

Bu programı çalıştır ve her seferinde yalnızca bir satırı değiştir. Önce mesajı değiştir, sonra döngünün sayısını, en son da alt programı çağıran satırı. Her değişiklikten sonra çıktının neden değiştiğini kendine açıkla. Kod okumak, kod yazmak kadar önemli bir beceridir ve iyi bir programcı çoğu zaman yazdığından çok okuyarak ilerler.

Hata çıktığında ne yapmalı

İlk adım, hatanın yerini bulmaktır. Son yazdığın satırı geri al ve programı yeniden çalıştır. Hata o satırda ortaya çıkıyorsa sorun büyük ihtimalle oradadır. İkinci adım, tırnakları ve parantezleri tek tek saymaktır. Açılan her tırnağın ve parantezin kapandığından emin ol. Son adım ise programı daha küçük parçalara bölmektir: çalışan kısmı tut, sorunlu satırı geçici olarak sil ve adım adım ilerle. Küçük parçalar üzerinde çalışmak, hatanın nerede olduğunu çok daha hızlı gösterir. Bu yaklaşım, kodun her parçasının ne yaptığını da kendine netleştirmeni sağlar.

Sonraki adım

Küçük programlarla rahat ettiğinde, adım adım ilerleyen Small Basic kursu aynı kavramları daha uzun derslerle tekrar ettirir. Klavyeni de ihmal etme: haftada birkaç kez hız testini çalıştırıp ilerlemeni izle. Programlamanın neden klavye pratiğiyle bağlantılı olduğunu merak ediyorsan programcılar neden on parmak yazmalı yazısını okuyabilirsin.

Öğrendiğini dene

Hız testi 1 dakika sürer, kayıt gerektirmez. Düzenli çalışmak için 16 haftalık kurslara göz at.

Bu yazının İngilizce sürümü: Getting started with Small Basic

Kodda en çok kullanılan semboller

Kod yazarken en sık karşılaştığın parantez, köşeli ayraç, eşittir ve tırnak gibi sembolleri, Türkçe Q ve F düzenlerindeki yerleriyle birlikte tanı.

Kodlama 6 dk okuma

Programcılar neden on parmak yazmalı?

Kod yazarken gözünü ekrandan ayırmamak ve sembollere hızlı ulaşmak için programcıların on parmak yazmayı neden öğrenmesi gerektiğini bu yazıda bulabilirsin.

Kodlama 6 dk okuma