Commodore sayı 19, sayfa 58

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 58

PROGRAM OLARAK LİSTELER

Yukarıda kullandığımız REPEAT 4 (FORWARD 50 RIGHT 90) komut ve listesini KARE işlemini tanımlarken kullanmıştık. Yine aynı komut ve listeden yararlanarak, başka bir yoldan da kare çizdirebiliriz. Şöyle ki, (FORWARD 50 RIGHT 90) listesini bir nesnenin içeriği olarak tanımlayabiliriz. Nesnenin ismi L1 olsun:

2MAKE “Li (FORWARD 50 RIGHT 90) 2?REPEAT 4: Li; BURADA BİR KARE ÇİZER RESULT: (FORWARD 50 RIGHT 90) ?

LOGO TEKRARLA komutuyla karşı karşıya geldiğinde, L1'in kapsamını, oradaki liste bir dizi komuttan oluşmuş gibi işleme koyar. L1 nesnesinin kapsamı karenin bir kenarını çizmek için verilmiş komut listesidir.

Adım adım ilerlemeye çalışalım: 2DRAW REPEAT 1: L1; bir kenar çizilir

L1; bir kenar çizilir ?

Karenin iki kenarı çizilmiş oldu. Bir kenarı REPEAT 1 işleminin diğeri RUN işleminin sonucunda. Böylece, LOGO komutu olan RUN sonucunun REPEAT 1'le aynı olduğunu görmüş olduk. RUN komutu, izleyen listenin kapsamını, liste program komutlarını kapsıyormuş gibi işleme koyar.

TO KARE :KENAR REPEAT 4 (FD :KENAR RT 90) END

KARE işlemini aşağıdaki şeylerle birlikte kullanırsak,

2MAKE “L2 80 2MAKE “L3 (KARE :L2)

2RUN: L3; ?

kenar uzunluğu 80 olan bir kare çizilmiş olur. Ne olup bittiğini daha yakından izlemek için, bir başka LOGO komutu olan TRACE'yi kullanabiliriz:

?TRACE RUN :L3 TRACE ON EXECUTING KARE 80 REPEAT 4 (FD :KENAR RT 90) ENDING KARE 2

Böylece, LOGO ilk kez RUN :L3 ile karşılaştığında, L3'ü listeyi kapsayacak şekilde genişletir (KARE :L2). KARE işlemin adı olarak bilinir ve LOGO :L2'yi 80 sayısını alacak şekilde genişletir. Sonuçta, RUN edilecek liste (KARE 80) olarak alınır. Bu uzatma TRACE komutunun ilk satırını açıklar.

İşlemin yürürlüğe girmesinde (TRACE'nin ikinci satırı) parametresi 80 olarak alınır ve kare 80 olur. Bu aşamada izleme işi, (bir tuşa basılmasını beklemek üzere) durur. (Turtle IZLE'de kaybolur ve tuşa basınca yeniden görülür.) Yeniden göründüğünde turtle'ı incelerseniz, çalışmasını sağlamanız için beklediğini fark edersiniz.

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