LOGO Öğreniyoruz (4)
Polyannacılık oynuyor olmak pahasına, sayımıza “Neyse ki geçen sayıdaki dizgi, düzelti vb. gibi teknik süreçlerden kaynaklanan hatalar çok vahim değil” diyerek başlayalım. Dikkatli okurlarımız bunların hata olduğunu zaten anlamış olacaklardır, çünkü yazıda anlatılanlarla verilen örnekler birbirlerini çeliyordu. Biz yine de bu hataların bir listesini verelim: İlk hata ikinci sütunda... Aslı MAKE “AFIF” BECERIKLI olması gereken komut, MAKE “AFIF” BECERIKLI şeklinde çıkmış. Komut bu şekilde yazıldığında, yaratılan nesnenin adı AFIF” olurdu. AFIF değil. LOGO birinci “ işaretini izleyen karakter dizisini bir nesnenin adı olacağı şeklinde yorumlar. Ancak bunu izleyen her karakter LOGO için eşdeğerdir; dolayısıyla ikinci “ işareti, nesnenin adının bir parçası olan bir karaktermişçesine yorumlanır. İkinci hata aynı sütunda, SÖZCÜKLERDEN LİSTELERE başlığının hemen altında. Bu bölümde nesnelerin içeriğini oluşturan sözcüklerin, aralarında bir boşluğun yeralmadığı herhangi bir karakterler dizisi olduğu söyleniyor. Oysa hemen altta verilen sözcük örnekleri arasında 12 EYLUL var. Aralarında bir boşluk yeraldığı için bu karakter dizisi, olsa olsa iki sözcük olabilir. Doğrusu 12EYLUL olacaktı. Bu karakter dizisini boşluk bırakarak, yine de bir sözcük olarak değerlendirebilmek için ne yapılması gerektiği hemen sonra anlatılıyor. “12 EYLUL” şeklinde, tek tırnak (“) içine alınarak yazılması gerekiyor. En vahim hata yazının üçüncü sayfasında yapılmış. İzleyen karakterin bir nesnenin değeri ya da bir parametre olduğunu göstermek için kullanılan : (iki nokta üstüste) işareti, sürekli olarak sanki onu önceleyen komutun bir parçası imiş gibi yazılmış. Örneğin REPEAT 4 :L1 yerine, REPEAT 4: L1 yazılmış. Ya da RUN :L1 yerine RUN: L1 yazılmış. Evet LOGO dili ile ilgili hatalarımız bu kadar. Bir de yazı, daha da doğrusu yazarı ile ilgili bir hata var. Geçtiğimiz sayıda LOGO yazı dizisine başlamış olan Afif Bey ile diziye benim devam edeceğim konusunda anlaşmıştık; buna rağmen, benim günahlarımdan Afif Say sorumlu tutulmuş.
Komutlar ve Kısaltmaları
Aslında bu konu hakkında sizi daha önce bilgilendirmeliydik ya, neyse... Şimdiye kadar LOGO komutlarında hep FORWARD, RIGHT vs. diye bahsettik. Oysa, LOGO hakkında başka kitaplar da karıştırdıysanız, bu saydığımız komutlara denk düşen FD, RT gibi ibarelerle karşılaşmışsınızdır. Çünkü LOGO komutların çoğunu hem tam ve uzun halleriyle, hem de kısaltmalarıyla tanır. Aşağıda size şimdiye kadar görmüş olduğumuz bütün LOGO komutlarının listesiyle birlikte, varsa bu komutların kısaltmalarını da veriyoruz. Komutu izleyen X, Y gibi harfler, komutla birlikte verilmesi gereken parametreleri gösteriyor.
Komut Kısaltması İşlevi —
FORWARD X FD X Kaplumbağayı X kadar ilerletir. Kaplumbağayı X kadar geriletir. Kaplumbağayı X açısı kadar sağa döndürür. Kaplumbağayı X açısı kadar sola döndürür. LOGO'ya sizin X adlı ve :Y parametresini alacak bir işlem tanımlamak istediğinizi bildirir ve sizi Editör'e sokar.
BACK X BK X
RIGHT X RT X
LEFT X
TOX:Y yok
PRINTOUT TITLES POTS Tanımlayıp diskete kaydetmiş olduğunuz işlemlerin listesini verir. Y komutlarını X kadar tekrarlar. O ana kadar yapmış olduğunuz çalışmaları adlı bir dosyada saklar. Diskete kaydetmiş olduğunuz bütün çalışmaların listesini verir. Daha önce adı altında save edilmiş çalışmaları disketten okur. Yazdığınız herhangi bir işlemin kalıcı bir tanıma dönüşmesini sağlar. (Aynı şeyi RUN/STOP tuşuna basarak da gerçekleştirebilirsiniz).
REPEAT XIYI
SAVE “X yok
CATALOG yok
READ “X yok
CTRL-C yok
IF X THEN Y ELSE Z Basic'tekinin aynı. X koşulu doğru ise Y işlemi yanlışsa Z işlemi yapılır. (Komut ELSE'siz de kullanılabilir). “X nesnesine Y değerini verir. Yoksa yaratır. Y bir sözcük (sayı ya da karakter zinciri) ya da liste olabilir.
yok
MAKE “X Y yok
Bundan böyle örnek programlarımızda komutlarını kullanacağız.
Bazı Kolaylıklar
Buraya kadar aslında size LOGO'nun kullanımından çok mantığını öğrettik. Şimdi ise LOGO'nun kullanılmasını sadece mümkün değil, alabildiğine kolay kılan bazı temel komutları göreceğiz. Normal olarak LOGO disketini yüklediğinizde, karşınızda tek renkli (genellikle koyu mavi) bir ekran belirir. Bu ekrana metin ekranı (textscreen) diyoruz. Bu noktada karşınızda kaplumbağa filan göremezsiniz. Kaplumbağaya ulaşmanın üç (daha doğrusu dört) yolu vardır. Çok basit olarak “kaplumbağayı göster” anlamında SHOWTURTLE (kısaltması ST) diyebilirsiniz. Bu takdirde metin ekranı ancak beş satır içerecek kadar küçülecek, üstünde çizim (DRAW) ekranı belirecektir. Aynı sonuca DRAW komutunu vererek de ulaşabilirsiniz. Bu şekilde parçalanmış ekrana SPLITSCREEN diyoruz. Dolayısıyla, aynı sonuca SPLITSCREEN diyerek de ulaşabilirsiniz. SPLITSCREEN'in kısaltması yok. Onun yerine F3 tuşunu kullanıyorsunuz. Bazı durumlarda yapacağınız çizim parçalı ekran (splitscreen) için fazla büyük gelebilir. Bu takdirde, FULLSCREEN komutunu vererek (ya da tuşuna basarak), beş satırlık metin ekranından tamamen kurtulabilirsiniz. Bazı durumlarda ise çizimle hiç ilgilenmiyor olabilirsiniz. O zaman da TEXTSCREEN komutunu vererek (ya da F1 tuşuna basarak) çizim ekranından tamamen kurtulabilirsiniz. Şimdi diyelim ki DRAW komutunu verdik, parçalı ekrana geldik ve istediğimiz herhangi bir işlemin adını yazarak kaplumbağaya bir şekil çizdirdik. Şimdi de başka bir şekil çizmek istiyoruz. Ne yapacağız? İki seçenek var. DRAW derseniz başladığınız yere geri dönersiniz. Yani daha doğrusu ekran silinir, kaplumbağa da ekranın ortasındaki yuvasına geri döner. CLEARSCREEN (kısaltması CS) komutunu verirseniz, ekran silinir ama kaplumbağa neredeyse orada kalır. Evet, mantığını ve bu temel komutları öğrendikten sonra artık LOGO'yu kullanmaya başlayabiliriz.
LOGO'nun Renkleri
Geçtiğimiz sayıda bütün LOGO terimlerinin ya bir işleme ya da bir nesneye (ya da onun içeriğine) işaret ettiğini görmüştük. Ayrıca bazı işlemlerin temel, bazılarınınsa türetilmiş olduğunu zaten biliyorsunuz. Örneğin FD ya da RT gibi işlemler temel ya da asli (primitive) işlemlerdir; sizin tanımlamalarınızdan bağımsız olarak vardırlar. Dolayısıyla LOGO disketinizi her yüklediğinizde, hemen bu işlemleri kullanmaya başlayabilirsiniz. Oysa türetilmiş işlemler, başka bir deyişle sizin tanımladığınız işlemler, ancak sizin tarafınızdan önce SAVE edilmiş, daha sonra da çalışma seansınız sırasında READ edilmişse, LOGO tarafından tanınacaktır. Şimdiye kadar görmemiş olduğumuz, ancak kullanılması en kolay ve zevkli olanları, ekran ve kaplumbağanın (daha doğrusu, hem kaplumbağanın, hem de kaplumbağanın çizdiği çizgilerin) renklerini belirleyen işlemlerdir. Önümüzdeki sayıda bunlara değineceğiz. Şimdilik hoşçakalın... O