Commodore sayı 19, sayfa 56

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 56

DR. AFİF NEZİHİ SAY

Ortalık karışmadan önce, şimdiye kadar kapsamış olduklarımızı kısaca bir hatırlayalım: LOGO dilinde kullanılan her terim ya bir işleme (procedure) ya da bir nesneye (object) işaret eder. kasıt diğer dillerde “değişken” adıyla bildiğimiz şey. Ama sizi LOGO'- yu öğrenirken diğer dillerin mantığının pek yararlı olmayacağı konusunda da uyarmıştık. LOGO'da sayısal dediğerleri, hatta değişkenlerle parametreler arasında bir fark gözetilmez; hepsinden aynı şekilde söz edilir. Şimdi de hangi tür terimin neye karşılık geldiğini tekrarlayalım: Eğer herhangi bir terimi yalın halinde, yani önüne hiçbir işaret koymaksızın kullanırsanız, LOGO bunu bir işlemin adı, yani bir komut olarak yorumlar. Diyelim ki kullandığımız terim AFIF. Eğer daha önce bu ad altında bir işlem tanımlamıştıysanız, LOGO bu terimle karşılaştığında işlemi yerine getirecektir. Yoksa,

THERE IS NO PROCEDURE NAMED AFIF diye bir hata mesajı verecektir. Eğer kullandığımız terimden önce bir “işareti kullanırsak, LOGO bu terimi bir nesnenin (değişkenin) adı olarak yorumlayacaktır. Aynı nesnenin içeriğine ulaşmak istiyorsak, yani doğrudan doğruya bir değerden söz etmek istiyorsak, bu kez terimin başına bir : işareti koymamız gerekiyor. Örneğin “AFIF yazdığımız takdirde, LOGO bir nesne adı olarak yorumladığı bu terim karşısında hiçbir şey yapmayacak, yalnızca nesnenin adını yankılayacaktır. Yani bize

AFIF diyecektir. Eğer AFIF nesnesinin içeriğine, yani AFIF'- in taşıdığı değere ulaşmak istiyorsak, bu kez :AFIF yazmamız gerekiyor. Ama bu takdirde de, LOGO bize

THERE IS NO NAME AFIF hata mesajını verecektir. Ne oldu? Hiç, sadece henüz AFIF nesnesi ile bir değeri eleştirmemiş olduğumuz için, LOGO AFIP'i tanımıyor. Bunu yapmamızı, herhangi bir nesneye değer vermemizi mümkün kılan komut (işlem) ise MAKE.

MAKE iki parametre alır; bunlardan birincisi değer verilecek nesnenin adı, ikincisi de nesnenin alacağı değerdir. Eğer bu nesnenin taşıyacağı değerin bir sözcük, yani bir karakter zinciri olmasını istiyorsak, o zaman bu sözcüğün de başına “işaretini koymamız gerekiyor. Eğer nesnenin içermesini istediğimiz değer sayısalsa, o zaman sayının kendisini yazmamız yetiyor. Yani,

MAKE “AFIF” BECERİKLİ

diye yazdığımız takdirde, artık AFIF nesnesi, BECERİK-Lİ değerini taşıyacaktır. Bu yüzden, şimdi :AFIF yazdığımız takdirde, LOGO bize diyecektir. Keza, MAKE “AFIF 20 komutundan sonra, :AFIF teriminin cevabı 20 olacaktır. SÖZCÜKLERDEN LİSTELERE

Nesnelerin içeriklerinin sayısal ya da karakter olabileceğini gördük. Ancak şimdiye kadar gördi içeriklerin ortak bir özelliği var: Hepsi de tek bir sözcük uzunluğundaki içerikler. Yani LOGO sayıları da birer sözcük olarak yorumluyor. Bu yüzden bundan sonra nesnelerin içeriğinden söz ederken genel olarak “sözcük” terimini kullanacağız. Bir sözcük, aralarında boşluk bulunmayan herhangi bir (sayısal ya da değil) karakterler dizisidir. Bazı örnekler:

28 3.1476 ÇEKOSLOVAKYALILAŞTIRAMADIKLARI-MIZDANMISINIZ? BEN 12 EYLUL

Peki, ya benim sözcüğüm boşluk da içersin diyorsak, ne yapacağız? O zaman da (tek tırnak) işareti kullanmamız gerekiyor. Aşağıdaki örnekler de birer sözcüktür:

Klavyeyle gezinmek için ← ve → tuşları.